re-balance one of these outputs with an unforked lane with flow ϕ ⋆ ( n ) \phi^\star(n) ϕ ⋆ ( n ).Mathematically, this means that the output flow ϕ o u t \phi_\phi^\star(n) 2 1 ϕ ⋆ ( n ). They enforce that the total input flow is distributed evenly across output lanes. In order to fork the bus lane, so-called splitters are built. Note that the rightmost lane is almost emptied of goods after the two forks. A splitter is present at each fork and ensures the flow gets divided into a new lane. Note the leftmost iron plate bus flows from top to bottom and gets forked twice into underground belts that cross the other busses towards the right. One pattern is to create so-called busses where goods are centralised.Įach bus consists of four lanes where goods flow in one direction.įactories can then fork the bus lanes to re-route some of the goods from the bus to factories that need it.īut what is the best way to fork these bus lanes to ensure that goods still remain available at the end of the bus?Ī screenshot of four main busses in Factorio. Python make_block.py 16 16 -all -single-loop | head -n 50 | python blueprint.py encode | python blueprint_book.py pack -label "Blocks " > blueprint_book.Factorio is a game where you build and maintain factories.Īs part of the game, you end up routing goods on conveyor belts. # Generate 50 random blocks and save to a blueprint book # Save an animation of a blueprint to a fileĬat blueprint.txt | python blueprint.py decode | python render.py -export-all Python network.py render networks/5x5 5_to_5.png Python interchange.py -alternating -underground-length 8 22 -all 8 22 | python render.py # Generate and render interchanges for a 22 to 22 balancer made of two 11 to 11 balancers Python calculate_optimal.py query 4 area | python render.py # Render optimal area balancers with maximum underground length 4 Python calculate_optimal.py compute 16 length # Start computing the optimal by length with maximum underground length of 16 Python belt_balancer.py -fast -all networks/4x4 10 4 | python render.py # Find and render all 4 to 4 balancers that fit in a 10x4 square Generate an interchange for building composite balancers Generates n to n balancers where n is a power of 2 (faster than generic version)
Factorio balancer install#
This can be done via a package manager or with the lastest install package available at. įor rendering splitter networks graphviz needs to be installed. # Factorio install directory should look something like: # Factorio/ # ├── bin/ # ├── data/ # │ ├── base/ # │ ├── core/ # │. Python fetch.py /path/to/factorio/install Python -m pip install -r requirements.txt
Enhancing the Factorio experience with SAT solvers.