Transport Fever 2

Transport Fever 2

48 ratings
Advanced Timetabling Tutorial to Enable Local/Express (Slow/Fast Train) Running Using the Timetable Mod [Update 2023]
By EoF
Finally, a guide to implement *real* local/express (slow/fast) train running in Transport Fever with the Timetable mod. Plus more advanced tips for timetabling in general!

[www.patreon.com]
4
   
Award
Favorite
Favorited
Unfavorite
Intro
For many years people have attempted to implement local/express (slow/fast) train running on a single line in Transport Fever, with less than ideal outcomes. Although stations and passing loops can allow trains to overtake, there is no guarantee that an express train will not be slowed down by a slow train ahead. Quadruple tracks solve this, but it is a solution that is both costly and unrealistic. Finally, with the game-changing Timetables mod by celmi, we can now achieve reliable local/express running on double track lines in Transport Fever 2.
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2408373260
Update by Gregory365
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2918585390
We found that there have not been any guides here addressing the complex topic of timetabling, so we decided to create the first guide on how to run timetabled local/express trains Transport Fever 2, using lines from our own “Peninsulas” map as case studies, which are some of the first lines created in Transport Fever 2 featuring high-frequency local/express running that we know of. (You can watch our High-Speed Rail cab ride video here)

The timetable mod allows you to assign pairs of arrival time and departure time to stations. We will be referring to each pair as a timeslot. As this is an advanced tutorial, we are also not discussing how to use the mod or create simple timetables here.

Before we start, you should understand the constraints created by the game and the mod mechanism. The timetable mod controls only departure times by stopping trains that are early (before scheduled departure time). There is no way to make a delayed train run faster to catch up, so the only way to ensure a stable operation is to add additional time margin for delays at stops and terminals and stop the train so that it may depart at the departure time assigned by us. Any uncontained delay may cause the complete disruption of timetabled operations.

The train diagram (Bildfahrplan/"ダイヤ") is the best way to design and visualize a complex timetable. One axis represents distance on the line, with stations marked on it; while the other axis represents time. Each diagonal line represents a train. As shown below, on a double track line, no two lines representing trains travelling in the same direction may cross each other unless at a station with a passing loop. On a single-track line, no two lines representing trains (travelling in any direction) may cross each other unless at a station or signal stop where passing is possible.

An excerpt from the timetable diagram of our High-Speed Rail line, showing complex local/express patterns with low headways
The same timetable, showing only trains on one direction
Basic steps (outline) of building a timetable
First, figure out and record the time it takes for any type of train to run between every 2 stops on the line. This includes stations the train stops and does not stop at. Use the ideal running condition with the train not being slowed by traffic to measure the benchmark time. Then you may want to add additional margin for delays.

Plot the express/most frequent/most important train into the timetable first. You want to establish the stopping time in stations based on the average load/upload time at that station, with longer times for large stations. Make sure to leave ample time margins for the trains to keep up with the schedule. Keep in mind: at line terminals, each arrival time slot should be paired with a departure time slot for the other direction, with ample turnaround time in between to absorb delays. Duplicate the schedule to add in the next departures according to your desired headway (preferably a factor of 60 minutes).

Update: It is currently possible to automatically copy timetables based on the headway cycles using the updated version.

Then fill in the slow and less frequent trains as they can be played around a bit to prioritize the core service. This is the point where you decide at which stations are you going to allow slow trains to be overtaken by fast trains. There are normally 2 ways to achieve this: in [1], the slow train is overtaken by the fast train with the fast train not stopping. In [2] the slow train is overtaken by the fast train with them both stopping in a station (This is also known as local-express connection/緩急接続 in Japan and can be used to create frequent local/express services on double track lines with limited infrastructure).

[1]Red trains overtaking black trains






[2]Red train overtaking pink train




In both cases, you want to leave ample time margins for the trains to keep up with the schedule, particularly at stations where overtaking is occurring you don't want the slow train to depart early before the fast train can overtake it, or to arrive too late to slow down the fast train behind it. You can attain an ideal timetable by extending stopping times of slow trains at stops.

It is best to enact a strict timetable on a brand new line. You need to control where and when to send a train into a line in order to put every train into the right slot in the timetable and get the line into the proper initial state. More micromanagement is needed if you are enacting a timetable on an existing line. You can't have more than one train occupying the same slot in the timetable. Note that at each and every station on a line, there should be the same number of time slots in timetable, which is also the maximum number of trains you can run on the line. Test run the service for a bit to shake out any potential timetable bugs.
Some more tips
You need to simplify the process by using trains with the same performance on the same service.
Unless your service is long and frequent, usually a few stations for overtaking should suffice. Start from one such station and build the rest of your timetable outwards from it.

