Page 1 of 1

Trains ignore stop if wait condition already met

Posted: Wed Feb 21, 2018 7:45 pm
by EvilxFish
As the name suggests if a train has already met the wait condition before it arrives at the stop it should ignore the stop and move on to the next one.

That way, for example, if there are multiple locations to pick up ore from but the cargo inventory is already above the limit set for the next stop it can skip the stop and move on to making the delivery at the furnaces straight away.

Re: Trains ignore stop if wait condition already met

Posted: Wed Feb 21, 2018 8:20 pm
by FactorioParadox
What about the "wait x seconds" condition?

Re: Trains ignore stop if wait condition already met

Posted: Wed Feb 21, 2018 8:32 pm
by EvilxFish
Hi, what if the two stations are in different directions? The train will still need to go to the stop it has already met the condition to move on for, pause briefly before setting off again to the next station. If lots of trains are running on the line at the same time, this serves to amplify congestion, the worst bit is the train in question did not even need to stop at that stop, creating inefficiencies. By adding this relatively small adjustment trains only stop at the stops they need to.

Re: Trains ignore stop if wait condition already met

Posted: Wed Feb 21, 2018 10:17 pm
by Tekky
EvilxFish wrote:As the name suggests if a train has already met the wait condition before it arrives at the stop it should ignore the stop and move on to the next one.
I am against this, because circuit conditions will often only get updated a few ticks after the train enters the station. Before the train enters the station, the current circuit condition may be intended for a different train.

I believe that this suggestion offers a better solution to the problem:
viewtopic.php?f=6&t=49214 Train Entry-Condition

Re: Trains ignore stop if wait condition already met

Posted: Thu Feb 22, 2018 7:54 am
by PacifyerGrey
There is a major suggestion thread on this topic
Train station skipping conditions

Re: Trains ignore stop if wait condition already met

Posted: Thu Feb 22, 2018 9:51 am
by EvilxFish
First I would like to apologise for not seeing that suggestion when I made this one. Second I am inclined to agree that the idea of a "skip" condition that will allow trains to miss a stop if a condition is met is a good solution to this issue. Third I would like to add one more thing for a "skip condition". It should be possible to skip a station if another train is already there, that way if you have multiple outposts producing green circuits for instance it would be possible to get the train to have a priority stop but then a secondary stop if the first one already has a train stopped at it.

Re: Trains ignore stop if wait condition already met

Posted: Fri Feb 23, 2018 10:46 am
by PacifyerGrey
EvilxFish wrote:First I would like to apologise for not seeing that suggestion when I made this one. Second I am inclined to agree that the idea of a "skip" condition that will allow trains to miss a stop if a condition is met is a good solution to this issue. Third I would like to add one more thing for a "skip condition". It should be possible to skip a station if another train is already there, that way if you have multiple outposts producing green circuits for instance it would be possible to get the train to have a priority stop but then a secondary stop if the first one already has a train stopped at it.
N-to-M transport is usually managed by giving destination stations same name and disabling stations that do not require trains.
However this could be extended a bit by introducing certain circuit network changes:
viewtopic.php?f=6&t=47695

Re: Trains ignore stop if wait condition already met

Posted: Fri Feb 23, 2018 11:49 am
by mrvn
EvilxFish wrote:First I would like to apologise for not seeing that suggestion when I made this one. Second I am inclined to agree that the idea of a "skip" condition that will allow trains to miss a stop if a condition is met is a good solution to this issue. Third I would like to add one more thing for a "skip condition". It should be possible to skip a station if another train is already there, that way if you have multiple outposts producing green circuits for instance it would be possible to get the train to have a priority stop but then a secondary stop if the first one already has a train stopped at it.
Skipping stations with a train present is already trivially solved. Simply disable the station when a train is present. The current train will continue to load and all other trains will either repath to another station with the same name or the next.

Just make sure every train schedule has at least one station on it that never gets disabled.

Re: Trains ignore stop if wait condition already met

Posted: Sat Feb 24, 2018 1:50 pm
by EvilxFish
Thanks for that, I didn't actually realize that by giving two stations the same name you can achieve that!

Re: Trains ignore stop if wait condition already met

Posted: Sun Feb 25, 2018 1:55 am
by zytukin
FactorioParadox wrote:What about the "wait x seconds" condition?
The train still comes to a stop and leaves.

An alternative way to think of this is to use stations as way points, since there is nothing in the game to serve that functionality yet.
In my current refinery design, I have 13 separate small refineries that are blueprinted clones and are serviced by trains brining oil and removing the refined products. The stations are all named the same among them, except for 1 at the entrance. It basically acts as a way point telling which trains to go to which refinery to unload their oil or pick up the produced product.
Go to "Refinery 1", then go to "oil unload", then go to "oil load".
Go to "Refinery 2", then go to "oil unload", then go to "oil load".
Go to "Refinery 3", then go to "oil unload", then go to "oil load".
etc

The "Refinery #" tells the train what area to go to, then since "oil unload" is right there as well, it heads to that station instead of going to one in a different refinery area. This cuts down on station names clogging the list (a single "oil unload", "lt oil load", "hvy oil load", and "pg load" instead of 13 different stations for each of these) and makes it far easier to assign the stations to the various trains in use. Can clone a train with the station listing "oil unload" and "oil load" then just have to add a single "Refinery #" station instead of adding all different stations to each train.

But the train stops at "Refinery #" then proceeds, even with the wait condition at 0.