Why do multiple vehicles which are running the same route tend to bunch up together?

Having more than one vehicle working a single route usually means that after a while, the vehicles tend to bunch up together. I had previously thought it may be minute differences in delays introduced through, for instance, waiting for a free path for trains, differences in cargo loading time or random breakdowns.

But even playing a game without breakdowns, and looking at the vehicle with the most stable route, ships in this case, the vehicles still bunch up together after a while with amazing reproducibility - behold!

Three ships moving so close they almost completely overlap

Trains and buses both exhibit this too, though it's harder to illustrate this problem with them. I know that timetables should prevent this, but building good timetable is hugely time consuming and quite difficult to do on a large scale.

Is there some sort of game mechanics that's causing this, and what can I do to prevent this from happening without the need for either manual intervention or timetabling?


This occurs because it takes time to load: proportional to the amount you are loading. When the first ship loads up, it leaves less for the second one to load, causing the second ship to spend less time in the dock, and therefore catch up to the first. As the second catches up, there continues to be less and less for it to load, causing an accelerating cycle that ends up in the state you have pictured.

The best way I have found to combat this is to make all (or all but one) of your vehicles wait until fully loaded. This causes less available cargo at the dock to mean more time at the dock. This reverses the cycle and causes your vehicles to remain relatively well spaced.

The a single vehicle on the route not fully loading will not cause this problem, as it will eventually catch and pass the fully loading vehicles ahead of it. Such a vehicle can be a good indicator of when you need to add or remove vehicles.


Timetables were added to be the "real" solution to this issue, but as you say do (unfortunately) require quite a bit of setting up and micro-management, and are hard to get right (particularly if you have breakdowns active).


Setting your vehicles to full load, as per ILMTitan's answer, should help , but isn't perfect as you end up with trains that are always fully loaded (and potentially slower) and with queues forming for your loading stations (which isn't always an issue, admittedly).


I'm going to offer another alternative - timetabled loading times.

Specifically, just setting a timetable time for a normal loading order (not a full-load, otherwise the train will still just wait to full load). The train will stay in the station for at least the number of days specified, and will only stay longer if it hasn't got sufficient time to load goods that were already at the station.

It's still not perfect, but you get some of the advantages of the "do nothing" and "full load" options because your vehicles won't leave immediately if the station is empty, but at the same time you shouldn't end up with large queues at your stations. And, the timetable is easy to set-up and doesn't require frequent micromanagement like full timetables tend to.