This week's Friday Facts is brought to you by Robert aka Twinsen aka that Romanian dude aka the Combinator guy. I'll be talking about the improvements that have been done so far in 0.13 to the circuit network.
The previous combinators were quite big. Having a bunch of them connected close to each other didn't look nice and was hard to understand, so Vaclav made a couple of improvements to the sprites, including making them smaller.
The constant combinator can now also be rotated so you can make the connections easier to see and understand.
And short wires are rendered better.
Combinators will show some info in alt mode. Showing all the necessary information in such a small space is tricky, so for now some icons are shown, including input and output arrows.
The constant combinators were often used to turn some logic on and off. Now there is an on/off switch in the gui to make this a bit simpler. It's has a small light on it to show that
Lamp colors can now be changed. The way it's done is by sending a color signal to the lamp. When the condition inside the lamp passes, instead of lighting up white, it will use that color. Other possibilities were sending RGB codes or setting a specific condition for each color, but I decided for the simple option.
Apart from that:
I would like to talk a bit about some of the rules I created for myself when designing the way combinators and circuit network works.
The main purpose of the circuit network is to make it easy to do basic factory logic like "start this pump when petroleum gas < heavy oil + light oil". Simple comparisons and simple arithmetic.
An intended side effect is that you can fairly easily make a turing machine. If you want to geek out and create a computer that calculates prime numbers you can do it, but this is not the main function of the combinators.
I also have kind of a design rule to try not add new entities in the game(not just combinator entities, entities in general), for a number of reasons:
Keeping these things in mind it's a rather hard decision to add new types of combinators in game. Many people have asked for logic combinators, bit combinators, timers, etc. But because of the reasons mentioned above, I believe it is not worth it.
Finally, I know there is no real incentive to understand and use the circuit network, it's not part of the core gameplay, you can finish the game without it with no problems. I have no problem with that, I see the circuit network as a way to geek out and fine tune your factory even further if you feel the need to.
There is still a big change coming to the circuit network that I didn't talk about yet. Stay tuned next Friday for more details...
Also keep in mind that I will try to connect more entities to the circuit network before 0.13 is out.
Last week, someone posted on the forum asking why the splitter is working in a seemingly weird way. So the community started to investigate the way the splitters work and somehow managed to create an item sorter using just belts and splitters. One of the designs is shown below:
You can read all about it in the forum topic.
When we saw this in the office it even took us a while to understand how they work. In the meantime, someone made a video explaining it.
The whole idea is based on the fact that splitter works per item type. It remembers where it sent the last item of a specific type and tries to send it in the opposite direction next time. By taking advantage of this internal state, sorters can be made.
It works like this since very long ago. This was implemented to prevent the fact that in some situations, the two lanes of a belt (with one item type on each) would be split in two belts with one item type each. But as someone noticed, this leads to
other small problems.
In light of all this information, we are considering changing the way splitter works. Possibly by making have an internal state per transport belt lane instead of per item. It will split each lane of each belt equally to the output.
For comments and suggestions, feel free to PM me or comment at the forums.