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: I started thinking about using cars for real after gotten killed (again) by a train in a deathworld marathon game. Actually in the end I was much more often killed by trains than by anything else. So here it is. Cars

Motivation

Fully loaded car 80 x 100 copper plates, that's 8k of copper for your factory.

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

Factorio car size Demonstration of the car size. Don't be mislead, the walls don't completely fill their tiles, so the car is slightly larger than 1x2.

The car is a little bigger than the normal tile size, something like 1.2 by 1.7. So a car that is perfectly centered will be able to move in between two walls next to the belt when rotated parallel to the belt, but will need a slightly bigger gap if moved sideways.

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

Factorio cars getting unloaded Cars getting unloaded from the small side.
Factorio cars getting unloaded Cars getting unloaded from the longer side.

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:

  1. It seems like a second car can push the first one off the belt in some conditions
  2. 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).
A car might also not follow a curve if it is placed next to the edge of the belt. Cars on a splitter will always drive straight, so splitters don't split cars at all.

Position on belt and centering

T-Intersection T-Intersections with cars. The cars are offset after the intersections but the one comming from the yellow belt is off-center even more than the one from the blue belt.
The car has a pretty large margin regarding the placement on the belt. A centered car has a pretty small foot print and can slip through surprisingly small gaps. However an off-center car can be stopped by items next to the belt like trees, power poles or other stuff. The car can be centered most easily by driving it up to a wall in a curve and then doing the same thing on the other side.
Centering a car This construct will center your cars pretty reliably. It will fail if cars are piling up (they might shove themselves out of the curves) or on severely missaligned cars.
The following picture shows such a construct. If cars are moved onto a belt from the side (T-intersection) they will always end off in the most off-center position. Depending on the speed of the two belts the off-center position even differs a little bit. This can be used in some cases since sometimes you only need a defined position and not neccessarily a centered one.

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:

Safe curve design This seems to be a safe curve design. The red belt helps the cars around the curve and the wall prevents them from being pushed off.


Advanced topics

Using cars for transport

Simple car 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.


Simple loading An easy car loader. The circuit network blocks the belts for 90% of the time to allow the inserters more time.
Simple unloading Similar to the loader but with a little balancing to fill both sides of the belts.
For a continous supply of ore you can use a setup similar to the ones shown in the picture. A single red belt has a throughput of 30 items per second. One car per minute gives a throughput of 1333 items per second! You will have problems getting the stuff out of the car fast enough (you can pull a maximum of around 100 items per second out of one car) but the possibilities are there. You will need more inserters, a couple of cars and two belts. But a setup like this might save you ton's of belts that would needed to be run in parallel.


Detecting cars

Factorio car detector Car detector with just one inserter.
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.

