Research Automation Combinator


An advanced combinator that can modify the research queue and output research-related signals based on input signals.

Utilities
10 days ago
2.0
330
Circuit network

i Read full research queue?

a month ago

I've been playing around with this mod a bit, and it seems like there's no option to read the full research queue, only the technology currently being researched? This seems like an important missing feature, because there's a couple things I'd really like to be able to do with a mod like this.

Trigger science pack production (i.e. spoilable agricultural science packs)
Use research combinator to read research queue -> Use decider combinators to filter against a list of all relevant techs -> Activate production line

Sort research queue depending on pack availability
Use research combinator to read research queue + Use circuit network to detect if a given science pack is in stock -> If yes, sort (add to front) research queue to place tech that needs that pack at the front of the line / If no, sort a tech that doesn't need that pack to the front of the line

18 days ago

Yeah, it does seem like a bit of a miss to not be able to read the research queue. The problem comes in with infinite techs. If have Artillery shell range 2 and Artillery shell shooting speed 3 in the queue, how do I indicate the level of the tech vs. the position in the queue. Even worse, if I have Artillery shell shooting speed 3, 4, and 5 all in the queue, what do I do?

18 days ago
(updated 18 days ago)

I implemented this myself last weekend (https://github.com/yut23/research-automation-combinator/tree/research-queue), and I ended up setting the signals to 2^(0-based position in the queue) (i.e. a bitmask). So if the queue is {plastic prod, artillery shooting speed, processing unit prod, artillery shooting speed, artillery shooting speed}, the output signals would be {plastic prod = 1, artillery shooting speed = 2 | 8 | 16 = 26, processing unit prod = 4}.

I didn't bother with the tech level yet, but some here are some possibilities:

  • pack the level for each tech in the remaining 25 bits of the research queue output (limits Mining Prod to level 33.5 million, but I don't think that really matters)
  • have the "Available Technologies" output the next level for each tech (it currently just outputs 1s)
  • add an Output Signals option to get the next level for each input tech
13 days ago
(updated 12 days ago)

For me it would be sufficient to know what the next queued tech is.
That way I can start feeding my labs with the new materials if research is > 95%.

This could be handled as a separate checkbox or an index (number) next to the current research readout config.
0=Current Tech
1=Next Tech
2...=Later queued

Having a few extra combinators doesn't hurt and would simplify signal handling.

11 days ago

Here is my alternative implementation of this feature:
https://github.com/jrossignol/research-automation-combinator/pull/7

New response