Research Automation Combinator


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

Utilities
11 days ago
2.0
383
Circuit network

i Read full research queue?

2 months 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

a month 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?

a month ago
(updated a month 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
a month ago
(updated a month 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.

a month ago

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

New response