Replay on restart: Confuses/annoys new players, they don't click air

Started by Simon, February 17, 2024, 01:50:57 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Simon

NL doesn't tell the player during play how to cancel the replay. This confuses random reople on the internet. You don't always have the luxury of people reporting their confusion here.

I believe that this is far more annoying for new users than most experienced players assume.




Example from 2022-02:
Bug: Uncommanded clicking

Dave4 creates an account on LF specifically to report this bug. This report was his first post.

Dave used to work around this by exiting NL entirely, then restarting NL.




Example from 2023-06:
Join development team

yoyoz files the automatic replay as a bug, and has already changed the NL code to fix it: "There is a problem when you click on restart button: Same actions are replay. I have fixed it. But for the moment, i havent found where fix when you restart the level with the menu screen."




Example from 2023-07 that I found today:
https://www.twitch.tv/videos/1878712696?t=0h17m23s -- watch from 17:23.

Saxdude26 fumbles in the NL ingame UI and level selection UI for 3 minutes. He restarts several times, which doesn't solve his problem. He saves the replay to disk, which doesn't solve his problem. Eventually, he goes to the options (dialog doesn't show on stream) and (presumably) disables replay after backwards frameskip. That's his solution -- he cuts highly useful things. Ends with: "Do I like having replays? Yes. Do I like that it keeps replaying when I restart the level? No."

He hasn't clicked air in those 3 minutes. He has clicked practically every panel button, but never the air. Why should he click air when NL doesn't nudge towards clicking air?




Writing these down because WillLem is considering ingame text over status panel for Don't exit on losing all lemmings.

-- Simon

mobius

thus confirming what I posted about numerous times in the past; the UI is too complex in general. What seems commonplace to us is only cause we're used to it and we've been around it when it was developed. There's no simple solution; the QOL features are almost necessary for us veteran players but in the way for new comers.  in game text may be the best, or at least easiest option here.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Simon

Quote from: mobiusThere's no simple solution; [...] in game text may be the best, or at least easiest option here.

Right, there is no easy answer.

Most quality-of-life features can sit at the side and will never get in the way. The replay is insidious because it triggers automatically and there is no clear way to cancel it. You must do something to stop the game from doing something.

Text can be one way. Although it would need an entirely new way to display text; you can't overwrite anything in the status panel because everything in the status panel remains important during replay. (This is unlike: Don't exit on losing all lemmings.)

There may be better ways. Maybe multiple things together are good.

Even in Lix, where I redesigned the replaying feedback after Dave's 2022-02 post, we can do more. I should write down the full story for Lix's replay cancelling, both to improve Lix and as a grab-bag of ideas for NL/SLX/Lemmini/...

Splat ruler confusion is its own topic.

-- Simon

WillLem

SLX makes the auto-replay behaviour optional with only a few lines of code. I'd be more than happy to donate this to NL if namida wants to implement it.

Quote from: Simon on February 17, 2024, 02:30:19 AM
Text can be one way. Although it would need an entirely new way to display text; you can't overwrite anything in the status panel because everything in the status panel remains important during replay

I'm still figuring out how to draw messages to the panel - it can be done, but is quite a messy process due to the current logic not being set up for this kind of use. And as you've rightly pointed out, we don't want to overwrite potentially important information. My current thoughts here are that if it turns out to be prohibitively difficult to use the panel for the purpose of displaying in-game messages, then maybe we should think of something else. I'll persevere over the weekend and see if a solution presents itself.

Meanwhile, making auto-replay optional and off by default is, IMHO, the best overall solution to this particular problem - no text needed, people need to know what it is and turn it on if they want it. But then, I suppose it means many players will miss out on what is actually an extremely useful feature. No easy answer indeed :forehead:

Simon

#4
Quote from: WillLem on February 17, 2024, 02:46:15 AM
auto-replay optional and off by default
many players will miss out on what is actually an extremely useful feature.

It pains me that off-by-default can be reasonable. It's simple and kills the confusion directly at the root. But I'd rather wait with this until several other ideas have failed -- including trying more things in Lix and discussing applicability to NL.

