I am not sure where my old writeup went for alchemy and crafting, but here is a few thoughts.
The current system has x + y + successful check(s) = z. All the possible conditions are put in a hard to alter grouping of code.
A rework to the system would be best done by having multiple tables associated with reactions (function calls) and possible check values.
A simple example would look something like this:
Table_Cheddar+Hamburger
Normal Outcome: Cheeseburger
roll prefix
500 golden
400 gilded
300 silver
200 silvered
100 copper
50 overwrite failure mush
The actual probability would require some arbitration for values. Inherent value (sell value) could be a starting constant with associated modifier variables for each object.
Set Roll = 1d2*inherentvalue_1*modifier_1+1d2*inherentvalue_2*modifier_2
Call Roll
if Roll <= [((inherentvalue_1*modifier_1+inherentvalue_2*modifier_2)*3/2)+1]
then overwrite failure garbage_1
if Roll > [((inherentvalue_1*modifier_1+inherentvalue_2*modifier_2)*3/2)+1]
then goto table_Cheddar+Hamburger
Endif
End
The 3/2 value just means that the person performing the action would always have more than a 50% chance of failure. The most common macrostate associated with this method would occur at 3/2 of the die roll. Thus, (no matter how much skill the character had) there would always be opportunity costs.
This method of production would be high efficiency and easily changed. Since the roll would be the opperative function, the table calls could always be changed easily. If the tables were setup to run from highest value situations to smallest, the fundamental objects would just be synthesis poofs in order of roll number.
A big problem with resetting the entire alchemy system would be trying to isolate the known command. This might have already been done, I am unsure.
This method could be used for alchemy, crafting, poisoncraft, weaponcraft, and armorcraft. Sitting out and hammering what reagent combinations creates which new objects would probably be your main problem. I recommend sticking to Feynman diagram type interactions though (x + y = z is much simpler to deal with than x + y + k + p =z, better for players trying to figure out the system too).
Simplistically, you would be putting together systems like this:
x_1 +y_1 = x_2; x_2 +y_1 = x_3; x_2 + y_2 = y_3 (notice how it could get confusing if a GM get together wasn't called to iron out details?)
Any thoughts?
