Trains need to skip unload stations when empty

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
bartekxx12
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Sep 19, 2020 6:29 pm
Contact:

Trains need to skip unload stations when empty

Post by bartekxx12 »

I strongly believe the current train system is fundamentally broken for a large number of mega base designs. It makes people flock to the LTN mod when really the vanilla system is near perfect with just one major oversight.

I've seen many threads about this online and the response has been that for trains to know which stations to skip would be magic, as how would the train know.

It is quite simple really and requires no magic, nor for the train to know anything but it's schedule and contents, which I'm sure we can agree a train knows it's schedule and its contents.

It all boils down to a simple fact, if a train is empty, and it is set to empty at its next station, it shouldn't go there. The train knows it's empty, the train knows at the next station the condition is to empty, so it shouldn't go there.

For mixing fluids / items. If a train is set to leave next station when the train gets below 2k iron, but the train already has below 2k iron on it. It shouldn't go there.

I hope this can be implemented asap as it really requires no magic.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Trains need to skip unload stations when empty

Post by eradicator »

Did i get this right? TL;DR:

"A train should never drive towards a station if it already fullfills the leave condition for that station?"

That doesn't sound too hard to make an example mod of to test if it really works.
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.

Theikkru
Filter Inserter
Filter Inserter
Posts: 354
Joined: Wed Mar 27, 2019 2:18 pm
Contact:

Re: Trains need to skip unload stations when empty

Post by Theikkru »

I can see the reasoning, but you'd probably need an exception for waypoint stations at least.

User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: Trains need to skip unload stations when empty

Post by 5thHorseman »

TAMFT

https://mods.factorio.com/mod/TrainSkipFulfilledStation

I've not utilized it yet, but I've had it installed for quite some time.

bartekxx12
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Sep 19, 2020 6:29 pm
Contact:

Re: Trains need to skip unload stations when empty

Post by bartekxx12 »

""A train should never drive towards a station if it already fullfills the leave condition for that station?"

Almost, but It doesn't have to, and shouldn't be that hard, it should only check things it already knows before it gets to the station, which is cargo only. i.e the train does not know if it's been inactive at the next ation yet, doesn't know if the next station matches a circuit condition, doesn't know if a passenger will be present at next station.
But it does know that it is empty, and it does know that it is full. So as to not create 'magic' it should check those conditions for the next station, i.e don't go to a 'Until cargo full' station if cargo is already full.
Theikkru wrote:
Sat Sep 19, 2020 11:33 pm
you'd probably need an exception for waypoint stations at least.
I think it does not need to go that far as that would be magic as I've written in this reply above, only cargo empty and cargo full condition stations should be skipped as the train already knows it is full or empty. Circuit condition, passenger, inactivity, no conditions - waypoints, I think should behave as they do now as the train does not know the circuit condition at next station etc. Also messing with that would break people's current setups but checking if empty before it goes empty shouldn't break anything.

The current system is broken in this regard I think because it doesn't fit in with the functionality we already have, i.e we can turn off a station, which does allow for trains with e.g 2 iron pickup stops and 2 iron drop off stops, and turning off stations as wanted for load balancing and such. Meaning one can easily setup an iron train that will cover all iron pickup points if they are turned on, but currently there's no way to prevent the train from trying to fill up with iron 10 times after it's already full after the first pick up.
5thHorseman wrote:
Sat Sep 19, 2020 11:36 pm
https://mods.factorio.com/mod/TrainSkipFulfilledStation
I've not utilized it yet, but I've had it installed for quite some time.
This is pretty cool but it looks like that mod is magic because i.e it checks circuit condition at next station before it goes there, in vanilla it shouldn't be able to know the circuit status at a station it's not at or connected to. But it should know that if it is empty then it already meets a next stop empty condition.

Simple real life analogy with shopping. If I need to buy toilet paper there are 10 shops that may have it in stock, if I bought what I need at shop 1 I will not be going to shops 2 through 10 to say, well, they have it but I already have it.

I think that makes sense. To make it more customizable we could get conditions in the scheduler for going to a station and not just leaving it. i.e schedule like this:

Train is at stop 1

Only if iron > 2k : Go to station 2, wait until cargo unload
Only if circuit condition present: Go to station 2.

Where the If refers to conditions as they are at the moment. So circuit condition would refer to the circuit conditions it's currently receiving and not circuit conditions magically referring to conditions from the next station.
Last edited by bartekxx12 on Sun Sep 20, 2020 4:35 am, edited 2 times in total.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Trains need to skip unload stations when empty

Post by ssilk »

Not similar, but relevant:

viewtopic.php?f=6&t=64362 Dynamic train schedule
... Which also lists a lot of threads...

viewtopic.php?f=6&t=69758 Ability to mark a station as mandatory in a schedule




... and as corona showed us: you can buy toiletpaper in ten shops, even if you are already full. :D
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

bartekxx12
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Sep 19, 2020 6:29 pm
Contact:

Re: Trains need to skip unload stations when empty

Post by bartekxx12 »

ssilk wrote:
Sun Sep 20, 2020 4:30 am
Not similar, but relevant:

viewtopic.php?f=6&t=64362 Dynamic train schedule
... Which also lists a lot of threads...

viewtopic.php?f=6&t=69758 Ability to mark a station as mandatory in a schedule