There are videos out there who show cars being diverted by trains or other cars, however this is unneccessarily complex. A gate at the correct position will do the trick and can be controlled by the circuit network. It doesn't even have to be two gates.
Car junction right
Blueprint for a splitter to the right
0eNqlWduOmzAQ/ZXKz1DZhiS7SO1L/6Cv1Qo5wUncEoOMSZtd8e+1IbdNTOIxL4mMPWcuZ2Y8iA+0LFteKyE1yj6QWFWyQdmvD9SIjWSlfaYPNUcZEprvUIQk29nVmjU6bupSaM0V6iIkZMH/oYx00VPZFbuWoE6JvVC6NU/OQsOJ+OeVZNK9RYhLLbTgg9H94pDLdrc0VmXkLK0Vk01dKR0veakNal01RqySVqU1IkIHlMUzA14IxVfDVmpNu8GkIyG4h/w6G0DTG9AIVa2uW52bqFfKYBuskq81cmhLPmvzdCO502ho1aoq8yXfsr3Ras+vhFq1QudmrziDrIVqdO5NB99zddBbITeWF5s8mtlMwnaxq5li2ipD3/rto0Iu2bLkeSEa+48yrVp+2VWcFfmWycIapk08DLVrVjZXR04bw9ldVRgQPOiXg9ONtZ3YH8WL69QQZrXo3rrOEez0c7Bbk2VqoyrzPxLuZCzcp7SXhmYXrbNLHHUlefyXleU9fHqCdyDMLwg7Ixzz0qhXYhXXlQnpHVRMBiziwlpc/BalyeVYyIYrZ1LjE8wnj+njBLME5dU6r2pu8qGXSB7z/Tkj+s0rqok/1cmVu3ZNU8t9dHR0aBqnzjXWLGyXqUyeK2HcMPm9+mPq450fe91NLF+CCpbexNMB/BoETJ43NIJhyIkTee5CJkHI1MNm6t3Z46GKsIe5wGYbDzF2lhRJg7B8rJz5u554g85h5uKj58+BF/7WEm/QF29Q7IqAq7wIsL68jaU4BBh7DCIkpCN4JAOlXrdTMp79NPFCOOYndUKkXhADv0n3+AIyF4/MN0y7Z42Gy8aevx8ygsciJn2Gou+omz600Es/6D0cCZE7yHPoMJt4zLJKbLbOqYcuQjLW4zqgLyE15nHp0tewkZCOTYRDtJyTPg4Jzu27hZ1VtCiPr0PueutfSI6qtuydqSI2ObhSXPP4wt2IbDJBlk6QJeGyeFz0/NrlliTBkjRYMgmQpBN4pXe8noQeHaew4wR0HINOw7BhhvtGhUwggMAIIDACCIwAAiKAgAggIALIs2oYjSgOJwODuMAgKjCICQwhAkN4wBAacDALE0oCVhGwgoDVA6gcQNUAKobwWoB1d1hzh/V2UGsHdXZQY6fBoZwwPE2YnSaMThMmp6eD0xPJcJ3hjj6PrpmN+w8R2dU3jwiVzAzY5tkPpr78bmU/SX8ZJCK056rpFS0STGY0wel80XX/AUqIZRQ=
Car junction left
Blueprint for a splitter to the left
0eNqtWe2u2jAMfZf8bqck5WMXaXuCvcF0VQUaIFpJqzRlY1d99zmUz0sKcbo/VCXxseNjOwfxQZZlK2ujtCWLD6JWlW7I4ucHadRGi9J9Zw+1JAuirNyRhGixc29r0di0qUtlrTSkS4jShfxDFqxLXtquxK0F91rslbEtfHMx6nekP24ss+49IVJbZZXsgz6+HHLd7pYQ1YLdh2uN0E1dGZsuZWkBuq4asK208wt4KU/IAR5TcFEoI1f92sQF+AmZX+OylZbpb1GWHsBJD5h1HojsPrgWzmQ2poLnUHjZGe0+vOSSZV23lnhcTQZo82Tgy7R3MnlwUrUW4HMolcoAOIAZtdl6/U3j8v54MKhGa6oyX8qt2INfZ7BSZtUqm8NacUFZK9PYPLiK5F6ag90qvXHl5GreCtcA1L3samGEdc7It+PyyaHUYlnKvFCNe5KFNa28rhopinwrdOECs5AQqMi1KJubLeeFfu+uKgCE9v51f+jGxc7ch5HFbUUreGO0e+98lTRDpvtUR+w+3dyDPI8jkr1uoK9xyPweeeZBfovLBn8dM6NXaFVCA6VKN9J4O4l6MzF7XtKuJPJqnVe1hAo8WmTPK+y+Bo+LN8XFwotrenNe987nrtiS00H76Xoe8ZcsfMqtG8cVdJZRcAzoqNUv6Mi/8nQpfE7mFabZwfRMZQlhGrVK6wq66yGh7JxQH1bgOO6p9kNkUQVJX/cQmyCR2SnK18jIOUuDgWdDFA9g0tdtyeZRaaABbYmcJfxJFbwFHzyYJU5jwgsoLM6Cg82CMXkw5iQYM1bp8CGh00sRn/LgeKmTBSidUq797uKUTsBdw2dR7RJwP/J50LCkl+Q8u7HgptL5Rli/HGqkbtz+Rx0UrdyEDtFt30n3H3QVvw6W4xEHcsS9tm9BWc6GETIaVVufhbu7lK0qTz+QBsSPMzr52oq/whQp5G5lpJXpVeQ/+TkSa8tH2LJ4WxpvOsLriMNG5ZiP4JY/cHs2erad47Yz1HaK2o3DxgUexQYbwQbDscFwbDAcGwzFBkOxwVBssGg2aDwZFMUFRVFBUUxQDBEUwwPF0ECjWRjREriOwDUErh9Q7YDqBlQzxPcCbtTjJj1u0KPmPGrMo6Z8/JAfoYhGCKIReiheDsWroXgxFKqFQPEe/3BY3Py3kZC9NM0Ra55RNuUZnczmXfcPmVtSgw==
The images show my optimized splitters selecting by car content. This splitter is optimized in many ways:

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:

Still it's neat and much less dangerous than jumping between trains. For some additional reading check out The curious case of Factorio belt mechanics for entity transport or my own reddit post with some more images of an older factory and some discussion.

'