'Leave immediately' should not be the default behaviour for trains

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Sachertorte
Inserter
Inserter
Posts: 26
Joined: Wed Sep 06, 2017 2:53 pm
Contact:

'Leave immediately' should not be the default behaviour for trains

Post by Sachertorte »

TL;DR: Make 'remain in place' the default behaviour for stops with no wait condition.

Trains should be able to remain at a stop forever.

I often have a single "manual train" that I use for player transport only, with each stop in my factory listed for easy access. I have two problems with this:
  1. If I want my train to never leave a station, there is no built-in wait condition for this. I have taken to creating an empty "Circuit Condition" wait condition. I can't imagine I'm the only person who wants a hybrid manual-automatic trains, so it makes sense to add a dedicated option for this.

    I surely shouldn't have to add an empty wait condition when I am setting up a new train? Having to manually prevent it from heading directly to a new stop that I add is a little counter-intuitive. The train should wait until I am done setting it up (by adding its proper wait conditions). There should be no need for temporary conditions.
  2. With any more than a few stops listed, this takes up a lot of visual space. I have to scroll down to find the stop that I want, although I thankfully can move my most frequent stops to the top. It would be nice if stops took up less vertical space.

    It makes sense to me that an automatic train, which I will be setting up once and then modifying rarely if ever, can use as much vertical space as it would like. A 'manual' train, which I am getting into all the time and browsing through its list of stops regularly, should be trying to be more compact to make my life easier.
I'd like to propose EITHER:
  1. Add a "Remain In Place" wait condition. I no longer have to exploit an empty wait condition to make my train stay where it is.
  2. Add a "Leave Immediately" wait condition, and make 'remain in place' the default option for stops without a wait condition. This solves both of my problems.

    I no longer have to exploit an empty wait condition to make my train stay where it is, and because it is the default behaviour, my list of stops is not needlessly inflated. Users who make trains stop at station without any wait conditions (anyone?) can still access this behaviour with "Leave Immediately".

    When converting a save file from a previous version to the version with this feature, trains with stops that do not have a wait condition should be given "Leave Immediately" so that nothing breaks and no-one needs to convert anything.

    It does not make sense to have "Leave Immediately" alongside another wait condition, so if it is selected, the "Add Wait Condition" button could be removed or greyed-out.
I note that "Leave Immediately" could also be achieved with "Time Passed: 0 seconds". That's fine. The crux of this proposal is changing the default behaviour, or at least adding a dedicated option for waiting. If anything, that there exists an unrelated option that is implicitly identical to the default setting helps my point.

A thread exists for a similar suggestion wait condition "park" (2016).

I'd also like to note that this pairs very well with Renaming "Add wait condition" (2020). If remaining in-place is the default behaviour, then "Add Departure Condition" or similar makes far more sense.
Ajedi32
Inserter
Inserter
Posts: 28
Joined: Thu May 07, 2020 9:46 pm
Contact:

Re: 'Leave immediately' should not be the default behaviour for trains

Post by Ajedi32 »

Agree with this. I do basically the same thing with my dedicated passenger train (circuit condition as a stand-in for "wait forever"). On a related note, it would be nice if ctrl clicking a station were equivalent to pressing the "play" button next to that station on the schedule. I have a lot of passenger stations and it's starting to get unwieldy scrolling through the list to find the one I'm looking for. The ability to re-order stops in the list would also be nice for that.
Sachertorte
Inserter
Inserter
Posts: 26
Joined: Wed Sep 06, 2017 2:53 pm
Contact:

Re: 'Leave immediately' should not be the default behaviour for trains

Post by Sachertorte »

Ajedi32 wrote: Thu May 14, 2020 9:07 pm The ability to re-order stops in the list would also be nice for that.
You can already reorder stops that are in the schedule - just click and drag. The bit you grab with your cursor is the bit with the vertical stripes next to the X. It'd be nice to see a cursor change for that, though. (Although I'm unsure how I feel about the prospect of Factorio having a custom cursor.)

If you mean stations that aren't yet in the schedule, then no, I don't believe they can be reordered.
PyroFire
Filter Inserter
Filter Inserter
Posts: 356
Joined: Tue Mar 08, 2016 8:18 am
Contact:

Re: 'Leave immediately' should not be the default behaviour for trains

Post by PyroFire »

I disagree.

"Stay in place forever" should be the option, and defaults to "leave immediately".

Reasons:
1. backwards compatability, so you don't break factories relying on the existing "leave immediately" setting.
2. "Leave immediately" is more useful, because you can use it to route trains through a certain path by using stations with no wait conditions.


Outside of this the only reason you have given for needing a "stay in place forever" option is for a player controlled train, which as you said can be worked around by giving it a dead condition (circuit condition that will never be true).

I don't think anything really needs to be changed about the game on this one.
wookz
Burner Inserter
Burner Inserter
Posts: 7
Joined: Tue Apr 12, 2016 12:30 am
Contact:

