I see a solution to a problem I had in my major previous game. Inspired by Aavak's series (parts 6-9; unfortunately, the series has been abandoned right at the point where the really interesting stuff should have been explained),I tried to build a smart rail system where all stations have the same name and trains are routed based on type (fluid or solid cargo) or wagon content. Before branches, I used routing stations that check whether a train of the current's train type/cargo is needed at any station behind that branch-off and set the signals accordingly.Hiladdar wrote: βFri Jan 25, 2019 8:21 pmA second functionality would be to have a what I call a way point train station. I.e. a train station that the train has to pass, but not stop at?
[snip]
The reason for that, is when a train is scheduled to leave a station, the Factorio determines the course to the next station. Once the train hits a way station, it will recalculate the path to the next station. In this example the way station is set up between the holding area and the unloading area, so once the train passes the way station, it will figure out to which one of the identically named unloading stations sent the train to. Without the way station, the I may have the all 3 trains attempting to head to the same unloading station at the same time. With a way station, all three trains hit the way station, and then each will be directed to the first available unloading station.
Currently, what happens, is the train comes to a complete stop at the way station, picks the next station proceeds to it. Ideally in this case, the train should not slow down at all at the station, but just pass the station routed to the next destination.
Now, train path finding apparently prefers the closest station, even if the way to it is blocked by a signal. So sometimes there would be a train blocking the routing station because the next station it was supposed to go to (behind the branch-off) was considerably further away than the next station on the main track (which was blocked by a signal). My solution was to put a "way point station" just a train length behind the branch: Trains (going from stop to stop based on the same conditions -- "circuit signal Green > 0" AND "1 second of inactivity") would stop at the way points where they'd get the green signal immediately, but still would have to wait for 1s before moving on. So, having a way point station that would just yell "COME HERE!" at a train without slowing it down would be killer! Seeing that such a station might also be useful (enforcing recalculation of the path) in more conventional railway systems, I really do hope that it will be added at some point.