Page 1 of 1

"add wait condition" seems wrong

Posted: Fri Dec 04, 2020 9:38 am
by oleg4f
Hi.

In the train schedule we can see the button with the label "add wait condition". This label is misleading. Actually this is opposite meaning - "add departure condition" or something like this.

Re: "add wait condition" seems wrong

Posted: Fri Dec 04, 2020 9:54 am
by Kahnugo
If there's no wait condition it doesn't wait. If there's no departure condition it still departs.

Re: "add wait condition" seems wrong

Posted: Fri Dec 04, 2020 10:04 am
by oleg4f
Kahnugo wrote:
Fri Dec 04, 2020 9:54 am
If there's no wait condition it doesn't wait.
There is no "wait condition". There are departure conditions which named "wait condition". If this button would have label "add wait condition for departure", then it would be more precise.
Kahnugo wrote:
Fri Dec 04, 2020 9:54 am
If there's no departure condition it still departs.
ok. No problem.

Re: "add wait condition" seems wrong

Posted: Fri Dec 04, 2020 10:40 am
by Kahnugo
I guess it depends on what your baseline is. I would think that if there is no departure condition it would have no reason to depart.

In other words baseline is that a train has a schedule that orders it to do stuff. Once it has executed its order it will start executing the other. Unless you tell it to not do so. Factorio has the train as the active agent seeking train stops, not train stops seeking trains, so the default behaviour is that trains will always seek their next train stop unless they are prevented.
The train stop condition is imposing non default behaviour on the trains, in factorio that is waiting.

Edit: You could argue it could be made clearer by stating wait until: x
2. Edit: Also technically it's the schedule imposing the condition, not the stop :p

Re: "add wait condition" seems wrong

Posted: Fri Dec 04, 2020 11:09 am
by oleg4f
Kahnugo wrote:
Fri Dec 04, 2020 10:40 am
I guess it depends on what your baseline is. I would think that if there is no departure condition it would have no reason to depart.
The point is different. We have many rules in the life and almost all of it have reasonable exceptions and understandable defaults.This isn't matter that train go if there is no departure condition - this is a default train behaviour. The main is the disambiguous interface. After i don't play factorio some time, i can't understand the schedule condition. I need several minutes to remember that these aren't train wait condition, but train departure condition. I look at my conditions and think:
- if (5 sec of inactivity) || (full load) then wait... Hm. And how long it must wait and for what?
- several minutes later...
- No! If (5 sec of inactivity) || (full load) then departure. Right! This is not wait condition, this is departure condition where we wait for some states for departure.

The main here is a departure.
Thus i understood that interface is ambiguous. I can't after some non playing time in factorio quickly said what this train wait for. Where MAGAZINES is < 500 or > 500.

Re: "add wait condition" seems wrong

Posted: Fri Dec 04, 2020 11:36 am
by oleg4f
oleg4f wrote:
Fri Dec 04, 2020 11:09 am
- if (5 sec of inactivity) || (full load) then wait... Hm. And how long it must wait and for what?
- several minutes later...
- No! If (5 sec of inactivity) || (full load) then departure. Right! This is not wait condition, this is departure condition where we wait for some states for departure.
If we try to illustrate this in C-like pseudo code, then we again get departure condition:

Code: Select all

// wait
while (1) {
  if (is_5_sec_of_inactivity || is_full_load)
    break;
}
// departure
We can transform this in wait condition, but it immediately get ugly:

Code: Select all

// wait
while ((!is_5_sec_of_inactivity) && (!is_full_load)) {
}
// departure

Re: "add wait condition" seems wrong

Posted: Fri Dec 04, 2020 4:19 pm
by jodokus31
Wait until <condition> is met
Vs.
Wait while <condition> is met

Re: "add wait condition" seems wrong

Posted: Sat Dec 05, 2020 8:54 am
by ssilk
I don’t see much difference. It depends from which side you’re seeing this. Here the correct sight is that of the train.

Each tick this condition is checked, if false, it will wait. I think this “if false” is what’s irritating here. But as said wait is here an “until true”. It never bothered me, and from history it is explained easily: the first implementation of train conditions allowed only to “wait” x seconds. So it was of course a “wait condition”. Well, seen from that direction it would make sense to change it.

I’m not sure if a change here increases the gameplay value much. On the other hand, if that can be solved with changing the wording, why not?

Re: "add wait condition" seems wrong

Posted: Sat Dec 05, 2020 10:43 am
by Squelch
I think that simply dropping the word "wait" would be all that's needed.

Would "Add condition" become too ambiguous?

Re: "add wait condition" seems wrong

Posted: Sat Dec 05, 2020 11:15 am
by oleg4f
jodokus31 wrote:
Fri Dec 04, 2020 4:19 pm
Wait until <condition> is met
Vs.
Wait while <condition> is met
Yes. "add 'wait until' condition" is more precise. But if you look at it a little longer, you see that "add departure condition" is the same, but more shorter.

Re: "add wait condition" seems wrong

Posted: Sat Dec 05, 2020 11:31 am
by oleg4f
ssilk wrote:
Sat Dec 05, 2020 8:54 am
I don’t see much difference. It depends from which side you’re seeing this. Here the correct sight is that of the train.

Each tick this condition is checked, if false, it will wait. I think this “if false” is what’s irritating here. But as said wait is here an “until true”. It never bothered me, and from history it is explained easily: the first implementation of train conditions allowed only to “wait” x seconds. So it was of course a “wait condition”. Well, seen from that direction it would make sense to change it.
Well. For just one "wait X sec" condition this label is correct. But now situation is little different :-).
I’m not sure if a change here increases the gameplay value much. On the other hand, if that can be solved with changing the wording, why not?
I'm just writing about my observations of myself :-). If i not playing some time in factorio, i forget some game details and can't quickly understand the train schedule, because this label is confuse me.

Re: "add wait condition" seems wrong

Posted: Sat Dec 05, 2020 11:33 am
by oleg4f
Squelch wrote:
Sat Dec 05, 2020 10:43 am
I think that simply dropping the word "wait" would be all that's needed.

Would "Add condition" become too ambiguous?
I thought about it too :-). It's hard to say immediately. Need the experiment :-).

Re: "add wait condition" seems wrong

Posted: Mon Dec 07, 2020 11:53 am
by oleg4f
If we have in the future a train stop skip condition, then we should distinguish between these. Thus, if we take that into account(possible future improvements), the better label seems to be "add leave condition" or "add departure condition".

Re: "add wait condition" seems wrong

Posted: Mon Dec 07, 2020 4:07 pm
by steinio
How about just displaying a large + on the button. No text needed

Re: "add wait condition" seems wrong

Posted: Tue Dec 08, 2020 6:13 am
by ssilk
What does the plus do? I would hover over it and wait for a tooltip popping up. :) in such cases you can write also text.

@oleg4f: the problem with that is the word “if”. :)

Re: "add wait condition" seems wrong

Posted: Fri Dec 11, 2020 5:06 am
by steinio
ssilk wrote:
Tue Dec 08, 2020 6:13 am
What does the plus do? I would hover over it and wait for a tooltip popping up. :) in such cases you can write also text.

@oleg4f: the problem with that is the word “if”. :)
As if you wouldn't understand what + means...
Every baby knows it.