[Comments/criticism/suggested improvements welcomed. I may add descriptions of more complex operations at a later date.]
One of the biggest problems of network-building is maintaining a regular service on a route. Buses and trains (etc) often 'bunch up' and leave irritating gaps in service. While combining the "minimum load" and "max wait for load" features fixes this to some degree, it can be complex and requires a lot of micro-management.
Extended's "convoy spacing" feature makes the process easier. In simple terms, the feature allows you to select how many times a line will depart from a certain stop per month -- and forces lines to follow a regular schedule.
Here's a step-by-step guide given in terms of trains which will work for any kind of vehicle.
First, make a route in the normal way.
Second, pick which stops you want to enforce spacing at. Note that whichever stops you pick, it's likely that most trains will wait for a while at these stops, so it's best to pick the "end of the line" stops to avoid congestion with other lines.
When you've picked the relevant stops, change "minimum load" to 100% on them. You can see below that I've picked London Victoria and London Bridge, the two termini for this service.
Third, enter a "convoy spacing" value. This value determines how many times per month a train will be allowed to leave the stops you've just designated -- it is the "convoys per month" value.
I've entered "20". The time shown under this box indicates how often a train will run on this line: as you can see, trains will run half-hourly. The time will vary depending on how long your month is (i.e. depending on what bits-per-month and distance-per-tile settings you're running).
The effect is that trains are given twenty possible "slots" to leave London Victoria, at the following multiples of 30:06:
This means that if a train arrives at London Victoria between 00:00:00 and 00:30:06, it will have to wait until 00:30:06 before being allowed to depart. If yet another train arrives before 00:30:06, it would have to wait for the next slot at 01:00:12. If no train arrives between 00:00:00 and 00:30:06, then the 00:30:06 departure slot will simply be missed -- even if a train arrived at 00:31:00, it would then have to wait until 01:00:12 to depart. Because of this, you need to make sure to have enough trains assigned to the line, so that no slots are missed!SPACING SHIFT
There's more that you can do with this feature, too. Imagine that the journey from Victoria to London Bridge took 31 minutes. If this was so, then a train leaving Victoria at 00:30:06 wouldn't arrive at London Bridge until 01:01:06 -- and so would have to wait a full 29 minutes before leaving again. This seems like a waste of resources. Thankfully, using the "shift" setting, we can resolve this. First, deselect "Use same shift for all stops". Now click on London Bridge in the schedule, and enter a value into the box which currently says "0".
The time displayed underneath now represents the timetable "offset" for London Bridge. This means that the departure slots from London Bridge will be as follows:
Note that it's crucial to deselect the "Use same shift" button, because otherwise we'll be changing the Victoria departure time too -- and we don't want to do that! Note also that you'll need to play around with the spacing numbers and the "spacing_shift_divisor" in the settings menu to get the right values here. The rule here is as follows: set the "spacing_shift_divisor" to exactly the number of minutes-per-month in your game. That way, entering "1" into the shift box will amount to exactly one minute, and so on.AN APPLICATION: FAST AND SLOW TRAINS
There are all sorts of other ways in which spacing shift can be useful. Perhaps you want a fast train and a slow stopping train to use the same tracks. This is a problem, since you'll often find that the fast train gets stuck behind the stopping train. But using the "spacing shift" feature, you can make sure that the slow train always leaves the crucial station just AFTER the fast train, thus giving the fast train a free run. Set the "convoys per month" value of both lines to the same number. Now give the slow train a "spacing shift" value of, say, 3. This will have the desired effect -- the slow train will always leave just after the fast train.ISSUES
At spacing stations, trains will only wait until their minumum load is satisfied. So if a train reaches 100% load ten minutes before it is supposed to depart, it will depart nevertheless. This is good for economic reasons, but not so good if the spacing is part of your network management. Watch out for this. (NB. I've made a patch to increase the max. "minimum load" value to 150%, to allow one to sidestep this problem: we shall have to wait and see whether it is included in Extended).
Also bear in mind that loading times and reversing times should be taken into account when you calculate departure times. I've ignored this above for simplicity.Moderator note: References to "Simutrans-Experimental" updated to "Simutrans-Extended" to reflect the name change, 13 February 2017.