Oooh more circuit stuff, this is amazing
I have so many ideas popping into my head for how it could be used many of which others have mentioned:
- A cycling output from a memory cell -> with a handful of combinators, take a snapshot of signals, then output them one after another, when last signal is reached take a new snapshot and repeat @Svip
- A single decider Combinator could be used to track which signals have existed and then gone to 0 (rather than have always been null), if Each Green != 0 or Each Red != 0 then Each = 1, this means that using 0 as a legitimate signal is much easier by having each = 0 for one colour and each (from this combinator) > 0 on the other @glee8e
- Fliter/Sanitising Inputs -> If I only care about item data I can sanitise inputs by using the selector, get the stack size, and then a decider, if each stack size (green) is >0 then send each item data (red) to the output, as the stack size on signals I'd assume to be 0, this can also be done in reverse to get only signal data, though I'm not sure what fluids would do without having the ability to test. But you can also use inputs from a constant combinator to get specific outputs too. @ElderAxe @Justderpingalong @Arch-kain @pleegwat @Tooster @StansTheMan @Kadet123 @Chard @mmmPI @Agamemnon
- Min/Max/Latch (of a particular signal over time) -> I think 2 combinators, if red >= green output red, if green > red output green, feed both back into either red or green (on both) and have the other side be data, and have a reset control signal too, I think you need 2 for min max cause you need to output either red or green wire not both, while set reset if A > X OR (Z=1 And A > Y) then Z = 1 (or A) turns on Z if A goes above X and turns off Z if A drops below Y in one combinator @thriem @Kyralessa @Philip017 @vark111 @melind @Roxor128
- A bunch of ways to shrink many of my current builds
I can see a number of people confused by things that already exist within the game as someone who uses circuits now and then this seemed really intuitive to me but if you don't use them routinely you might not understand some of the basic assumptions that come as 'standard' with the current game, the ones listed below should address all the questions I can easily answer for @Tooster @gGeorg @Master-Guy @Moroquen @JAetherwing @Ext3h @Carnivale :
- The game separates out signal colour in all the tooltips, this makes it really easy to see R vs G and it organises each by item quantity and then if they're the same value by signal/menu order.
- When an icon has a red/green background then that's the colour of wire that signal is on, no colour means it comes from both wires (inputs) or is being sent to all connected wires (output).
- All the new places you see the R/G check boxes refer to the inputs, if Red is selected then it only looks at the inputs on the red wire, if Green is selected it only looks at the signals on the green wire, and if both are selected then it looks at the sum of these two networks (which is the current/legacy behaviour) and I'd assume if neither were selected all signals would be 0.
- When R/G are selected on the output side it means "copy the signals from the R/G network" (with those same input rules) to all connected outputs this is why it's in line with the 'input count' because it's referring to just the input, not where to put the output.
- To control what network is outputted you need to connect either a Red or Green wire to the output, you can already select to only output only a Red or a Green, or on Both or on Neither this way.
- The divide operator is always followed by the floor function, it's not rounded, in factorio 3/4 = 0 if you want to floor for a value greater than 1 first A / X = B then B * X = Floored number, right now you need to build Rounding and Ceiling off this feature, it is possible (for either with 2 combinators) A % X = C if C > 0 then Floored Number + 1 = ceiling number or if C * 2 (can be done by outputting C on Red and green and using both inputs together without another combinator) >= X then Floored number + 1 = Rounded Number
- % is the Modulo opperator
As for my own suggestions.
With More to come on Circuits can we get more Circuit Colours R/G is a good start but R/G/B/C/M/Y/K/W would be great. Having Colours that are easily identifiable for Colour Blind folx is a bonus Accessibility feature. And maybe a network recolouring feature too? If you're trying to track everything connected to this specific Red wire change it to Cyan (or a colour you reserved for debugging and don't use anywhere) to debug and recolour back to Red after
I did like the idea of adding custom names to networks too though, when joining two different networks with custom names/descriptions maybe alert the player and ask them to confirm? and joining blank networks to named networks maybe give the option to suppress notifications for that one network for 5-60 minutes?
With more wire colours I suggest that combinators (and buildings) can only have 2 colours (like right now) just rename them to Colour 1 and Colour 2 behind the scenes, depending on what colours you wire with and in what order this could update the sprite (to those colours similar to colour switching on the player model/vehicles) and the detail panel inside (with the right labels) giving each networker on a MP server the opportunity to have their own signature style. There's 30 different colour combinations for each building/combinator but there's many more opportunities for style, like it could be I choose to use Red as larger input networks (from one output), Green as larger output networks (from 1 input) and Blue as single comparator hops, with Yellow, Cyan and Magenta bridging any gaps or where conflicts occur while reserving Black and White for debugging. Another player might only use Red and White for all their things with the occasional Black only where absolutely necessary. There are many many more styles that could be picked and it'd let people on MP server know at a glance who made what Circuit thing (or which Content Creator/Redditor/Forum user made it in some cases).
Similarly, Power Poles can still have 3 cables, either 2 signal wires and Copper Power Cables, or 3 signal wires. Players would still need to have 2 or 3 Power Poles for carrying many networks long distances in the same direction, but there's less chance of cross-contamination or mixup.
I've found a few times that having 2 global signal colours hasn't been enough for me and doing some complex multiplexing is outside my skill set, having more colours would be great. If you just do RGB and make it possible to mod in other things of this nature I'm sure I or someone else would write that mod ^_^ I don't think it's possible with the current API.
As for more features, it would be nice if the Arithmetic Combinator could choose Colours for the inputs, Green is the amount of X in the system Red is the stack size of X, Each Green X / Each Red X = number of stacks available. This would mean the calculation could be done with 2 Combinators for all items in a storage silo, while right now (even with the update) it's still a cumbersome task. This could then be used to calculate how many trains or Rockets are needed to move a set of items or how many storage chests are needed so that no logistic chest contains two items.
It'd be nice too if there were a way for an arithmetic Combinator to output multiple signals with related calculations for example it might be useful to take an input like a request for Red Science, and it outputs *1 for gears and *1 for copper plates or *2 for iron plates and *1 for copper plates, it has to use the same first input signal (not every/any/each) and the same operator but it could output several different related signals... A little more tedious than a crafting comparator but a whole lot better than what currently exists (and more configurable than a crafting comparator too with lots of different options)
Selectors could also do with the colour selectors for the inputs.
I think adding a LookUp Combinator would be a great way to split the functions of the Select combinator with "Selecting a Value from the given inputs put in various orders" count, menu order, random, green by red etc... being one set of functions and "Look Up Stats about the given inputs" be that stack size, rocket cargo limit, train wagon limit, play-time, Surface Time/Stats or production/usage stats etc...
Lastly, while we talk about new combinator features, a Diode Combinator a 1x1 that takes in One colour and pushes it to another one tick later without doing any processing, this allows for the easy isolation of things like inserters that might need their filter/handsize/enable set with one wire and to output hand contents with another... Especially where you don't want to contaminate the dynamic setting wire with the hand contents as it may be shared with other inserters... This is mostly just a UPS QOL since you don't need to do any math or ifs with the diode... and it's small enough to fit in many places the existing combinators that could do this function cannot