One of the most interesting features of TTDX is the signalling. In many other railroad games, signals are simply lacking, instead trains randomly choose where to go and if two trains get on the same track they can just go through each other without being damaged. In TTDX, placing signals correctly is almost as important as building the track in the first place. Without signals, one cannot build complex railway networks, which are essential for high profit.

Building signals

Icon
Almost all signals are available as both light and semaphore signals. There is no difference concerning gameplay, semaphores are just about the historic look.

Signals are built using the appropriate tool from the menu. At the first click, a two-way signal will be built, clicking this signal again changes this into a one-way signal, further clicks change it into a one-way signal for the other direction and back to the two-way version. After placing the actual signal, one can change the signal type using the graphical interface.

Icon
Do not let yourself get confused by all the different types, they are explained on the appropriate pages. The menu image is clickable and leads to the correct sections.
Icon
The signal gui window in TTDPatch needs to be activated as experimental feature! Please check the TTDPatch wiki for the correct settings.
In order to fully use the signal menu, one needs to download and add an additional graphics set: Download from tt-forums.
Standard signal Presignal entry Presignal exit Presignal combo Through signal Path-based signal PBS presignal entry PBS presignal exit PBS presignal combo Inverted routing Restricted signals Signal GUI TTDPatch
TTDPatch Not in OpenTTD

When holding Ctrl while clicking a signal as when to change the signal type, the GUI window opens. One can select the signal type by simply clicking the appropriate icon, with the greyed icon marking the current type.

Standard signal Presignal entry Presignal exit Presignal combo Basic path signal One-way path signal Standard signal Presignal entry Presignal exit Presignal combo Basic path signal One-way path signal Signal GUI OpenTTD
Not in TTDPatch OpenTTD

The signal menu opens as you select the signal icon from the tool bar. The signal type can be selected from this window, with the upper row showing the semaphore versions, the lower row showing the light signals. Both semaphores and light signals act identically.

Terms and descriptions

To understand the theories in the following paragraphs, it is necessary to know some terms:

signal block
A signal block consists of all pieces of track between entry signals and exit signals. There can be up to 255 signals for a signal block, which should be more than enough. There can also be blocks without entry/exit signals, so that trains cannot enter/leave the block, but these setups do not any have practical relevance.
entry/exit signal
Entry signals are all signals that lead into a signal block, exit signals lead out of the block.

All signals are entry signals and exit signals at the same time (exit from one block means entry into another block). The actual type of the signal is unimportant in that respect (it is important for efficient signalling, though)!

Just in case you did not understand what I wrote just above, I'll try to give an example: Imagine a huge labyrinth of chambers. All chambers are connected by doors. In other words: Each chamber is a signal block, each door is a signal. Any door through which one can enter a chamber is equivalent to an entry signal, at the same time one can leave the other chamber through said door, which is the equivalent to an exit signal. Doors may be closed at any time, usually because somebody else is in the chamber behind that door and only one person per chamber is allowed. A closed door in this sense is the same as a signal showing "Stop!". Quite easy to understand, actually.

Examples

Icon
The signales here are only placed to show where the signal blocks begin and end! These examples have nothing to do with correct signalling!
Signalblock

This is a very simple signal block. One signal leads into it, the other one leads out. Remember that the area before the first signal also acts as a signal block, as does the track behind the second signal.

Signalblock

Here, one track branches into three. This is the common case at junctions, where signalling becomes important.

Signalblock

The inverse is also possible, four tracks merge into one here. In such a case signals are vital for directing traffic.

Signalblock

A signal block does not have to consist of just railway tracks. Here the station forms one signal block, guarded by a two-way signal to allow entry and exit.

Behaviour

In TTDX, a signal can either show "Stop!" or "Go!", depending on a number of conditions. This is true for all signal types, also for pre-signals and path-based signalling! Both enhancements only change the conditions that determine whether a signal should switch between the two states. A light signal shows its state by a green or red light. Semaphores raise or lower their arms.

