Author Topic: [SUG][PLAYER] Display hotkeys while playing a level  (Read 7630 times)

0 Members and 1 Guest are viewing this topic.

Offline Nepster

  • Posts: 1829
    • View Profile
[SUG][PLAYER] Display hotkeys while playing a level
« on: June 20, 2016, 09:06:46 PM »
Currently there is no way to get reminded of one's choice of hotkeys while playing a level.

For actions that have corresponding buttons (e.g. skill selections) this has an easy fix: Display the hotkey on the button (probably bottom right). I have already added this to the bugtracker.

Other critical hotkeys are more problematic: How can we remind people on the hotkeys for frame-skips, fast forward, ...? Any suggestions are very welcome.
« Last Edit: February 10, 2021, 06:47:33 AM by namida »

Offline IchoTolot

  • Global Moderator
  • Posts: 3611
    • View Profile
Re: Display hotkeys while playing a level
« Reply #1 on: June 20, 2016, 09:10:26 PM »
One idea:

Maybe a "help" hotkey (press XY for help menu written somewhere) and it shows you the current hotkey list.

Offline Simon

  • Administrator
  • Posts: 3872
    • View Profile
    • Lix
Re: Display hotkeys while playing a level
« Reply #2 on: June 20, 2016, 10:33:43 PM »
Quote from: Icho
"help" hotkey (press XY) shows current hotkey list

Yeah, this covers the severe hole of invisible functionality.

How elaborate do you want to be? The help list is easy to make. But it's hotkey-centric, not results-oriented. When I want to save a replay, sure, I need to trigger the functionality in the game, but not necessarily by hitting a hotkey. Therefore, instead of listing the hotkeys for functions, show buttons for functions. This is a menu. ;P

2015 thread on the Lix board: Discoverable UI (scrolling, dir select).

-- Simon

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Display hotkeys while playing a level
« Reply #3 on: June 21, 2016, 07:07:01 AM »
This could be doable, though would likely require some reworking of how the skill bar is handled. Questions that arise:

1. What if more than one hotkey is assigned to a function? Probably we'd only want to display one. What should the rule be to decidie which one - shortest name? Most convenient location? Give defaults priority if they're one of them?
2. This somewhat ties into the minimap thing too. Perhaps a toggle button to display the minimap or not, and replace it with buttons like "Save Replay" when not being displayed?
My Lemmings 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)

Offline IchoTolot

  • Global Moderator
  • Posts: 3611
    • View Profile
Re: Display hotkeys while playing a level
« Reply #4 on: June 21, 2016, 12:23:27 PM »
2. This somewhat ties into the minimap thing too. Perhaps a toggle button to display the minimap or not, and replace it with buttons like "Save Replay" when not being displayed?

A Toggle button seems to be a good idea here (for the symbol maybe a circle with arrows). Click on the toggle and the minimap switches back and forth between itself and the buttons for let's say: "Hotkey list"   "Save/load replay"
We should be able to get at least 3 buttons in there, maybe even 4.

I still find the minimap very useful and don't want it to be gone though, but sth has to be done as well ;):   http://www.lemmingsforums.net/index.php?topic=2538.0

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Display hotkeys while playing a level
« Reply #5 on: June 21, 2016, 12:33:38 PM »
Each button is 16px wide, and we have 320px. So, we can fit 20 buttons - more if some of them are only half-height.

With this in mind, I'm thinking that we replace the Nuke button with (or perhaps simply add in the space to the right) a button that toggles the minimap on and off. When it's on, only the current buttons and the toggle button are visible (perhaps Fast Forward too, possibly by making the nuke button half-height or simply replacing it). When it's off, the freed-up space is used for extra buttons such as saving replay, frameskipping, etc.

By condensing the information shown on the info panel above the skills, the minimap could be extended vertically to use this area too, thus working better for vertical levels, without needing to implement any kind of floating minimap. One way this could be achieved is by using icons rather than words to show the selected lemming's state, and possibly by displaying time purely in seconds (though I'm a bit hesitant on doing that).
My Lemmings 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)