Both user stories (Dave4 and Saxdude26) show the annoyance only when assignments replay after restarting the level from the very beginning. That hints us at offering two modes of restart: Restart with replay, restart without replay. IIRC WinLemm did this? Not overly elegant, but at least it's a way to do it without printing text during play. I'm not recommending for or against it; it's one idea.

Our sample size (2 new players) is still small. Maybe we find more stories where the replay annoys people after rewinding. Then we can't fix it by merely offering two ways to restart. E.g., mobius wanted the option to turn off replay-after-rewind, i.e., to make rewind immediately cut all rewound assignments. It looks like this user option also saved Saxdude26's sanity, in a roundabout way.

-- Simon

WillLem

Quote from: Simon on February 17, 2024, 04:27:53 AM
That hints us at offering two modes of restart: Restart with replay, restart without replay ... at least it's a way to do it without printing text during play.

This is a decent idea, but would this require two separate restart buttons (and then, by extension, backskip buttons) on the panel, or can we envisage another way of doing this?

Perhaps clicking the replay "R" should also cancel the replay - players who expect that they need to click something may immediately go for this, it seems like Saxdude26 (in the example video) did exactly that.

I'd advocate for Occam's Razor here - the simplest, most elegant way of solving this problem with a minimum of additions to the UI. An option to disable auto-replay behaviour on restart is also essential regardless of how else we decide to solve this problem, IMHO.

geoo

I remember having that issue back in the day when I first played Cheapo (which may have even introduced this behavior? Or was it in WinLemm too?) It confused the heck out of me, and it took me a while to understand what was going on. I thought it was a bug and restarted the game in order to restart levels.
At the same time, it's way too useful of a feature to disable by default (thereby making it extremely hard to discover).

I'm surprised that clicking the R does not cancel the replay, having that would be a good start at least (especially if the R sufficiently stands out visually). I think realistically what Lix is doing by displaying some text is a decent solution. It's slightly inelegant, but at least should leave no room for confusion.

Forestidia86

Quote from: geoo on February 17, 2024, 02:09:51 PM
I remember having that issue back in the day when I first played Cheapo (which may have even introduced this behavior? Or was it in WinLemm too?)

WinLemm has an extra Action Replay button. It even repeats the screen movements and could sometimes desynch.

WillLem

Quote from: geoo on February 17, 2024, 02:09:51 PM
I'm surprised that clicking the R does not cancel the replay, having that would be a good start at least

The best way to achieve this would be to simply make it so that clicking anywhere on the panel other than a button or the minimap would result in cancelling the replay - more margin for error, but the effect would be that clicking the "R" cancels it for those who think to try it.

Quote from: geoo on February 17, 2024, 02:09:51 PM
I think realistically what Lix is doing by displaying some text is a decent solution. It's slightly inelegant, but at least should leave no room for confusion.

A simple "click in mid-air to exit replay mode" in the top left or top right corner of the screen could achieve this; we can either use the existing letters to write it out (cumbersome) or just write the text into its own graphic (better), to be displayed appropriately.

