This is more of a set of thoughts regarding production logistics, where I can lay out some ideas that help drive some design choices. Key to this is a simple design concept that works at all scales.
The actual implementation of the concept varies to a degree, in particular the middle storage piece where it is often an option. Large scale factories apply the concept so that any one component can grown to meet production need. Example: Ore to Bars in Factorio.
- Miners generate ore
- Belts move ore
- Ore is put into storage
- Belts move ore
- Foundries create bars.
You can increase the capacity of any production step, or the process as a whole. Want more bars? Create more foundries. Running out of ore? Create more miners. Miners are backed up? Create more belts. This adds a ton of flexibility, at the cost of design space. There’s a limit to how many miners you can place, and if you build too tightly, you won’t be able to add more foundries.
Which brings me to the design principles of Saturation & Just in Time (JiT).
Saturation
Saturation is where all steps past Step 1 create a backlog. This is most evident when looking at production chain, where the transport layer is backed up (e.g. belts are full). This mode of production allows you the flexibility to add more steps down the production chain without the need to completely redesign.
As complexity increases, saturation becomes more difficult to achieve. Saturating ore or bars is relatively simple. Saturating rockets, less so. In that regard, saturating raw and basic materials is a best practice.
Just in Time (JiT)
JiT is when you produce only what’s required for the next step. Useful when items have an expiry date or are complex to product. These designs are notoriously fragile as they rely on precise mathematical relationships where the ratios between any two steps must be maintained.
A very simple example of ore to bars. The math says it takes 2 ore to make 1 bar. A miner extracts at 1 per second, a foundry produces a bar every 2 seconds. JiT means you need 1 miner per foundry. Let’s say you upgrade the foundry to be 10% faster, so 1 bar every 1.8 seconds. You miner is no longer sufficient to meet that need, and adding another one means you are saturating the production chain.
A complex example would be building a rocket though a half dozen raw products and steps. Anyone of those steps changes, even a little bit, and you will break the production chain. The earlier the step, the more impactful. Your choice then is to either upgrade everything, or redesign.
The core advantage of JiT is that it is more compact and less wasteful. You won’t fill a belt with expensive material, which saves costs in multiple areas. You can optimize to a crazy degree here, which limits resource utilization and often allows a more rapid production.
Saturation & JiT
In my mind, the best examples are when both principles are applied together and where bus architecture truly shines. To achieve this you have three key pieces
- The main bus has basic material that is created in a single step from raw.
- No intermediary products are put on the bus. Intermediary in the sense that the sole purpose of the item is to create another item.
- Final stage items are created with JiT designs from the raw materials in dedicated production chains.
Satisfactory example now. Let’s say you want to build a computer. That requires Circuit Boards and an AI Limiter. Those require Copper, Plastic, and Caterium. Rather than put the Boards and Limiter on the bus and pull them to your production chain, you would create what you need from Copper, Plastic and Caterium in order to build the Computers. Note: Satisfactory is the best/worst example as you actually need Circuit Boards + AI Limiters as final products.
Dyson Sphere Program does not have any cases where JiT actually makes sense as the transport steps have near-infinite capacity and scaling is a major requirement.
Factorio lives in this space, where there are dozens of intermediary steps that need optimization, with often limited resources and transport methods. You will inadvertently saturate belts, but the main goal is to do it just the right amount to build what you need of that final product.
Constraints
In all designs you limits as to what can and cannot work. Even games that have unlimited scaling will eventually suffer from CPU/GPU limits (DSP can grind to a halt at galaxy scale production rates). The overall goal of ‘the factory must grow’ is a neat idea, and it will require some thinking to achieve.
- Space: You will eventually run out of real estate to grow. This could be at the micro level where a building is taking up too much space to fill in the blanks and you either rebuilt from scratch (Satisfactory) or you build another factory somewhere else. In most games, raw materials are limited in extraction rates or simply the amount available – in those cases you need to find another area with raw materials to extract.
- Power: Most production games have power limitations, where you need to generate ever increasing amounts to grow the factory. In some games this is easy, in some it is very complex. In all games, there reaches a point where power gains are exponential and extremely manageable. (DSP has you harness the power of stars).
- Rates: This is on a per step basis, where a building has a maximum input/output rate, and belts have a maximum throughput rate. You can often upgrade these, but you’ll still find spots where you have too much output and not enough input. While it’s often easy to build another building, expanding transport layers can be very difficult. Moving more items between planets in Factorio often means needing more ships, which are not cheap to build.
- Enemies: While I personally dislike having this in my games, quite a few have enemies that will react to your expansionary behavior and attack vulnerable portions of your production. You need to build adequate defensive structures that are furnished with production items. These often overlap with Space restrictions, where you need to take over territory in order to expand your factory.
Putting It Together

Factorio has the best mix of models, and circuit production is a highlight. The image above is an example of saturation. Copper, Green Circuits, and Plastic enter on full belts. The various production buildings select from the full belts and then put their end products which merge back into another saturated belt. At the right is a box that acts as a storage buffer for bots.
Since I use a main bus with that includes processed raw materials, it’s somewhat simple to pull into a factory. The wire is the middle building, which supplied the 4 outer circuit plants. The beacon is added to boost speed, and finally the belts are added to supply the material.
The wide majority of saturation builds in Factorio follow the same design principles. Place buildings so that material can be moved with inserters, place beacons, feed materials from the inside, exit materials from the middle.
Most other games follow an expanded main bus due to significant intermediary steps. DSP is like this, were there are 15+ items on the bus needed to make 90% of all buildings. This is also a saturation model, and vertical splitters allow this construction. The bus is on level 2, and it feeds each building on level 1, which then stores material in a container.
Satisfactory is the same model, but slightly worse. You need a mod to manage storage limits (no one need 48 stacks of Computers), buildings are exceptionally large preventing effective blueprints/design, and you need to move things vertically at multiple points. The bus and factory floor are on the same level (2+) but the belt weaving is done underground. The end result is a thing of beauty, but more comparable to cable management in PCs. Hide all the junk in the back.