If you want to be realistic and conservative about rail infrastructure, you can figure out which stations would need passing loops by designing the timetable first.

Since the timetable mod runs in 60-minutes cycles, you should have headways in factors of 60 to avoid problems as the minutes loop around. If your services have the same headway, the timetable can also form repeating cycles that simplify its structure. If your services have different headways, for example 4 mins and 5 mins, the timetable can also have repeating cycles each 20 minutes.

There are some issues and quirks in the current mechanism of the timetable mod. For example, it matches a train to a timeslot in the timetable by finding out which arrival time is the closest to the current time. You might need to tweak the arrival time a bit in some cases to ensure no train gets mismatched, especially if the timetable features a long dwell time at a station. Also, the timetable departure time is when the doors start closing, not when the train starts moving (as is the case in real world).

Also, in the current version, when a saved game is reloaded, the departure times for stopped trains are lost and the train could be rematched to a wrong time slot based on the current time (a fix is not yet released). You should pay special attention to these issues at line terminals where the train stops for a long time.
Update: this has been fixed in Gregory365's update of the mod. Now vehicle arrival times are recorded across save/load cycles.

Advanced Tips
  • This guide did not focus on single-track lines, which is a major application of timetables. Note that on single track lines, the location and track layout of stations very much limits the timetable of the line. Precise timetabling and signal placement can be a huge boost to capacity of single-track lines. The simplest single-track timetable is built by having opposite-direction trains arrive and depart at the same time at stations where passing is possible.

    Check out one such application in action

  • Line junctions that are not grade-separated should be treated as special stations during the initial timing phase of timetable design. Timetabling is perfect for the de-conflicting at these junctions.
    In the typical case shown here, there is only one point of conflict between opposite-direction trains, which means the timing for these particular trains at the junction should be kept apart.

  • The same thing applies to terminus stations shared by multiple lines, where departing and arriving trains will occupy the station approach and affect movement of other trains. One tried-and-true approach is to plan a departure time right on or after an arrival time, and leave ample time until the next arrival.

  • To calculate how many vehicles are needed to run a timetabled service, find out the total time it takes for one vehicle to complete one round trip on the line (Station A-Station A) and divide by the headway (in minutes). If the headway is not a divisor, your timetable is not properly designed.


  • Train Spacing and Line Frequency




The Timetable mod is the first step in making the game capable of simulating complex train operations resembling the real world. Timetabling is a topic of extreme complexity IRL and this guide only touched on the surface of it. Our own Bohai map currently features timetabled operations for subway and commuter rail, single track and mainline railways, and high-speed rail alike.

A limited stop service overtaking multiple slow trains on the high-speed rail is demonstrated by our cab view video (See Below). Now these trains always run on schedule and achieve the highest speed possible without delays. More videos showcasing the tremendous capabilities of timetabling on our own "Peninsulas" map will be coming soon. If you want to learn more about the secrets and tricks behind these operations, check out those videos, subscribe to the channel, and join our discord!

If you have more questions about timetabling, feel free to ask us here or discuss in our discord[discord.com].

If this guide is helpful to you, please consider supporting us on Patreon[www.patreon.com].

8 Comments
EoF  [author] 25 Dec, 2023 @ 8:31am 
@SoopahMan is it also causing high RAM usage at the same time? We are actually actively investigating this issue. Please to feel free to reach out via Discord. Thank you.
SoopahMan 8 Dec, 2023 @ 7:48am 
This is very impressive!

Which mod are you using for the underground station?
SoopahMan 8 Dec, 2023 @ 7:39am 
Do you find this mod greatly slows the game down? I find it chugs along, like little framerate freezes every second, unless I disable the Timetable mod. Otherwise I'd always use it.

Another opportunity to pay the mod devs to thank them and integrate it directly into the game.
Pixel5001 11 Nov, 2022 @ 2:42pm 
Cool Explanation!
Gregory365 11 Aug, 2022 @ 9:56am 
Great guide. Well written!
Caesium-137 25 May, 2022 @ 3:39am 
Thanks a lot for the tips! May I know what software is used to create the train diagram (Bildfahrplan)?
Will 21 Jul, 2021 @ 1:50am 
wow!
A Guy Called Pi 17 Jul, 2021 @ 11:39am 
been spending ages trying to figure out and finetune this process myself. Anything's possible with any number of services set up, but you'll need to know the "real world" performance of each vehicle type. when you get into the more complicated setups you might find certain vehicles can't keep up or take too long to load and unload. It's very useful for making informed decisions because you can simply follow vehicles around and time them. if anything goes wrong it should be obvious almost immediately.