[0.17.49] Train ignores circuit stops and changes to green afterwards
Posted: Fri Jun 14, 2019 5:10 pm
by exgen
I found two bug while working on managing trains. What I wanted to do was to change a train's path after it reserves a chain signal block but before it's brake distance actually reaches the signal. When the train reserves a chain of blocks in it's path, all of them turn yellow. So my setup is to simply close the rail signal when it's yellow.
This is normal behavior of the train:
Rail signal ignores the close command. You can see here that the braking distance is far from the actual intersection:
1.PNG (1.92 MiB) Viewed 898 times
2.PNG (1.84 MiB) Viewed 898 times
Train also ignores it:
3.PNG (1.77 MiB) Viewed 898 times
I'm not entirely sure if this is a bug or an intended behavior but considering that ignoring circuit condition when braking is possible could invalidate many of rail signal circuit uses, I assume it's a bug.
Rail signal changes to green after the train goes past the signal:
4.PNG (415.45 KiB) Viewed 898 times
5.PNG (394.46 KiB) Viewed 898 times
6.PNG (399.71 KiB) Viewed 898 times
7.PNG (385.56 KiB) Viewed 898 times
And it stays green until the train leaves the block.
Re: [0.17.49] Train ignores circuit stops and changes to green afterwards
Posted: Sat Jun 15, 2019 6:55 am
by kovarex
Hello.
1) Isn't a bug, as you (obviously) can't close signal by a circuit network if it is already reserved by a train.
2) Is a bug that is solved for the next release (related to other problem in other bug report solved already)
Re: [0.17.49] Train ignores circuit stops and changes to green afterwards
Posted: Sat Jun 15, 2019 12:58 pm
by exgen
Thank you.
I would argue it's not so obvious because the only way to actually try to make logic integrated with train pathfinding algorithm is to let the train reserve a block and try to manipulate it afterwards. What seems right to me that if the train's braking distance has not reached a reserved signal you want disabled and it's part of a chain signal block, it should try to re-path if possible, and if it can't then maybe ignore.
Then I would like to hijack this thread to make a suggestion. The actual situation I needed this for was for this build:
sq.PNG (2.83 MiB) Viewed 863 times
What I'm trying to achieve here is to prevent the algorithm from using the inner lanes unless it's absolutely needed, to make more throughput possible.
My suggestion is simple and very robust: add a player chosen "penalty value" to rail signal interface which then adds or subtracts from path score when algorithm uses this signal.
What makes this interesting is that this opens so much more possibilities from more intelligent stackers and stations to priority paths for near or far destinations.
If you think this thread is not a good place for suggestion I would be happy to make a proper one.
Re: [0.17.49] Train ignores circuit stops and changes to green afterwards
Posted: Sat Jun 15, 2019 1:55 pm
by kovarex
exgen wrote: Sat Jun 15, 2019 12:58 pm
My suggestion is simple and very robust: add a player chosen "penalty value" to rail signal interface which then adds or subtracts from path score when algorithm uses this signal.
What makes this interesting is that this opens so much more possibilities from more intelligent stackers and stations to priority paths for near or far destinations.
This is planned for a quite some time already. But not before 1.0 Factorio is finished. (And everything after 1.0 is just a speculation)
Re: [0.17.49] Train ignores circuit stops and changes to green afterwards
Posted: Sat Jun 15, 2019 4:54 pm
by exgen
As expected from the greatest developer team I’ve interacted with, making the best game of this genre.