[SUG][PLAYER] Display hotkeys while playing a level

Started by Nepster, June 20, 2016, 09:06:46 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Nepster

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.

IchoTolot

One idea:

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

Simon

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

namida

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 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)

IchoTolot

Quote from: namida on June 21, 2016, 07:07:01 AM
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

namida

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 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)

IchoTolot

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

namida

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 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)

Nepster

Quote from: IchoTolot on June 21, 2016, 12:46:35 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.


Quote from: namida on June 21, 2016, 12:33:38 PM
...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.

Simon

Quote from: Nepster on June 21, 2016, 09:35:07 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.

QuoteLoad 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.

QuoteButton 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.

QuoteSave 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.

QuoteRelease 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.

QuoteCheat 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.

QuoteSelect 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
Quote from: namida on June 21, 2016, 12:33:38 PM
...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

namida

QuoteWhat 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 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)

Dullstar

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.

IchoTolot

#12
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


Nepster

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

Quote from: IchoTolot on June 22, 2016, 08:30:06 AM
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?

Quote from: IchoTolot on June 22, 2016, 08:30:06 AM
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!"

Quote from: Dullstar 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.
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 from: Simon on June 21, 2016, 11:16:24 PM
QuoteRelease 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 from: Simon on June 21, 2016, 11:16:24 PM
QuoteCheat 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.

IchoTolot

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.