Hello,
for every outpost I use a train stop (name is always "Support") for the daily needed stuff (Turrets, Repair Kits, ...). If a outpost runs short on some item, it sets the train signal of his station to green and sends a signal to the main station (A). The support train calculates a path to the open "Support" train stop and delivers his cargo. This works fine for all stations, except for B.
If B opens his station, the trains always calculates a route to C (that is closed!). Why?
When the trains waits before C, I always have to say to the train "go to main" after passing C "go to support". After this it finds his way.
I lost three trains, because they were waiting outsite of this outpost .
Trouble with the train path finding
Re: Trouble with the train path finding
put multiple circuit-based signals near c
no yes yes no yes no yes yes
Re: Trouble with the train path finding
I tried this, but this results in an endless loop.
The train arrives at C, the ciruit switches the signal to green. The train stopps at the "Support" stop and goes back to the Base (A). Then it gets the command to go to a "Support" stop. It calc's the path to C, and so on.
Putting two times "Support" into the train schedule did also result in strange deadlocks.
I guess, there is a "stop" in the "find path" algorithm, if the path gets to long? Does any one else tried this setup?
If this is true, I need may be two or more "Support" trains, for each direction. But I did not find any evidence for my guess.
The train arrives at C, the ciruit switches the signal to green. The train stopps at the "Support" stop and goes back to the Base (A). Then it gets the command to go to a "Support" stop. It calc's the path to C, and so on.
Putting two times "Support" into the train schedule did also result in strange deadlocks.
I guess, there is a "stop" in the "find path" algorithm, if the path gets to long? Does any one else tried this setup?
If this is true, I need may be two or more "Support" trains, for each direction. But I did not find any evidence for my guess.
Re: Trouble with the train path finding
also add extra signals at a.
the signals only add a limited amount of 'length' to a track and your track to b is so long that a single signal can't make the paths to a and c seem longer
the signals only add a limited amount of 'length' to a track and your track to b is so long that a single signal can't make the paths to a and c seem longer
no yes yes no yes no yes yes
- ChurchOrganist
- Filter Inserter
- Posts: 256
- Joined: Sun Apr 17, 2016 12:45 pm
- Contact:
Re: Trouble with the train path finding
Try removing the loops from your system and use double headed trains instead.
That way there will be no possible route to B via C so it won't be included in the pathing algorithm.
That way there will be no possible route to B via C so it won't be included in the pathing algorithm.
Want to know where the biters chewing your power plant have come from??
Wondering where your next iron is going to come from??
You need Long Range Radar
Wondering where your next iron is going to come from??
You need Long Range Radar
Re: Trouble with the train path finding
I played arround with the train schedule. And it seems there is a bound in the algorithm.
Or it is a bug. Should I file it in a different board?
Rule: If the train is too far away, it always selects the nearest station.
Conclusion: My idea will not work
Or it is a bug. Should I file it in a different board?
Rule: If the train is too far away, it always selects the nearest station.
Conclusion: My idea will not work
Re: Trouble with the train path finding
I have tested something:
Following Case:
2 Routes: one Route is blocked by circuit, one Route is blocked by train.
In this case the route with blocked by circuit will be choosen by train. This end ups your train is running to wrong station if anyhwere in this network is another train blocking the route.
Case 2:
2 Routes, both are blocked by train, the shorter path will be choosen, even if additional blocked by Network.
Case 3:
2 Routes, one is blocked by Network, one Route is free, the free Route will be choosen.
The length of the route is used too for calculating the route. If one route is free, but significant longer than the blocked route, the blocked route will be choosen.
Following Case:
2 Routes: one Route is blocked by circuit, one Route is blocked by train.
In this case the route with blocked by circuit will be choosen by train. This end ups your train is running to wrong station if anyhwere in this network is another train blocking the route.
Case 2:
2 Routes, both are blocked by train, the shorter path will be choosen, even if additional blocked by Network.
Case 3:
2 Routes, one is blocked by Network, one Route is free, the free Route will be choosen.
The length of the route is used too for calculating the route. If one route is free, but significant longer than the blocked route, the blocked route will be choosen.
- Attachments
-
- Route.png (2.7 MiB) Viewed 3668 times
Re: Trouble with the train path finding
The path calculation is more complex than expected.
I did some tests now, also having a second train on shedule with different settings. If there a train is on Shedule, the route calculate depending of waiting duration, for example if a train is going to wait long time at station, an alternate route will be choosen, if the train is expected to short time, no alternate route will be choosen.
Case 1
Route 1: =====TRAIN waiting short duration in station (30s) =====
Route 2: ===== NETWORK Block =====
Route 1 will be choosen.
Case 2
Route 1: ===== TRAIN waiting long duration in station (200s) =====
Route 2: ===== NETWORK Block =====
Route 2 will be choosen.
Case 3
Route 1: ===== Free Path, unexceptional long Route =====
Route 2: ===== NETWORK Block =====
Route 2 will be choosen.
For Case 1 and 2, the REMAINING waiting time is taken for path choosing, in my map its around 95 Seconds remaining waiting time. The path changes after passing the Threshold.
Case 4
Route 1: ===== TRAIN waiting long duration in station (200s) =====
Route 2: ===== NETWORK Block ===== NETWORK Block =====
Route 1 will be choosen.
Case 4 can fix your issue because using 2 signals in a row extend the THRESHOLD for patch choosing.
Case 5
Route 1: ===== Free Path, unexceptional long Route =====
Route 2: ===== (4x) NETWORK Block =====
Route 1 will be choosen.
If you add additional Signals in your NETWORK, to block a route, the you can extend the range of an alternate path and can reach stations far away you wouldnt reach with lesser amount of Signals
I did some tests now, also having a second train on shedule with different settings. If there a train is on Shedule, the route calculate depending of waiting duration, for example if a train is going to wait long time at station, an alternate route will be choosen, if the train is expected to short time, no alternate route will be choosen.
Case 1
Route 1: =====TRAIN waiting short duration in station (30s) =====
Route 2: ===== NETWORK Block =====
Route 1 will be choosen.
Case 2
Route 1: ===== TRAIN waiting long duration in station (200s) =====
Route 2: ===== NETWORK Block =====
Route 2 will be choosen.
Case 3
Route 1: ===== Free Path, unexceptional long Route =====
Route 2: ===== NETWORK Block =====
Route 2 will be choosen.
For Case 1 and 2, the REMAINING waiting time is taken for path choosing, in my map its around 95 Seconds remaining waiting time. The path changes after passing the Threshold.
Case 4
Route 1: ===== TRAIN waiting long duration in station (200s) =====
Route 2: ===== NETWORK Block ===== NETWORK Block =====
Route 1 will be choosen.
Case 4 can fix your issue because using 2 signals in a row extend the THRESHOLD for patch choosing.
Case 5
Route 1: ===== Free Path, unexceptional long Route =====
Route 2: ===== (4x) NETWORK Block =====
Route 1 will be choosen.
If you add additional Signals in your NETWORK, to block a route, the you can extend the range of an alternate path and can reach stations far away you wouldnt reach with lesser amount of Signals
Re: Trouble with the train path finding
You are right. If I block the path with an ciruit signal, the correct path is choosen. But, that means that no other train can use this track, because I have to cut of a whole part of this small network.If you add additional Signals in your NETWORK, to block a route, the you can extend the range of an alternate path and can reach stations far away you wouldnt reach with lesser amount of Signals
Your tests are quiet interesting.
It seems that the devs had only one scenario in mind: A station with multiple tracks. But they did not have in mind, that someone distribute the same station name over the whole map .