| An inefficient design, but computer-science theory in Factorio means playing suboptimally necessarily. (Factorio wasn't designed to show off B-Trees, all the tools were designed to ya know... play Factorio) ------------ So I have to comments. #1 is about the Comp-Sci side, and #2 is about the optimization side. #3 combines both together for what I'd like to talk about. 1. Self-balancing trees (2-3 trees, Red-black Trees, and B-Trees) are about the self-balancing part. Not just the construction of a singular tree. You cannot recongfigure trees to rebuild themselves in Factorio, so the biggest feature is missing already. 2. From an optimization perspective: inserters are slower than belts. Even 4 inserters per belt only allows like 12-items per second, and blue-belts can push 45 items-per-second. You want to use splitters (which operate at full speed: 45 items per second) for the best belt-only design. (Bots obviously sort items fastest, but I am presuming this is some kind of belt-only challenge build). 3. The intersection of splitters + computer science is therefore: the Splitter (Factorio) and Benes Networks (creation of networks built off of only a 2-input to 2-output crossbar). If you really want to have a crazy good factory design, start studying this stuff: https://en.wikipedia.org/wiki/Clos_network (A Benes network is simply a Clos network of size 2-input and 2-outputs. Clos networks are of any size: like 5-to-7 and other such odd numbers) -------- In Factorio, the meta you want to be searching for is "mixed belt" design, it seems. |
A more specific case is the "sushi belt" where one belt balances multiple ingredients while looping around on itself.
Sometimes they just accept new items in a fixed ratio, sometimes they can actually rebalance if disturbed. This is my favorite https://www.youtube.com/watch?v=7Gt5Zx0bsOQ
While that one uses the in-game circuitry logic, the Factorio forum has a "circuit-free" section https://forums.factorio.com/viewforum.php?f=202
And my favorite fun fact: The "fish" object in Factorio is a useless joke item, but because it isn't used by anything, it's sometimes used as a null value, a flag for when a belt has completed a full loop, or a debugging tool. https://forums.factorio.com/viewtopic.php?p=544302#p544302