DECKELEVEN'S BLOG

Here you can find out what we have been up to. Feel free to leave a comment or give your feedback!

How switching works?

Switching happens when a train has multiple possible paths when going to a waypoint.

The game automatically creates a switching signal at the place where a switching decision is made:

A simple switch

When a train arrives at a switching signal, it must decide which path it will take.

For that, it inspects the different signalling blocks:
– the switching block is the block just after the switching signal
– the outgoing blocks are the blocks just after the switching block

The signalling blocks used for switching


Here are the rules for switching:
– If the switching block is occupied, the train waits at the switching signal.
– If not, the train inspects the outgoing blocks and chooses one that is not occupied.
– If all the outgoing blocks are occupied, the train waits at the signal.

In our simple example, in this situation, the train will choose the upper path, because the switching block and the upper outgoing block are not occupied :

Nothing in the way

In this situation, however, the train will choose the lower path, because the upper outgoing block is occupied:

Upper outgoing block is occupied

In this situation, the train will wait because all the outgoing blocks are occupied:

No free outgoing block

That’s it! Switching is quite easy when you know the rules.


For successful switching, you have to be careful how you place your signals though.

Let’s have a look at some common design errors:

Missing signalling blocks

In this situation, the switching will never happens, because there is no signals, and therefore no signalling blocks to inspect.

Missing signalling blocks

Long trains

In this situation, the switching will not happen either. The incoming train will always wait at the switching signal, even though the second platform is available. The reason: the tail of the long train on the station platform is blocking the switching block.

Long train tail is blocking the switching block

For long trains, you must use stations with long platforms. See the Railropedia to learn how to do that.

Incomplete blocks

This one is a bit trickier. Can you see what is missing?

Incomplete blocks

In this situation, the switching will never happen. The outgoing blocks are incomplete: there are signals at the station entries, but not at the exits. As a result, the two platforms form a single signalling block.

Wrong outgoing blocks

In this situation the incoming train will not go the lower track. It will go the the upper track even though the upper platform is occupied. Can you see why?

Wrong outgoing blocks

In this case, the outgoing blocks used to decide the switch are not the station platforms. They are the tracks just after the switching blocks and they are both empty. So the train will take the upper path, and will queue behind the loading train.

Sometimes, this is what your want, but if not, make sure you know which blocks are used to decide the switch.

Merged blocks

Sometimes a block is bigger than you think.
In this situation, the two outgoing blocks are connected by a crossing track. They are merged and form a single block. As a result, the switching will never happen.

Merged outgoing blocks

Multiple switches

In this network, the player connects two stations with two tracks, hoping that trains will switch at the first rail switch, choose an empty track, then switch at the second rail switch to find an empty platform.

Too many switches

But it does not work. Trains always end up facing each other.

Do you see why?

Things get clearer when you display the train paths:

Trains only switch once

The router will always look for the shortest paths. In this setup, this means that trains will switch only once between A and B, not twice. The second rail switch is never used.

Rail switches do not matter for train switching. Only the actual train paths are considered.

Balancing traffic between two bi-directional tracks is very difficult. A possible alternative here is to use one-way tracks instead. For this, you have to add intermediary waypoints on the tracks.
See the Railropedia/One-way tracks article for an example.

10 thoughts on “How switching works?

  1. In order to switch properly in last example, only ONE (from two) way must be ruled as entrance to station. Other word, trains must be ruled to go only on ONE side, right or left, out of stations.

    1. A possible solution is indeed to use intermediary waypoints on the two tracks. If you do this, you turn the two tracks into two one-way tracks, and the switching works (See Railropedia – one way track for an example).
      But that’s not what the user tries to do here. The user wants to make two bi-directional tracks with load balancing.
      Load balancing bi-directional tracks is very difficult.

      1. Thanks for the answer.
        Such balancing is not possible at all, especially on long sections of the path, because then the user will have to allocate a path to a specific train up to the point where it can diverge from the oncoming one. And this is completely impractical. So don’t bother with that.

        Now the General comments.
        1. As far as I understand, the train arriving from either side always tends to take the path closest to the station building, and this sometimes causes a collision with the oncoming train leaving the station. In my opinion, it would be advisable to give priority to the station track that is closest to the track on which the train arrives, regardless of which side the station is located. If it is possible, of course.
        2. In a number of annoying and incomprehensible cases, the arriving train tends to occupy exactly the station track from which the oncoming train departs, or ready to departs, although there are free tracks nearby. This is the main misunderstanding that I encountered…

        1. Trains facing each other are usually the result of crossing cases. For instance, train A can decide to go to platform 1 because it’s empty. However because train A is not yet at platform 1, it has not yet blocked the station platform.
          If for some reason, another train B makes the same decision at the same time, they can use the same platform (It can also be that train B is a new train that is dropped on platform 1)
          When train A and train B are entering/leaving from different sides, it’s ok (That’s why double sided terminus are working).
          When train A and train B are entering/leaving from the same side, it can lead to interblocking. It’s a rare crossing case that will probably be addressed in a future version.
          Your point 1 is possible, however we currently prefer to prioritize tracks this way to support an upcoming new node that will allow traffic balancing between tracks.

          1. Thanks.
            So far, the most reliable way to avoid collisions that I have found is to do – at end stations-a loop of the type: (direct) path 1 – all station paths-loop – (reverse) path 2. This not only eliminates all collisions, but also increases the capacity of the station.
            And at intermediate stations-divide the station tracks into one way – direct and reverse.

  2. Could you add a feature to tell/specify if an extended platform is long enough for a long train? Sometimes you’ll spend ages setting up a complex set of stations/warehouses/etc in a tight space and find out only when it’s up and running that either you’ve massively overestimated how long the track needs to be, or worse it’s JUST not long enough so the signals don’t work and you need to redo a lot of work. You can’t just test it to see if the train will fit until you’ve completed the whole circuit.

    Could you, for example place a train without a route on a track, and select which way it faces so you can see what room it needs?

    Love the game though. Looking forward to electric dreams. Keep it up!

    1. I’ll add “measuring tool” to the todo list. Unfortunately the todo list is quite long, so there is not ETC on this.

  3. Please add some feature like bridge over bridge, add road for railway crossing , on thing is if we exit the game accidentally the game progress not seved, pls correct this.

  4. In version 2.3.2, an unpleasant bug was found. At least in the sandbox. It is not possible to build a two-row (or more) bridge over the tracks, only a single-row one. In the same place, in the absence of tracks under the bridge, … is built without problems, even four-row… but then lay paths under it… it is also impossible. Repair, please… 😉
    Else one. Make mooore… up to 10 sandboxes, pleeeeeeease! 🙂

Leave a comment

Your email address will not be published. Required fields are marked *