BenSeidel wrote: ssilk wrote:
mrvn wrote:Having the train skip stops where the leave condition is already met should be simpler and already help a lot. No GUI changes required.
Exactly. Would be easy to be implemented. Eventually already in 0.15.
Would be easy to implement, but would not have the desired outcome. How would a circuit network signal interact with the trains wait condition? Does the train automatically "know" what the values of the network are for it's targeted station?
Yes. Train operators have a radio and call ahead to the station to check the network signal.
BenSeidel wrote:How does this interact with multiple stations with the same name? does it still find the closest station or does it find the closest station that it does not skip?
Interesting thought. With conditions that depend on the station the train could indeed ignore all stations that it would skip and drive to one where it should stay. If so consider this:
Station for loading are named properly and get lots of trains. All unloading stations are named "X" and get network signals for the goods they need. All trains have a fixed loading station and X with a condition of "Signal Y or cargo empty" where Y is the type of good they load. Then trains would deliver goods automatically to where they are needed and you can turn on/off demand for goods at each station.
BenSeidel wrote: What happens when the signals change at it's target station?
When the train checks the next station it evaluates the signal. Then it skips to the next station. So any changes in the target station get ignored since it no longer is the target. Tood bad. Don't make a station that toggles it's signal every tick from "stop here" to "go away".
BenSeidel wrote:How does the "inactivity" condition work with this system?
Simple solution: Inactivity is never true for the check. You have to stand at the station for the desired time to make it come true. So "Inactivity" would prevent any station skipping. "Inactivity 0s" would be the "don't skip this station" marker in the schedule.
Harder: Check the train contents against inserters at the stations to see if they would do anything. But then you get issues with inserters that react to signals, specifically signals of trains in the station or waiting bay.
BenSeidel wrote:How would you get a train to skip a station when it's 50% full? How would it interact with the possible feature of letting the train stop read the trains contents?
Item count = xxx
BenSeidel wrote:Many stackers will have an issue with this as they use a signal to control the type of train to be let through. If a train can find at least one station that is letting a train through then it will skip the station, and hence the stacker - not the desired outcome. While the skip station based on wait conditions may be a "simple" change, it offers many many more corner cases where you just won't be able to get the desired outcome.
If the stacker has a station where it lets the train through then skipping the station is the same as driving through that station really really fast. If that breaks the stacker then it is already broken.
Where it might break though is with routing stations. What I mean there is stations you have on the schedule so the train takes a certain path. Maybe combined with network driven signals that make it go a certain way after the station. But then wouldn't you have "Inactivity 0s" as condition for those stops? Worst case you have to add that.