Offline IchoTolot

  • Global Moderator
  • Posts: 3611
    • View Profile
Re: Display hotkeys while playing a level
« Reply #6 on: June 21, 2016, 12:46:35 PM »
This sounds very good, but I wouldn't replace the nuke button and simply use some of the empty space left for an half-eight toggle button. It sounds silly, but easy nuking of the Lems is kind of iconic :P

Or divede the nuke button into: Top half - Nuke      Button half - Toggle

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Display hotkeys while playing a level
« Reply #7 on: June 21, 2016, 12:52:13 PM »
No, I wasn't thinking of removing the nuke button from the defaults to make room for the map toggle. Rather, I was thinking of placing the toggle button to the right of the nuke; and either replacing the nuke with fast-forward, or making the nuke half-height with fast-forward in the new space
My Lemmings 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)

Offline Nepster

  • Posts: 1829
    • View Profile
Re: Display hotkeys while playing a level
« Reply #8 on: June 21, 2016, 09:35:07 PM »
...but I wouldn't replace the nuke button and simply use some of the empty space left for an half-eight toggle button. It sounds silly, but easy nuking of the Lems is kind of iconic :P
Nuking may be iconic, but it is rarely used. So we really should free this space to make room for fast-forward or a similar button that is used very frequently. We certainly can keep nuking among the buttons that are displayed instead of the minimap.


