So here's some hardcore theorycrafting.
Completion time is essentially the time it takes for creating one product, multiplied by the number of products (generally 6), and then with an overhead of how long it takes for the last reagent in a product to get from generation to when it's dropped off in the product area.
In other words, if
Code:
time to make one product = Tp
# products = N
cycles for last product to complete = Tl
completion time = (Tp * N) + Tl
Tp is optimizable simply based on how fast Reagents can generate output, which is hard-capped at two cycles per reagent. (one cycle for an arm to grab, another cycle for that arm to move away)
Tl is optimizable based on these factors:
- moving a reagent to any function (bond, unbond, transmutation, product goal) is one cycle
- changing arms delays by one cycle since
you cannot release with one and attach with another in the same cycle, it throws an error you cannot grab an element on the same turn it moves into a tile or is generated. edit: Corrected this statement.
Therefore to optimize Tl, the absolute last reagent in a product should always have each cycle after it's generated contributing something to the assembly of the product with no wasted moves. This is most simply done by having one arm carry that last reagent from start to finish, but other solutions exist.
To demonstrate, here's Hangover Cure
In Hangover Cure, since each product requies the reagent to output three times, Tp = 2*3 = 6. The last reagant in each product takes 3 cycles (calcification, bonding, goal), or Tl = 3
Cycle completion time hence is (6 * 6) + 3, or 39.
It should theoretically be possible with a more elaborate setup to have the last reagant be the middle Elemental Water, reducing Tl to 2 (bonding, goal) and an optimized time of 38.
And here's Airship Fuel
Since the Product requires 4 elements and we have 3 generators, the calculation gets a little more complex. The solution relies on grouping 3 products together (12 elements needed) and since 3 reagents take 8 cycles to generate that, we end up with Tp = 8 and N = 2
Tl is 3 cycles, similar to the solution for Hangover Cure. HOWEVER, due to a collision in sending finished Products to the goal, the last one has to be delayed for 1 cycle, hence the final cycle count is (8 * 2) + 3 + 1, or 20.
It should theoretically be possible to create a far more complicated setup where the last three reagents generated complete one product instead of two, eliminating that collision, but I don't think I really even want to begin to fathom how that'd work.
edit: I'm noticing a bug in the GIF generation in Airship Fuel, heh.
edit2:
It should theoretically be possible with a more elaborate setup to have the last reagant be the middle Elemental Water, reducing Tl to 2 (bonding, goal) and an optimized time of 38.
edit3: Found this
19 cycle Airship Fuel solution on Reddit
insert another pokerface here