[0.12.3] Train ignores chain signal if entering station bloc

Bugs that are actually features.
Post Reply
sillyfly
Smart Inserter
Smart Inserter
Posts: 1099
Joined: Sun May 04, 2014 11:29 am
Contact:

[0.12.3] Train ignores chain signal if entering station bloc

Post by sillyfly »

As the title says - If the trains tries to enter the block of it's target train stop, it will ignore chain signal.

Simple way to reproduce -

Code: Select all

  A  s  S      c    B
=<<================<<==
s = signal
S = stop
c = chain signal
<< = train

Since train A blocks the output, the chain signal is red, but train B will happily ignore it and enter the block.

sillyfly
Smart Inserter
Smart Inserter
Posts: 1099
Joined: Sun May 04, 2014 11:29 am
Contact:

Re: [0.12.3] Train ignores chain signal if entering station bloc

Post by sillyfly »

Ok, I realize now this is more complicated than I thought, because the train will need to know the next destination (Because it may decide to exit the same way it came in, in some scenarios).

Still, since the chain signal is red, I think this should at most be considered a UI bug. But I suggest changing the behavior so that a train would not ignore a chain signal in this case, at least in cases where it can't reverse out (due to one-way signals).

Rhamphoryncus
Fast Inserter
Fast Inserter
Posts: 120
Joined: Tue Jul 14, 2015 10:57 pm
Contact:

Re: [0.12.3] Train ignores chain signal if entering station bloc

Post by Rhamphoryncus »

IMO this scenario should produce a "no path" error. The train shouldn't be stopping in a chain signal block so it should be unable to stop at that station.

voyta
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Thu Jul 23, 2015 10:29 pm
Contact:

Re: [0.12.3] Train ignores chain signal if entering station bloc

Post by voyta »

Rhamphoryncus wrote:IMO this scenario should produce a "no path" error. The train shouldn't be stopping in a chain signal block so it should be unable to stop at that station.
Please don't "fix" it like this. "no path" is clear message to the track designer that he made an error and must build/deconstruct something in order for it to be usable by the train in question.
But this situation is (almost always) temporary.

sillyfly
Smart Inserter
Smart Inserter
Posts: 1099
Joined: Sun May 04, 2014 11:29 am
Contact:

Re: [0.12.3] Train ignores chain signal if entering station bloc

Post by sillyfly »

I agree, "No Path" shouldn't be used in this case.

As I see it there are a few possible solutions, depending on how you perceive chain signals and train stop.

1. Chain signal means "don't pass unless you can reach your destination" - this means in the case described the train should indeed cross the signal, as it only wants to go as far as the train stop. In this case, the bug is that the chain signals displays red, when it should display blue (In other words, chain signals can chain in to stops as well as signals).
2. Chain signal means "don't pass unless you can vacate (chained) block" - this means in the case described the train should have waited. But this may be more complex in case the block with the stop has more than one exit. I think in this case the train should try to calculate it's path for the stop after this one to figure if it will have to use a blocked exit or not. This may not be the path it actually ends up taking, as it would re-calculate it upon exiting the stop, but it's better than nothing.
3. Chain signal means "following block should be kept vacant whenever possible" - this means the case described is not supported. In this case the chain signal should blink red/blue/yellow (wrong placement) and should be ignored by all trains, just like when you put a normal signal on a track where the back and front are connected.

I tend towards number 2, but any of these solutions may be considered valid. What is definitely a bug is the current case, where a signal is red, yet a train passes through it.

kovarex
Factorio Staff
Factorio Staff
Posts: 8078
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: [0.12.3] Train ignores chain signal if entering station bloc

Post by kovarex »

I believe the current behaviour is good enough, so I'm moving it to not a bug.

Post Reply

Return to “Not a bug”