Chain signals that consider the train length

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

mrvn
Smart Inserter
Smart Inserter
Posts: 5842
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Chain signals that consider the train length

Post by mrvn »

TL;DR
Chain signals should take the train length into consideration when determining their color.
What ?
Currently a chain signal allows a train to pass when the next signal along the path allows the train to pass (recursively till they hit a non-chain signal) and only reserve that next block. Instead the check should be if they can reserve a large enough stretch of rails for the train in question to fit into.
length-relevant-signal.png
length-relevant-signal.png (266.22 KiB) Viewed 1008 times
In the above the the red circled signal is wrong for trains longer than 2 (locomotive + cargo wagon) as longer trains might end up stopped while still on the crossing. If a LCCC train approaches the green circled chain signal then the game should not just reserve the next block after the crossing but should reserve two blocks because both are needed to fit a LCCC train. It would be like the red circled signal only exists for LC trains.
Why ?
Setting signals correctly is hard enough for most users and it is easy to make a segment too small for the trains used, especially when adding more rails to an existing setup when expanding. This then leads to trains stopping while still on a crossing and causing random deadlocks when things get congested. This is really hard to detect unless it happens because most of the time it will work, until it doesn't.

When increasing the length of trains this also means hat each and every rail crossing has to be examined and potentially needs to be re-signaled to match the new train length.

When using trains of different length the chain signals must be placed in such a way to always accommodate the longest train, which is inefficient for the shorter trains. There is currently no way to make it efficient for both short and long trains. With most trains being short (after ore and plate haulers desired train length quickly drop off) this means the rail network is inefficient for most trains. For large bases ore haulers with 8 or 16 cargo wagons aren't uncommon while you would never use that for rocket control modules for example. The difference of signal requirements for a LLLLCCCCCCCCCCCCCCCC train and a LC train are completely different. One would have to place train stops in the main base too far apart to be practical to correctly signal for LLLLCCCCCCCCCCCCCCCC trains everywhere or use only chain signals inside the base. Both are not desirable. And placing signals with smaller blocks inside the base is catastrophic if a ore hauler wanders into the main base, maybe because the game decided it should go to an ore smelter across from the base at some point.

The proposed change causes no change in behavior for a correctly signaled rail network. The change would prevent many cases of bad signal placement where segments are left too short (either from the start or due to adding longer trains later in the game). It would allow placing signals more efficiently for shorter trains without breaking the network for large trains.

I considered asking for an option to configure chain signals like the above but I believe this should be the default and only behavior.
Illiander42
Filter Inserter
Filter Inserter
Posts: 521
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: Chain signals that consider the train length

Post by Illiander42 »

This would convert the whole train system from block-based to path-based.
mrvn
Smart Inserter
Smart Inserter
Posts: 5842
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Chain signals that consider the train length

Post by mrvn »

How so? It just changes the amount of blocks a chain signal checks / reserves to let a train pass. Nothing in what the train system is based on changes.

Note: chain signals already only reserve blocks along the path of the train. It's just the distance this proposal changes.
Illiander42
Filter Inserter
Filter Inserter
Posts: 521
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: Chain signals that consider the train length

Post by Illiander42 »

That's *the* difference between a block and path train system.
mrvn
Smart Inserter
Smart Inserter
Posts: 5842
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Chain signals that consider the train length

Post by mrvn »

Then the system is already a path system because chain signals follow the path of the train reserving all blocks until they hit one with a normal signal.
SoShootMe
Filter Inserter
Filter Inserter
Posts: 517
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: Chain signals that consider the train length

Post by SoShootMe »

mrvn wrote: Thu Dec 07, 2023 9:59 am Then the system is already a path system because chain signals follow the path of the train reserving all blocks until they hit one with a normal signal.
As I understand it, the defining quality of path-based signalling is that multiple trains may reserve/occupy a single block provided the paths do not conflict; or in other words, that trains reserve/occupy particular paths through blocks, not (necessarily) blocks as a whole.

As you originally wrote, I see no relation to this suggestion.
Post Reply

Return to “Ideas and Suggestions”