Re: 'Leave immediately' should not be the default behaviour for trains

Post by wookz »

My vote would be for a new "Wait" leaving condition, and it should NOT be the default for new stations added to a train. An empty leave condition list should cause the train to blow right thru the station, like it does now. I use this to get trains to path thru my base in certain ways. It make more sense to me that no leave condition means to leave no matter what.

I would like a new "Wait" condition it to be the default for manual waypoint, ctrl-click stops tho. I only use the waypoint thing for getting around my overly-spread-out base. I find the extra mouse clicks to remove the inactivity condition and add full and empty conditions to get it to wait for me to give it a new order to be just enough mouse clicks that it affects my QOL. Since I most often go to places that don't already have shuttle stops, I do this a lot. It take me 10 minutes or more to get across my base and being there to turn off the train during it's default 5 second pause, or even an edited 120 second inactivity pause, is often not possible because I'm distracted.

I would also assume that a "Wait" condition would allow the train to be ignored by the route planner code, for a performance improvement, even if a really teeny one. I don't de-construct trains when I'm done with them, I send them to a "penalty box" to be re-used, since this is what we do IRL. There are currently around 80 trains there and the code has to be looking at them at least a little bit.
wartthog
Burner Inserter
Burner Inserter
Posts: 15
Joined: Mon May 01, 2017 12:33 am
Contact:

Re: 'Leave immediately' should not be the default behaviour for trains

Post by wartthog »

I agree with the original post. While PyroFire and wookz do have a legitimate use case, I agree with Sachertorte that they're using automated schedules so screen real estate is less of a problem. Adding a "Wait for 0 seconds" doesn't take long, then you can forget about it. But if you require someone to add a "Wait forever" condition to every station, then you cut the number of visible stations in the list in half!

Here's another idea: CTRL+Clicking on the "play" button goes to that station but then switches to manual on arrival? This supports all use cases mentioned so far and also should be easy to explain:
- While CTRL is pressed, "play" button icons change to a "Next track" buttons like this.
- When it's clicked, it highlights a contrasting colour, light-blue or something.
- The play button could have a tooltip.
- Could mention this functionality in the tutoarial that explains train stops.


If it were up to me I'd make temporary stops switch to manual on arrival instead of waiting for 5 seconds. It's more often that I want my train to stick around, either so I can make a return trip or else because it's a supply train and I want to access the cargo. If someone wants to send it on its way again, that's really easy to do too. This last paragraph is more controversial though.
blahfasel2000
Long Handed Inserter
Long Handed Inserter
Posts: 50
Joined: Sat Mar 28, 2020 2:10 pm
Contact:

Re: 'Leave immediately' should not be the default behaviour for trains

Post by blahfasel2000 »

You are missing something. Having no condition on a stop doesn't mean "leave immediately", it means "drive through without stopping or slowing down". Replicating this functionality with an explicit "condition" would mean that you'd either have to introduce an inconsistency because there'd be a special condition that works differently than all the others, or you'd have to change all conditions where the game can know ahead of time before stopping that they will be fulfilled immediately (for example "empty cargo" when the train is already empty or doesn't have any cargo wagons) so that the train blasts through the stations without slowing down in those cases as well.
wartthog
Burner Inserter
Burner Inserter
Posts: 15
Joined: Mon May 01, 2017 12:33 am
Contact:

Re: 'Leave immediately' should not be the default behaviour for trains

Post by wartthog »

Hmmm, you make a good point blahfasel2000. I don't think you really can change all of the conditions to avoid stopping if it's already fulfilled because "circuit condition" may depend on the train itself being there, and inconsistencies are rarely worth it. I begrudgingly change my vote.

I came back here today to check on the progress of this thread because I hadn't been playing an hour before I ran into it again. It's a related but slightly different use case. I created a new station and train and sent it on its way with a bit of fuel before realizing neither stop had a fueling system set up. It took me way too long for my groggy Saturday morning brain to remember the two obscure steps to make the train wait when it got to my new stop.
1) Pick one of three conditions that are unrelated to waiting forever.
2) Change the OR to an AND

Why is OR the default condition operator? I find I use it very rarely -- only when setting up complicated conditions which rarely change. I use AND all the time though to make a train stop and wait. AND feels safer because it's more likely to make a train stop, which is the easier to recover from than if a train takes off to the other side of the map, out of easy clicking range.
User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: 'Leave immediately' should not be the default behaviour for trains

Post by 5thHorseman »

wartthog wrote: Sat Jun 20, 2020 11:19 am Why is OR the default condition operator? I find I use it very rarely -- only when setting up complicated conditions which rarely change. I use AND all the time though to make a train stop and wait. AND feels safer because it's more likely to make a train stop, which is the easier to recover from than if a train takes off to the other side of the map, out of easy clicking range.
Click the station, then find the train racing across the map in the menu that comes up. I never hunt down trains. I hunt down stations instead.
Post Reply

Return to “Ideas and Suggestions”