... and as corona showed us: you can buy toiletpaper in ten shops, even if you are already full. :D
Thanks I'll have a read through, definitely seems that tonnes of people have been asking for something like this. I think it's because it's a logical progression of having stop circuit conditions and allowing turning on and off of stations. People will setup 10 iron drop off points and switch them on and off as needed but now their train will sometimes go to drop off at all 10 even if already empty.

Hehehe, r.e corona, no! when my boot is full, I left my mother at the last shop to make room for more TP, and stuck a TP tower to the roof rack already, when I am full and can't be full no more, I will not be going to get more before I drop off. Even corona overshoppers know better. So it's official, the current train scheduling is more incomplete than a panic buyers brain cells.

bartekxx12
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Sep 19, 2020 6:29 pm
Contact:

Re: Trains need to skip unload stations when empty

Post by bartekxx12 »

So people still want this, 'If go to' conditions are important but for my use case I have been incredibly stupid.

The solution to auto balancing 10 Iron Ore Stations and 5 Iron Drop Stations and not having trains stop mid way and go reload again when full when a station is turned off is actually super simple.

All I had to do was name all Iron Ore stations the same name and all iron drop off stations the same name. The train schedule should then just be Iron Ore to Iron Drop. 2 stop schedule ensures that even if a drop off is switched off half way through the train will just go to a drop off that is still on.

So the solution is simply not to have 2 full unload stations in a schedule but to name them the same thing.

Koub
Global Moderator
Global Moderator
Posts: 7200
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Trains need to skip unload stations when empty

Post by Koub »

ssilk wrote:
Sun Sep 20, 2020 4:30 am
Not similar, but relevant:

viewtopic.php?f=6&t=64362 Dynamic train schedule
... Which also lists a lot of threads...

viewtopic.php?f=6&t=69758 Ability to mark a station as mandatory in a schedule




... and as corona showed us: you can buy toiletpaper in ten shops, even if you are already full. :D
Actually, there are loads of suggestions revolving around that subject :
viewtopic.php?f=6&t=83636
viewtopic.php?f=6&t=25944
viewtopic.php?f=6&t=49214
viewtopic.php?f=6&t=59378
viewtopic.php?f=6&t=58057
viewtopic.php?f=6&t=53340
viewtopic.php?f=6&t=44314
viewtopic.php?f=6&t=34174
I'm ashamed I didn't spot them earlier to do some merging (trains are one of the two things that totally overwhelm me in Factorio, so I don't even try to understand the suggestions any more), I feel it's too late now, but at least this collection shows the interest of the community in such a feature.

I think however that some suggestions about controllable (or dynamic) scheduling would meet the need and offer maybe even more flexibility :
viewtopic.php?f=6&t=64362 (ssilk's first link)
Koub - Please consider English is not my native language.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Trains need to skip unload stations when empty

Post by eradicator »

Koub wrote:
Sun Sep 20, 2020 7:46 am
trains are one of the two things that totally overwhelm me in Factorio
Unexpected. What's number two?

Maybe i just played too much OTTD, but i've always thought both systems are mostly easy to understand. Though OTTD allows more complex schedules with a less cluncky UI imho. So i can't really agree to most of the suggestsions that want *more* complicated things. Or maybe i just haven't thought about it enough yet :D. @OPs "no magic" suggestion actually sound sane, though it remains to be seen (or not) how useful it would actually be in real-world scenarios.
bartekxx12 wrote:
Sun Sep 20, 2020 6:29 am
All I had to do was name all Iron Ore stations the same name and all iron drop off stations the same name. The train schedule should then just be Iron Ore to Iron Drop. 2 stop schedule ensures that even if a drop off is switched off half way through the train will just go to a drop off that is still on.
Standard solution, but has problems of it's own. Train network must be designed to allow "turning around" at arbitrary points (restricts use of terminal stations). Some trains might pointlessly "osscillate" between two stations when other trains fullfull the requests faster. You must ensure to never disable all stations of the same name to prevent trains from blocking the whole lane with no-path. Etcpp. Workarounds exist, but don't feel "clean" to me.
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Trains need to skip unload stations when empty

Post by ssilk »

Koub wrote:
Sun Sep 20, 2020 7:46 am
I'm ashamed I didn't spot them earlier to do some merging (trains are one of the two things that totally overwhelm me in Factorio, so I don't even try to understand the suggestions any more), I feel it's too late now, but at least this collection shows the interest of the community in such a feature.
Normally my interest. But on one side I had yesterday only my iPhone, which is really crappy when you need to switch fast between tabs. :) And I must admit, that I tend to compare those suggestions with the LTN-mod and most times I think “LTN is complex, high learning curve, but once it is running it is some waaayy simpler. It’s then much less complex.”

In that way I tend to judge those suggestions and think “well they see/improve only one aspect of THEIR gameplay.” That’s the reason, why there are so much of those suggestions.
I think however that some suggestions about controllable (or dynamic) scheduling would meet the need and offer maybe even more flexibility :
viewtopic.php?f=6&t=64362 (ssilk's first link)
That one is in my eyes a bit “better” than the others, because it has low complexity and adds a bit more. But far from taking away much complexity. It adds complexity to achieve better gameplay. But for those who struggle with trains and use them as less as possible it just adds complexity add a point they need to understand.

But I thought over it and will make another suggestion...
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Post Reply

Return to “Ideas and Suggestions”