So what new buttons should we add at the position of the minimap? Here a list from what I consider the most important to the least important.
  • Quit level: Does anything need to be said about it?
  • Load Replay: Currently it is extremely complicated and unintuitive for people to find out how to load replays. They have either to be told or to read the manual. So we really should add this button for new players.
  • Fast-Forward: If we don't make it a permanent button
  • Frame-skips: This causes actually much more problems than one might expect, because players may assign completely different values for the skips. I suggest:
    • Button 1: Backward 1 frame (if not assigned a hotkey, still display this button - just without displaying an associated key
    • Button 2: Forward 1 frame (if not assigned a hotkey, still display this button - just without displaying an associated key
    • Button 3: Backward least value above 1 frame that has a hotkey assigned. If there is no such hotkey, it defaults to backwards 1 second.
    • Button 4: Forward least value above 1 frame that has a hotkey assigned. If there is no such hotkey, it defaults to forwards 1 second.
  • Directional Select (2 buttons): Extremely helpful.
  • Select Walker: Extremely helpful as well.
  • Restart level: Very good to have as well.
  • Save state and Load state: I rarely use it, but I guess others make good use of it (correct?), so it should be there.
  • Show Athlete Info: Not too important, because usually there are only very few athletes or all of them have the same permanent skills.
  • Highlight Lemming: I almost never use this, bit again I guess others like it (correct?), so add it.
  • Nuke: Just because fireworks are cool 8-)
  • Music and Sound: Relatively unimportant, so add only if we have space left.
  • Save Replay: We should add a button for this on the results screen, so this is not terribly important to have during the level. On the other hand: If we have Load Replay, players might expect to find Save Replay as well...
  • Release mouse: I use it all the time. But this is only useful in windowed mode, if one does some multitasking. So we can probably get away with not including a button for this.
  • Cheat Level: I like it, but it really isn't essential and serves only as a shortcut.
  • Select Unused lemming: Apart from talisman challenges, I have yet to find a situation where this is useful.
  • Save Image: Expert hotkey that doesn't need an extra button.
  • Cancel Replay: This is only useful in combination with specific options. I expect that everyone who uses that one option, will remember this hotkey.
So we have 11 very useful buttons (up to "Restart level") and about 8 further buttons we might want to include. Next to the currently displayed buttons, we have space for 8 full-height buttons or 16 half-height buttons. Given that we will very likely want to include more than 8 new buttons with hotkeys, I very much tend to make all of the half-height.


...and possibly by displaying time purely in seconds (though I'm a bit hesitant on doing that).
A big NO! Players think in minutes and seconds. Do you really thing "217 seconds" isn't much worse than "3:37"? Anyway, I would rather suggest to cap the time limit at 9:59. Any level with longer time limit should rather have infinite time in my opinion (please provide counter-examples to this claim!). This way, we would shorten the time limit from 6 characters down to 5 characters, which is already half the way to the "only-seconds" method with 4 characters.

Offline Simon

  • Administrator
  • Posts: 3872
    • View Profile
    • Lix
Re: Display hotkeys while playing a level
« Reply #9 on: June 21, 2016, 11:16:24 PM »
Quit level: Does anything need to be said about it?

If it doesn't lose replay data, you can get away with single-click quit.

I assume that every 1 in 50 or 100 clicks are accidental. Is error recovery 50 times more difficult than making a second click for security? If it's moderately easy to recover from the error, no security.

Quote
Load Replay: Currently it is extremely complicated and unintuitive for people to find out how to load replays. They have either to be told or to read the manual. So we really should add this button for new players.

Consider to copy or move load-replay to the preview sceen.

Icho tried to load a replay during game in Lix. I believe that (loading replay during game) is a design hack, the function belongs to the preview screen instead, and people have only gotten used to the hack now. Load-during-play was introduced by Lemmix and simply kept for NeoLemmix.

Keep (load replay during play), because people will find it convenient. You can get away without a button during play if you make loading glaringly obvious during preview.

Quote
Button 4: Forward least value above 1 frame that has a hotkey assigned. If there is no such hotkey, it defaults to forwards 1 second.

Consider +10 seconds instead of +1 second for the default value. It's a different absolute value than the back-button has, but advancing for a few seconds is easy: unpause. Prefer user value, as you said.

Quote
Save Replay: We should add a button for this on the results screen, so this is not terribly important to have during the level. On the other hand: If we have Load Replay, players might expect to find Save Replay as well...

Load-replay to the preview, save-replay to the postview.

Quote
Release mouse: I use it all the time. But this is only useful in windowed mode, if one does some multitasking. So we can probably get away with not including a button for this.

Does alt-tab work during play? That's how I release the mouse in Wine. Never knew there was a NL hotkey for this.

Quote
Cheat Level: I like it, but it really isn't essential and serves only as a shortcut.

What does it do? Win current level? Then cull, because all packs are unlock-all.

Quote
Select Unused lemming: Apart from talisman challenges, I have yet to find a situation where this is useful.

Make this a separate game mode. Either you want this on no assignment, or on all assignments. I have confused this with select-walker before.

Or cull the challenge altogether. ???

Quote
...and possibly by displaying time purely in seconds (though I'm a bit hesitant on doing that).
A big NO!

Right, keep minutes.

If you're exactly 1 character short, you have completely different problems in your UI.

-- Simon

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Display hotkeys while playing a level
« Reply #10 on: June 21, 2016, 11:27:56 PM »
Quote
What does it do? Win current level? Then cull, because all packs are unlock-all.

I did. This made a lot of people very unhappy and was widely regarded as a bad move. (For context - at this time, unlock all was not enforced, but was very widespread and was default.) It has since been re-implemented.
My Lemmings 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)

Offline Dullstar

  • Posts: 2092
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Re: Display hotkeys while playing a level
« Reply #11 on: June 22, 2016, 04:49:43 AM »
What about just one button that would bring up the options menu? Since the hotkeys can be edited through that menu, any hotkey you need can be looked up. There are a lot of fine control hotkeys that would probably cause a lot of clutter if they were all added in.

Offline IchoTolot

  • Global Moderator
  • Posts: 3611
    • View Profile
Re: Display hotkeys while playing a level
« Reply #12 on: June 22, 2016, 08:30:06 AM »
In Nepster's list are way too many buttons. And even in general I find too many buttons ugly as well.

In fact I am still not really convinced by the lix layout. Everything is displayed, but it's kinda full down there ;P

I would simply keep it at max ~ 4 or 5 new buttons. Too many buttons are as confusing as too many unkown functions.

For example:

- "Display hotkeylist" so every function can be displayed and is not hidden anymore  (also pausing the game while active as a side effect possibly)

- "Load Replay"

- "Save Replay"

- "FastForward"

- "Quit/Restart level"


Such things as having "directional select" and "framestepping" is pure overkill! With this ammount of buttons it will only get messy. A simple hotkeylist would do the trick as well.

On top of that with all beeing possibly half-sized and cramped together, no way...this is pure chaos (as well)     hidden fuctions or not throwing everything full with buttons is not the solution :8():



Edit: Maybe 2-3 framestep buttons can be added on top without overdoing it, but 4 + 2 Directional Select    that's too much

« Last Edit: June 22, 2016, 11:47:29 AM by IchoTolot »

Offline Nepster

  • Posts: 1829
    • View Profile
Re: Display hotkeys while playing a level
« Reply #13 on: June 22, 2016, 04:44:34 PM »
I see now that my previous post was somewhat misleading, because I listed every single hotkey and even those which I don't think should get a button. So here is a condensed version:

Important buttons (10-11 buttons)
Quit level, Load Replay (perhaps only on preview screen), Fast-Forward, Frame-skips (4 buttons), Directional Select (2 buttons), Select Walker, Restart level

Nice-to-have buttons (8 buttons)
Save state, Load state, Show Athlete Info, Highlight Lemming, Nuke, Music, Sound, Save Replay

Hotkeys that should not get buttons (5 buttons)
Release mouse, Cheat Level, Select Unused lemming, Save Image, Cancel Replay

I would simply keep it at max ~ 4 or 5 new buttons.
The space of the minimap allows for 7 buttons (and 8 if we remove the decoration next to it). Why would you waste space by putting only 4-5 buttons there, when the player explicitely asks for more buttons and assigned hotkeys?

In fact I am still not really convinced by the lix layout. Everything is displayed, but it's kinda full down there [...] Too many buttons are as confusing as too many unkown functions.
That is why the default is the minimap and the current buttons (with the possible exception of the nuke). The other buttons are only displayed if the player asks for them and noone is forced to do that. Actually I think of the new buttons as an emergency feature: "I cannot remember how to select only walkers! HELP!"

What about just one button that would bring up the options menu? Since the hotkeys can be edited through that menu, any hotkey you need can be looked up. There are a lot of fine control hotkeys that would probably cause a lot of clutter if they were all added in.
Allowing access to the hotkey option menu during game-play is a good idea. But unfortunately this option menu isn't that good at answering the question "What is the hotkey for function xyz?". So I would suggest implementing this suggestion in addition to the other proposed changes.

Quote
Release mouse: I use it all the time. But this is only useful in windowed mode, if one does some multitasking. So we can probably get away with not including a button for this.
Does alt-tab work during play? That's how I release the mouse in Wine. Never knew there was a NL hotkey for this.
Two problems: Due to the two-window-problem of (Neo)Lemmix, only alt-tab-tab works to get away from NeoLemmix. Secondly, NeoLemmix catches the cursor again if you move over the game window again, forcing you to escape again by alt-tab-tab.
Pressing the "Release mouse" hotkey disables this second behavior as well.

Quote
Cheat Level: I like it, but it really isn't essential and serves only as a shortcut.
What does it do? Win current level? Then cull, because all packs are unlock-all.
It is just a shortcut to exit the level and skip the post-view screen. This is very useful if someone posted a large amount of replays for your levels and you want to check them for backroutes or alternative solutions.

Offline IchoTolot

  • Global Moderator
  • Posts: 3611
    • View Profile
Re: Display hotkeys while playing a level
« Reply #14 on: June 22, 2016, 05:15:31 PM »
I think we need an exp version for this to really see at which point it would be overkill.

We can argue about the number of buttons, but seeing it in action will achive the most here.