Neverdyne
Community Developer
- Joined
- Sep 12, 2014
- Messages
- 649
^
this means you have released a new version? Not according to SVN - still revision 37 ? ^.^
Not yet, it's the version I'm working on right now.
^
this means you have released a new version? Not according to SVN - still revision 37 ? ^.^
What sort of algorithm/heuristic are you using for the new version?
Have you updated Agil recently. I saw this error before and updated Agil to correct it.
It uses an internal crafting simulator to expand a crafting tree, where each node is a resulting state from using a specific skill on the previous node. The tree is huge so it cannot be searched exhaustively to find the ideal sequence of skills, but by using a divide and conquer approach that separates the entire sequence into stages, each with different goals and limits, it can search for smaller sequences that are optimal for each individual stage. It also uses some very aggressive pruning techniques to reduce the size of the tree.
Right now I have the simulator made, and two of the three stages are being tested. The remaining stage, which is where inner quiet stacks are increased, is the longest step wise so it's got me a little nervous to see if it'll be searchable through a simple depth first with pruning or not. If it's still too big for that, I might end up resorting to simple Hasty Touch - Mend cycles with logic for different conditions.
So the idea is to search for the ideal sequence of skills to optimize the quality of the craft and guarantee its completion. The cool thing about it is that it has no hard coded skill usage aside from a very small part on the finisher stage (which is constructed differently if you have Byregot or not). This means it can work with any combination of skills you might have, from level 1 with no cross skills to level 50 with all of them, and still tries to achieve the best result.
cool cool, I have a standalone crafting bot coded for a while now, my strategy is slightly different from yours, I broke the problem into 3:
1) A deterministic tree search to see if we can finish the craft. (minimax, somewhat similar to what you're doing I think)
2) A deterministic quality search ,the bot finds 15 step solutions to crafts instantly!
3) A rule based system to take risks.
The only flaw my bot has is estimating long terms probalistic gains, but this is almost a non-issue unless you're doing those 8k quality items, the bot is pretty much better than humans hehe.
I'm just lazy to port it to RB.
I'd really like to see your simulator model, my model is decent, but level penalties and ingenuity1/2 effect on lower level items could be improved.
would it be possible to add Desynth to Lisbeth?
That sounds very interesting indeed. For the simulator model, I got the quality / progress formulas from another simulator I found somewhere that seemed to produce values close to reality. From the tests I made, they provided good predictions but am not 100% certain it'll hold for every recipe level difference. The simulator itself I ended up writing it from scratch as a separate project so it doesn't depend on RB's libraries. So far I've tested each skill in unit tests and they seem fine, but we'll see once sequences are run.
I'm really curious to know how you'd handle the randomness from Tricks of the Trade. Right now what I ended up doing was separating the three stages as so:
3. Finisher Stage - Calculates a small sequence of steps based on known skills to make the biggest Byregot. Only considers things like Great Strides that buff it, while allowing for 1 to 2 synth skills max. The result is something like Steady Hand->Great Strides->Innovation->ING2->Byregot's->CSII->CSII depending on the skills the player has. The synth skills here are to take advantage of the Ingenuity buff. If the player doesn' thave Byregot then the finisher is simplified to only a single synth skill with 100% success chance.
1. Progress Stage - Only cares about increasing progress, with the goal to leave it at a point where the finisher stage's progress completes the craft.
2. Quality Stage - Starts with the resulting node of the progress stage and finds the sequence to maximize quality while leaving the needed resources for the finisher stage.
Then it strings each stage as Progress - Quality - Finisher, generating the complete sequence. The problem is how to treat Tricks. Right now how it works is by reacting to it, instead of messing with probability. It interfaces with Rebornbuddy by telling it what skill to use next each tick. Then after using it, if a Tricks can be used next, it is given preference depending on conditional rules and in what stage it is, after which the remaining sequence for that stage is recalculated with the new CP gain taken into account on the root node. The finisher stage is calculated only once and never changes, but will give preference to Byregot during its sequence based on rules regarding excellent condition. The other stages are recalculated whenever a tricks happens.
I'm also very curious on what the risk taking rules you use areBut yeah the Quality / Progress formulas are my main concern, if they aren't good nothing is good. Friggin Square should tell us how it's calculated. The ones I'm using resemble the ones here, which are based on some reddit posts. But the simulator here seems to produce values closer to reality. Sadly he doesn't tell what formulas he's using
![]()
- Name: Bronze Ingot
Amount: 1
Strategy: Black Lotus
HQMats: [1, -1]
Having an issue crafting multiple items. It will craft the first item, crafting all the necessary sub items correctly. When it moves to the next item, it states:
[09:13:17.848 N] [Synthesize] We don't have enough Normal Quality Aldgoat Leather (5277) (or whatever it is) in our inventory
and won't craft the sub items again to create the next item.
I have all of the required items for all of the crafts (thank you fyi, the bot compiles a missing item list which is useful). have been crafting one item, then deleting that item from orders.
Attached is log and orders.
View attachment 172993
View attachment 172994
Any idea on this? Also tried using the LisbethHelper plugin to create the order, but still having the same issue of only creating one item in the series.
Well, the order doesn't have Fingerless Goatskin Gloves. Are you sure that's the one? Are they a component for something else?
Can you see in the window if when that happens the correct material amounts are set right before the error happens?
When the error happens, is that a component for the next order? Or is it the order item itself?
It is a component for the next order that is causing the hang up.
Try to do it without Starry Night Miter, that might be causing it. If you specify a strategy, then all components for that order will use that strategy. That might be causing failures to complete components.