One idea that came up for SLX (and which I still intend to implement at some point) is to use the flashing "R - R" WinLemm/SuperLemmini graphic for replay mode, and display it in the top corner of the screen in a similar fashion. This is much more noticeable than the red/blue "R" in the current NL display, and we could make it so that the infographic appears when the cursor is hovered over it (which answers the question of when to display it, and for how long - this could also be done for NL's current "R" as well).

Clicking the R would then cancel out of replay mode - the cursor will always prefer it to any lemmings that happen to be underneath it at that point. Or, if people would prefer to keep this symbol in the panel, I'm sure that animating it from here to make it more noticeable is possible.

WillLem

I was considering the possibility of using this proposed feature to also display a message regarding cancelling replay mode. However, I think a standard popup window would work better for this particular issue, even if I can get another way of displaying onscreen text working.

The reason being, we only need to alert the player to the replay feature once, and then ideally never again once they've acknowledged it. I'd also argue that it should be fairly intrusive, so that players take note and then hit OK once they're happy with the information.

Simon

Clicking the R in status bar: Yes, promising idea. The R is the visible UI element for replaying, it makes a sense to click that to cut the replay. If you animate it -- it doesn't even have to be glaring -- it will pop in the panel area. E.g., a play arrow ▶ that moves through it. It's clearer and less glaring than cheap color-changing the entire R. Let me know if you want me to draw such an animation.

The status panel has been a safe zone for clicks. If you click the panel, you don't misclick buttons yet, and neither you mis-cancel the replay (as clicking into the main map would). Now, we'll sacrifice this safe zone for newbie-friendly UI. Hard to give a final verdict. My hunch: If you want to try this, let's do it. Saving a few newbies' sanity is worth it. Or leave the bottom 10 % of the status panel as safe zone. >_>

Lemmini R: Adding the pulsating R in the main map is similar. Because you'll put it on the map (not in the panel), when we click that R, we have clicked the map, and NL will cancel the replay even if you don't write extra clicking code. It's the same in Lix: The wobbling R is in the corner of the map, and clicks go to what's on the map behind the R -- air, usually, and that cancels the replay.

Here, I'd only warn about making it too big, because it will appear constantly in pepole's solution videos on youtube. Big enough to attract new players' clicks, but no bigger.

I'm happy to try either idea: Moderate animation to the existing NL panel R, or your Lemmini R in the main map.

Indeed, Saxdude's first guesses in the panel are: Restart, pause, and then button with the R (which loads replay and doesn't solve his problem). This is promising. Only afterwards, he tries clear-physics and force-direction. He also clicks the status bar (lemmings out, goal flag), even though I haven't seen him explicitly click the red R in the status bar.




Dialogs: Let's try other ideas than dialogs first. Dialogs break the game flow (you accept this), but people still won't read them, and even if they read a one-shot dialog, they'll have forgotten it when they return in half a year after 10 minutes with a distraction. Don't put important info only in a one-shot dialog.

Option to disable replay: No strong opinion. I'd wait. We have seen people want this, e.g., Dave4 wanted this, but only after he failed to cut the replay. We'll have to see if people still want this after cutting the replay has become obvious for new players.

Cursor: Bug #400 on Lix: Scissors mouse cursor while replaying is an unrealized feature idea. I'd like the ingame cursor (crosshairs) to show scissors. The idea is that you can now click to cut the replay. It's more feedback, but untested. In NL, I'd only try this together with our other ideas.

-- Simon

WillLem

Quote from: Simon on February 18, 2024, 11:23:25 AM
The status panel has been a safe zone for clicks. If you click the panel, you don't misclick buttons yet, and neither you mis-cancel the replay (as clicking into the main map would). Now, we'll sacrifice this safe zone for newbie-friendly UI.

Hmm, OK. Isolating the "R" area should be easy enough, we'll see.

Quote from: Simon on February 18, 2024, 11:23:25 AM
Lemmini R: ... when we click that R, we have clicked the map, and NL will cancel the replay even if you don't write extra clicking code. It's the same in Lix: The wobbling R is in the corner of the map, and clicks go to what's on the map behind the R -- air, usually, and that cancels the replay.

I think this is going to end up being the best way to do it. Rather than having the "R" change size as it does in Lemmini, we can make it blink instead. Simple, eye catching, and if players think to try and click it, they will cancel out of replay mode.

Quote from: Simon on February 18, 2024, 11:23:25 AM
Dialogs: Let's try other ideas than dialogs first ... Don't put important info only in a one-shot dialog.

OK, agreed. But, I'd personally be happy if that's what we end up falling back on: it gets the job done well enough, and if people choose not to read it that's up to them.

Quote from: Simon on February 18, 2024, 11:23:25 AM
Option to disable replay: No strong opinion. I'd wait. We have seen people want this, e.g., Dave4 wanted this, but only after he failed to cut the replay. We'll have to see if people still want this after cutting the replay has become obvious for new players.

Optional, and activated by default (i.e. auto-replay is the default behaviour, players can switch it off in the Settings if they find it problematic) is probably the best way to go - people get to see the feature, and have a way to deactivate it if it's causing them problems. They then know it exists and can turn it back on if they wish.

Quote from: Simon on February 18, 2024, 11:23:25 AM
Cursor: ... on Lix: Scissors mouse cursor while replaying[/url] is an unrealized feature idea ... The idea is that you can now click to cut the replay. It's more feedback, but untested. In NL, I'd only try this together with our other ideas.