Icon
In these guides I use the original signal graphics. There are other sets with signal graphics, which are based on real-world examples. These show "Stop!" and "Go!" in other ways.
Form- und Lichtsignale

Example for semaphores and light signals, each showing "Go!" (left) and "Stop!" (right).

A train will never, under no circumstances cross a red signal (the player may enforce it manually, though). It will either try to find another way, or it will stop at the signal, waiting for it to turn green. A train will also never cross a one-way signal from the wrong side (except for the so-called through signals). If a signal has not turned green after a certain amount of time, a train waiting there will turn around and try to find another way. The waiting time can be set.

Pathfinding

Before discussing the influence of signals on the behaviour of trains it is important to take a short look at their pathfinding. Think of a moving train as the result of two processes: pathfinding tells the train where to go, and the signals tell the train when to go. Usually, both processes are connected in various ways, i.e. as soon as you build junctions and signals a train will not move without the results of both processes.

TTDPatch

Pathfinding in TTDX and TTDPatch roughly works as follows: The train itself knows its own position and the position of its destination. Every time a train arrives at a switch, it will look ahead to choose where to go. This look-ahead is limited, it will stop after seven junction tiles or 64 squares, whatever happens first. If pathfinding finds a route to the destination within that look-ahead, the train will take the route leading there. If the destination is farther away, the train will take the way that will take it closest to the destination. However, this may result in trains going the wrong way because the path takes them nearer, but not to their destination, and they may get stuck somewhere. In this case, use waypoints to improve your network.

Icon
A train does not plan ahead which way to go! It does decide its route on every switch it encounters. This is also valid with path-based signalling, although it makes a different impression.

One important aspect about the influence of the signals on pathfinding is the subtle, yet important difference between one-way signals and two-way signals (no matter whether they are standard, pre-signal or PBS ones). The following examples will show this. The driving direction is always from the left to the right, so the signal to the left is the entry signal, the signal to the right is the exit.

one-way vs. two-way

In this picture two junctions are shown, the only difference being the exit signals. Trains will therefore behave differently. Two-way signals tell a train that there are several equal possibilities to choose from. This means if one exit shows "Stop!", the train will take the other one. This enables trains to choose any available platform on a station, but do not use this on switches where tracks will go into different directions!

One-way signals do not allow the train to choose. If the exit that a train has chosen shows "Stop!", it will not go anywhere else, but stop in front of the signal, waiting for it to switch to "Go!".

one-way vs. two-way

This picture shows the behaviour. The left train waits at the one-way signal showing "Stop!", ignoring the other one to the left that shows "Go!". The other train chooses the free platform, since it is allowed to choose from all possible two-way signals.

one-way vs. two-way

If the shortest way to the destination is marked by a one-way signal, trains will ignore any two-way signals which lead to the destination as well. In the case of the image, the train has chosen the track towards the middle platform and has to wait at the signal, although the other platforms are free.

one-way vs. two-way

If the shortest way to the destination is marked by a two-way signal, trains will look for alternative paths to their destination. Trains prefer to take the path to their right if it is free, regardless of the kind of signal placed there.

The connection of two-way signals also telling the pathfinder that this is a choice between equal possible ways may lead to unwanted behaviour in certain cases. The typical example is that trains might turn around and go in the opposite direction than it was thought. TTDPatch offers inverted routing as a solution.

OpenTTD

OpenTTD uses a completely rewritten algorithm called YAPF (yet another path finder). This algorithm can look for paths through the network much more cleverly than the original one, so the limitations from the original engine do not matter anymore. In addition, the new system is much more flexible.

As players, you only need to know that the pathfinding also takes signals into account when calculating the best route. Each possible path will be given a certain value, depending (upon other criteria) on the number of signals which show "Stop!". The path with the best value is then chosen.

Icon
One can influence the weighing factors of the pathfinder in the configuration file openttd.cfg. However, you should really know what you are doing there and how this could affect your game - it is a much better idea to just rebuild the problematic points in the network, if something does not work as expected.