Introduction
This page describes the basics using cars on belts for transportation in Factorio. I have a separate page describing the setup of my own (quite big) factory. This is kind of a geek thing but there are some reasons for doing it:- Cars are available before trains
- If done correctly you have no signaling issues
- Cars are much safer than trains (at least in Factorio)
- It's cool
Motivation
Belts are quite inexpensive (you get two belts for just some iron) but their throughput is really limited.
15 items per second is not really much once the factory grows some more and upgrading the belts get's quite expensive quite fast.
Blue belts have a 3x throughput improvement for a huge amount of resource consumption.
And one blue belt is not enough in most cases.
What is needed is some kind of container holding items that can be moved around.
Here comes the car.
With the big amount of storage slots (80) it's able to hold an enormous amout of resources.
It is moved by belts and it can be loaded and unloaded by inserters.
This means that in principle we should be able to use cars as moving containers on the belt.
The practice might be a little difficult though.
Basics
Car size
Performance
I have build a quite substantial factory (400 SSPM) and still 60fps. The debug overlays apparently don't show car movements and hit box checks with cars separately. However I have seen a time meassurement page that has investigated car performance in detail. It seems like a small amount is saved in the hit box checks of the cars if the car are oriented straight up, meaning the front is to the top of the screen. This is why all my newer constructs rely on cars oriented vertically and amost all cars in my factory point up.Inserters and cars
Inserters will interact with cars unless there is a belt to pick up or put on.
This means that even if there is a car on a belt an inserter might put the item through the car on the belt if possible.
So in order to insert into or out of a car on a belt the inserters need to end up inserting next to the belt.
This is possible because the car is bigger than the belt.
Two inserters per side can unload a car sideways and four inserters per side can unload a car sitting straight on a belt (while the car is still able to move through).
This is quite some amount an comparable with a railway car.
The behaviour of the inserters can be used to detect cars.
If an inserter is suddenly picking up an item then there might be a car about.
If an inserter is suddenly able to place a new item or an item on a tile with e.g. a power pole then there has to be a car there.
Movement
A car is moved if it is placed on a belt.
It's movement is quite unlike items on a belt even though it might look alike.
The movement of the car is independent from the content of the belt.
Rather think about the car being displaced by the belt underneath.
If the movement of the car is blocked (e.g. by the player, some items next to the belt or another car) it will stop without anyone taking damage.
Also the car will never be rotated by this movement.
Let's go into some specifics...
Cars will be moved by the belt into the belt direction. Faster belts move the car faster Stopped belts (by a circuit network condition) will also stop the car. The car will also follow curves in the belt and will not by itself leave the belt except in two conditions:
- It seems like a second car can push the first one off the belt in some conditions
- On a curve, if the car cannot follow the curve in one direction it still will move into the other one possibly leaving the belt (more about this later).
Position on belt and centering
Curves and junctions
Cars will follow curves in a belt, however they might also be pushed off the curved belt in some conditions. If positioned on the extreme outer edge of the belt a car might leave the curve on it's own. Cars will also leave the belt in a curve if partially blocked, e.g. by a proceeding car. Being pushed out of the curve can be prevented by placing a wall or some other entity directly after the curve or at the outside of the curve. Through tests I noticed that this does not seem to be sufficient for some reason, so I tend to put a red belt in the curve as well as this seems to prevent cars from being stuck. This is how the safe curve design looks like:
Advanced topics
Using cars for transport
Using cars for transport is quite simple. The easiest way is shown in the picture and only uses a car and one (maybe more) miners. As said before: the capacity of the car is astounding and in the beginning a car full of resources might be enough for a couple of minutes.
Detecting cars
With a bit of circuit logic you can even count the number of cars with a specific content.
Cars are quite hard to detect with normal means.
They leave no foot print with circuit networks and they also don't trigger gates unless they have a passenger.
However they interact with inserters
So an inserter that is suddenly able to insert something is an indication that there is currently a not completely full car about.
Similary, an inserter that can suddenly pull something out of the ground is an indication that there is a not completely empty car there.
A smart way to detect cars is to ensure that at least one item is inside the car at all times and put it back immediately after detection.
Note that items in the fuel and ammo storage locations of the car cannot be pulled out by an inserter but they can be put in there.
Splitters
As said before: a car will move straight on a splitter so there seems to be no way to steer cars.
You can still increase the capacity of a belt by a couple of hundred times but without the ability to steer cars it's hard to build up a logistic network.
However there is a case where the car leaves the belt and moves onto another.
On a curve the car will try to follow the curve, however if it's blocked from doing so in one direction it will still move the other direction, off the curve (and possibly onto another belt).
There are a number of ways to block this movement.
- Wall or better gate
- Other cars
- Train
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
- Unwanted cars don't slip through even if preceeding or following directly
- There is no comparator or arithmetric thingy needed
- The splitters work with horizontal and vertical oriented cars.
- Items on the belt will still follow it (so you can e.g. distribute artillery shells on the belt)
Conclusion
Since we can detect cars, steer, load and unload them we can build a train replacement with cars now. There are however some drawbacks:
- Cars are difficult to mark and can't be given a schedule unlike trains.
- There are some conditions where the car network will fail such as being backed up or power failing.
- Intersections are much harder to do with cars.