This is a brilliant idea! I'd also suggest turning the cursor red for standard Replay mode, and blue for Replay Insert mode.

Simon

Quote from: WillLem on February 18, 2024, 05:24:43 PM
Quote from: Simon on February 18, 2024, 11:23:25 AM
Dialogs: Let's try other ideas than dialogs first ... Don't put important info only in a one-shot dialog.
OK, agreed. But, I'd personally be happy if that's what we end up falling back on: it gets the job done well enough, and if people choose not to read it that's up to them.

Right, let's do other things first, and see if that improves it for newbies.

More Coding Horror articles about the problems of dialog boxes and written instructions:

Quote from: WillLem
Quote
Cursor: ... on Lix: Scissors mouse cursor while replaying
This is a brilliant idea! I'd also suggest turning the cursor red for standard Replay mode, and blue for Replay Insert mode.

Do you mean red scissors and blue scissors? In insert mode, NL doesn't allow cutting the replay by clicking.

And as usual, I caution against signalling different meanings only by color. The blue R feels subobtimal already, but it's already much better than no feedback.

You can put an icon next to the cursor when you're about to insert. There is no good, simple, universal icon for inserting. comes to mind, which is complex.

-- Simon

WillLem

Quote from: Simon on March 02, 2024, 02:41:00 AM
Right, let's do other things first, and see if that improves it for newbies.

Helpful articles. I'm now re-thinking showing a dialog at all when opening a file with missing pieces.

Yeah, dialogs can just be irritating. Agreed.

Quote from: Simon on March 02, 2024, 02:41:00 AM
Do you mean red scissors and blue scissors? In insert mode, NL doesn't allow cutting the replay by clicking.
...
And as usual, I caution against signalling different meanings only by color

OK, so maybe not scissors for replay insert. A book with a pen, instead? Still make it blue, though, so it's the same colour as the blue "R".

Silken Healer

I haven't read much of this thread yet, but just to give more opinions on this matter, I just wanted to attest that when I first started played NeoLemmix years ago, I did indeed get confused with this too.

WillLem

How's this? :)

Status bar message for Replay mode



Adding a Status bar is easy. Getting it to display at the right time will be much, much more difficult, so we should be sure we want this. FWIW, I still prefer simply deactivating auto-replay; if players want the replay features, it should be a conscious choice. To that end, here's another possible solution:

Replay options in the Welcome screen



This is the very least we could do: there's potential to expand the Welcome screen to add much more information about NeoLemmix. As it's the first thing new players see, we should aim to provide as much as we can here. It's possible to add graphics and stuff to jazz it up a bit and make it more engaging.

We could even add stuff about the replay features on here, and a checkbox to make sure the user has read it (they could still check without reading, sure, but... well, that's on them!). Until it's checked, the Welcome screen shows every time NL is loaded. The replay features are probably the only truly problematic thing for new players; it's worth giving them every chance to get clued up from the beginning. We most likely wouldn't need to do this for any other feature.

namida

Let's assume at this point that the end of level behavior is a one off special case and aside from that, "no new suggestions" remains the case for NL. This doesn't mean the discussion can't be had for the benefit of other engines / forks, of course.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

WillLem

Quote from: namida on March 06, 2024, 09:22:39 AM
Let's assume at this point that the end of level behavior is a one off special case and aside from that, "no new suggestions" remains the case for NL. This doesn't mean the discussion can't be had for the benefit of other engines / forks, of course.

In that case, would you mind providing some clarity on the questions raised here (and the subsequent discussion thereof); I think the community doesn't want yet another fork of NL.

Simon

Found another case on Lemmings Forums and added it to OP:

Example from 2023-06:
Join development team

yoyoz files the automatic replay as a bug. He had already changed the NL code to fix it, and writes:

Quote from: yoyozThere is a problem when you click on restart button: Same actions are replay. I have fixed it. But for the moment, i havent found where fix when you restart the level with the menu screen.

-- Simon

WillLem

I've added animation and clickability of the "R" icon to SLX's skill panel. Happy to provide code & graphics if namida wants this for NL:


NOTE: The "R" is in fact still visible on the darker frame of the animation - it might not be picked up too well in the above screenshot