ZoopOTheGoop / ffxiv-crafting-solver

A lot of abstract math done on reinforcement learning just to solve crafting in a video game
Other
0 stars 0 forks source link

Figure out what to do about Condition changes #14

Open ZoopOTheGoop opened 1 year ago

ZoopOTheGoop commented 1 year ago

Right now, Condition is stored separately from the crafting state. This was done because the solver doesn't always want to randomly roll a condition, and since StateDelta doesn't hold an Rng (for good reason) and we want to use it with +, it's not great to reroll condition there.

However, this makes the effects of certain specialist actions... wonky, and we're going to want to allow specialist stuff for expert recipes.

Really, the easiest fix is that the semantics of the time_passed field aren't right. This is the difference between FinalAppraisal and CarefulObservation, and currently we essentially treat them the same making this a bug in semantics. While encapsulating the condition in the CraftingState may or may not be the right things to do, ultimately the most important thing to do is to fix the semantics of gen_succ by addings something like a separate condition_cycle: bool field.