Suggestion: Switches

So the attached picture holds an attempt at getting as high a level of a drug as possible. Currently this 2x1 building produces a drug with 2 level 5 and 1 level 2 effect. I wonder if it’s possible to do better, while still having at least 30 produced per month. It’s likely, there’s still quite a bit of space left scattered around. Building that kind of complex setup of course requires many attempts and rebuilds of large sections just to optimize the floor space. But as you can see, quite a lot of floorspace is used up by belts.

Initially, I tried using the Centrifuge. Theoretically one could use the centrifuge to mix two catalysts in at a time or even to use a sort of binary production pattern instead of adding in catalysts one by one (linear), requiring a much lower amount of merge steps. Unfortunately, the centrifuge takes up a massive amount of floor space, mostly due to the way that access and exit belts had to be laid out. Other more serious issues related to the way belts work cropped up as well, even in the non-centrifuge version. Those relate to cases where multiple sections of split tracks have to interweave at short distances into a differing amount (2 -> 3, or 3 -> 2), where due to the inherent dynamic nature of this kind of periodic oscillator interactions the track can become underutilized. E.g. ‘traffic jams’ of ingredients happen on the conveyor belt and because the system is so large, it won’t properly stabilize into maximum production. Instead, one has to fiddle a lot with the belts, making sure there are proper access lanes and ‘merges’ and ‘splits’ are exactly the right amount of tiles apart (divisible by 3, or 2, or x mod 3 / x mod 4 where x is some number dependent on the rest of the setup). In other words, the way crossings and splits behave tends to cause far more problems than simply fitting in the machines and making sure that no crossing has more than 1 product per day throughput necessary for the required 1 per day production, that’s the easy part.
In addition, the game seems unable to grasp the concept of splitting into 1/3rd and 2/3rd with a T junction, some of the time, when using 3 machines of speed 3 you need to use a crossing to get the input distributed properly, else one machine gets half and the other two get 1/4 of the input, reducing throughput to 11/12ths of what it was originally, and usually causing lots of problems upstream and downstream. When using speed 4 machines, the amount of ways you can split up the input is also reduced.

There’s two ‘flaws’ discovered here then. The first flaw is that the centrifuge seems to be a bad machine,the multimixer seems so much better. It would be easier to hadron collide twice and use additional multimixers than it is to centrifuge, that takes up far less space. Mostly because the centrifuges require two 3-belt thick entrance and exit streams, as well as analyzers, or a 11x12 footprint minimum per centrifuge operation. That’s simply too much for the machine to ever be valuable compared to alternatives (getting rid of symptoms via machine or mix to overwrite with riddable into machine, then multimix in the other component). The machine itself could use some better input/output positioning, for example just routing straight would be a great improvement.

The second one is the way the belts work. There’s no way to ‘tell’ the game that a crossing is meant to be a three-way split, just cross paths, a twin right turn, or a twin left turn. This causes the game to sometimes get confused, and a production line to get stuck, even though a working path exists. I’ve sometimes noticed a layout can be unstuck and not get stuck again for quite some time, e.g. it’s hard to see if a layout is stable. There’s also an issue where complicated setups may be unstable not through jamming but just reduced traffic: oscillations of compacted ‘moving jams’ can cause suboptimal production. Rather than having to deal with what’s basically something akin to getting automated openTTD networks working and having to relocate and re-try a complicated setup multitudes of times (20+ rebuilds won’t be feasible in a normal game), making it easier on the users by adding some kind of queuing to machines would be a great idea. Last, I really see the value in allowing lines to just tunnel, which essentially should be okay to do. So here’s the two part suggestion:

Part I: Re-do the inputs and outputs on the centrifuge so they’re not perpendicular.
Part II: Add new research into a ‘switch’ and ‘queue’ machine.

Switch:
Cost 2000/1500/1500/1000/1000
Cost per use: 10/10/5/5/0
Size: 1x1
Outputs: 2 or 3
Note: There’s a total of 4 types of switches. The 3-way splitter, the cross-over, the double left turn, the double right turn.
A splitting switch can be programmed to alter the fraction of the incoming stuff that turns in each direction. This can be done in twelfths (the least common multiple of 2, 3, and 4). Switches may or may not allow two ingredients to occupy them at the same time.
In order to actually help compactify layouts, switches should be an exception to the rule forbidding machines to be built right next to eachother. (E.g. count as a belt tile). Allowing a belt crossing to be programmed would be a good alternative to this machine and also a massive improvement (allowing you to unequally distribute traffic or forbid left/right turns would get most of current problems solved).

Queue:
Cost: 2000
Length: 3/4/5/6/6
Per use: 1/1/1/1/0 per product
Size: 1x1, or attach onto an existing machine output.
Works by adding a queue of products to an existing machine. The queue allows a machine not to ‘miss a beat’ when the invariable hiccup happens in a complex system. Filling up the queues is as easy as detaching the end of the product line and waiting a month or two. Like the switch a queue can really only be useful if it can be right next to a machine.