Seems there is a little bit of interest, I'll explain a little bit about how Lisbeth 2.0 works, and why it's taking me so much time. Setting aside obvious bugs, as wonder1995, the current Lisbeth has a lot of problems, mostly stemming from its decision making: it uses behavior trees, like a combat routine, to craft. The thing is that crafting is not the kind of problem that lends itself to behavior trees, because it is mostly predictive. In order to know what skill to use on Step 1, you need a good grasp on what you'll do on Step 2 -> Step 30.
Crafting in FFXIV can be modeled as a decision tree, where each node encapsulates all the variables relevant to the craft. You use a skill on a node, and produce a new node with different stats. This kind of problem is difficult to solve because it ends in a combinatorial explosion. Setting aside randomness, just to find the "ideal macro" for a specific recipe with specific stats, considering around 15 or so usable skills, and 25 or so total steps for large crafts, you'd need to search 25^15 nodes. It's a very big number, and even the fastest computer would spend hours, if not days calculating it at full throttle.
Because of this, some people have tried to use stochastic search methods, like evolutive algorithms, to find the "ideal macro". This
site gives you a good example. However, after thinking it through, I decided to try a different approach. Lisbeth 2.0 is based around a deterministic search algorithm, that uses some very aggressive pruning techniques based on assumptions and patterns that good crafters out there have shown to use. It uses a "divide and conquer" approach to the search, splitting the entire 30+ steps into stages with specific goals, and then performs some secret sauce magic to combine the results. Here's how it looks like:
Input are the player's stats, recipe stats, and known skills. All of this input can be changed to whatever. This is for
Twinthread:
The output is a static sequence of skills that maximizes quality while guaranteeing completion. Basically, the "ideal macro":
Now that the static macro generation is working, I'm finishing the final touches for the "real time" solver, which takes into account the randomness of conditions. It took me a long time to figure out the exact algorithm, make the internal simulator needed to expand the tree, test it, etc. I am happy with the results so far, so I've began to make the Rebornbuddy part of it (which is minimal, just send spells and read stats) and then I'll further test it inside the game to see how it goes.
Hopefully it should work well, so far it's beaten all the "macro generators" out there that I've tested against. Now it's just a matter of implementing it into Rebornbuddy.