The ability to specify between red and green wire would be the perfect opportunity to add new features for "array" pointwise operations. By array I mean wire.
As a simple example, filtering on signals (both whitelist and blacklist) can be achieved with 6 combinators and 2 ticks of delay (see technicalfactorio).
This single combinator would do the job. Devs did not specify how the
![Image](https://forums.factorio.com/images/ext/39e89fddeea1a2805db30a0ee099d3d9.png)
![Image](https://forums.factorio.com/images/ext/e90a6a45f7d2ab140ab2fa3b2a2b8129.png)
![Image](https://forums.factorio.com/images/ext/7f1bb4bb1e38b778c3a1d901c96de129.png)
![Image](https://forums.factorio.com/images/ext/7f1bb4bb1e38b778c3a1d901c96de129.png)
Arithmetic pointwise operations is a big one. For instance, pointwise multiplication can be currently achieved with 5 combinators, 2 ticks delays and with potential overflow (see technicalfactorio).
If implementing the possibility to have the signal
![Image](https://forums.factorio.com/images/ext/7f1bb4bb1e38b778c3a1d901c96de129.png)
There would also be a use-case for several
![Image](https://forums.factorio.com/images/ext/7f1bb4bb1e38b778c3a1d901c96de129.png)
Code: Select all
(RED, GREEN) -> RED.each ≥ GREEN.each then RED.each -> OUTPUT
(RED, GREEN) -> RED.each < GREEN.each then GREEN.each -> OUTPUT
Since I am talking about using several special signals as input, one feature that I felt was missing in Factorio was to have both
![Image](https://forums.factorio.com/images/ext/e90a6a45f7d2ab140ab2fa3b2a2b8129.png)
![Image](https://forums.factorio.com/images/ext/39e89fddeea1a2805db30a0ee099d3d9.png)
![Image](https://forums.factorio.com/images/ext/e90a6a45f7d2ab140ab2fa3b2a2b8129.png)
![Image](https://forums.factorio.com/images/ext/e90a6a45f7d2ab140ab2fa3b2a2b8129.png)
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
I'm jumping on the opportunity to present some of my contraptions. This is a system of combinators that allows to translate number of items to number of stacks and vice versa. I intended to use it for my Space Exploration run, for smart interplanetary transfer (what a coincidence). The core idea is to do a pointwise operation (usually multiplication or division) between a wire A that is supposed constant, and wire B that changes (but not too fast). You might see how this
from left to right:
- wire A content (a bunch of constant combinators that contain each item in the game and their stack size). I used a lua command and python script to generate that.
- an iterator over wire A signals, grouped by value (i.e., stack size). the signal "S" takes the value of each distinct values. It's quite big but you need only one for the whole map, and I tried to minimize the iteration time (3 ticks per distinct value, plus 3 ticks to reset). In vanilla, it would do a cycle roughly every half second, but modded content can introduce custom stack sizes so it would take longer.
- item to stack converter (pointwise B/A). Here, B is the content of the chest. I also made versions of this that perform rounded up division and so on.
- stack to item converter (pointwise B*A). Here, B is the output of the previous contraption.