[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 1 Guest are viewing this topic.

Proxima

Just because the space is there doesn't mean it should all be used for buttons. Too many buttons is overwhelming for the new player; even if they are clearly marked with their functions and hotkeys, it's still a lot to get used to.

In particular, I'm not convinced about the need for buttons for directional select and only-walkers select. Would anyone really want to use buttons for these rather than holding down a key while clicking?

Gronkling

If you wanted to show extra buttons over the minimap perhaps something like this might work?



Clicking on the extra button would replace the minimap with "advanced option buttons" such as hotkey list, save replay, frameskip etc. Someone who is just playing lemmings casually probably won't care about most of these buttons so they should be hidden by default to prevent confusion, but easily accessible. (a better icon could probably be used for this extra button)

namida

#17
I don't know about the icon, but yes, that's the general idea I'm thinking of.

In regards to what should go there - perhaps one possibility is even to make this user-configurable (I thought of this while I was going to write up a point about the frameskip buttons, thinking "Why do they need to adjust based on the hotkey config?" which lead to "Well, they should be configurable, but why not just make them configurable independantly?" and then finally to "Why not just make the extra buttons configurable altogether?"). We'd still need to choose defaults, though.

Perhaps this could even be expanded to including the Pause and Nuke buttons in what's configurable. We have room for 20 buttons. Take away 11 for the 8 skills, the 2 release rate buttons, and the show/hide extras button. This leaves room for 9 buttons - it could simply be set up so that the user can pick these 9 buttons, with the first two displaying at all times and the other 7 only when the minimap is hidden. Perhaps even "Show Hotkeys" (or even simply "Edit Hotkeys" - as far as I can tell, the code *should* be able to support live-changing of them during play) could be hardcoded to be the last button rather than configurable, so the user can never truly lock themself out of being able to do something.
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: Proxima on June 22, 2016, 07:59:39 PM
In particular, I'm not convinced about the need for buttons for directional select and only-walkers select. Would anyone really want to use buttons for these rather than holding down a key while clicking?
Good point. But even if they are barely used, they fulfil two other functions:
1) New players may better discover these functions: Currently the only place within NeoLemmix that hints at these functions is hidden via Options ->  Hotkeys -> Look through hotkey list. Given that new users probably will not visit the option menu first, it would be good to hint at these function while playing a level as well. This is even more important as they might not expect them to exist if they only played the original lemmings (depending on port), Lemmix or (in the case of only-walkers) Lemmini.
2) For this argument, I assume that I am a typical user in my use-cases for these functionsn, namely: I use these hotkeys approx. every 5 levels. This was not often enough for me to learn these hotkeys straight away (even though I conciously remapped them), but still often enough that I sometimes made the efoort to go back to the option menu and get reminded of my choices.

But I am open to any other way to enhance discoverability and remember players of corresponding hotkeys. If we find an alternative way to do so, that uses less space than adding buttons, then even better!

namida

QuoteCurrently the only place within NeoLemmix that hints at these functions is hidden via Options ->  Hotkeys -> Look through hotkey list. Given that new users probably will not visit the option menu first, it would be good to hint at these function while playing a level as well. This is even more important as they might not expect them to exist if they only played the original lemmings (depending on port), Lemmix or (in the case of only-walkers) Lemmini.

The NeoLemmix Introduction Pack also draws attention to them. Ideally, this will ship with the game in the future.
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

I notice I use hotkeys for skill selection more in Lix, whereas in NL I always click the displayed buttons. While the multiplayer aspect of Lix makes it much more useful to learn the hotkeys, they can still be a nice quality of life feature, but they can be hard to learn, and if you want to check them, you need to bring up the configuration menu! Lix shows the hotkey on the button, which makes it easy to learn the hotkeys - you can look at the skill to determine which key to press until eventually you build up some muscle memory for it and can just select the skill. This makes the hotkeys much easier to learn.

I'd like to suggest this feature be added to NL as well.

namida

I'm not going to go as far as ruling this out at this stage, but for technical reasons, I wouldn't be holding my breath for this one.
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

If you don't mind me asking, what would the technical hurdles be to make this happen? I'm guessing it would probably need its own bitmap font instead of the menu one (I would be willing to put in the time to create one if necessary), but it would appear to me that the engine is capable of rendering text on UI elements, at least judging from the lemming count display - is there a technical reason this particular text would be harder to implement than the text that's already in place?

namida

Size limitations. Keep in mind, each panel button is 23x16 internally. Not all button names are a single character - and how to abbreviate the longer ones becomes a concern especially once non-US keyboard layouts are brought into the equation. Any font used for this would need to be extremely small for it to be feasible - on the order of most characters being something like 3x5 pixels at most. 3x5 characters still means we'd need 4 pixels of width for each letter (taking into account the gap), and presumably one either side for a black outline to ensure visibility. Height-wise, it would take up 7 pixels, again assuming the same outline - all this considered, the labels could in some cases completely occupy the bottom third or so of the graphic, which could get to the point of making it hard to see which skill is which, especially Builder vs Platformer.

Perhaps one workaround for this would be to have this option add an extra 8px or so below the buttons and use this space for the labels. The most obvious issue that arises from this - other than whether it would actually look all that great - is what to do in the cases where two buttons are stacked vertically.

Just in case - the possibility of zooming the panel, then drawing the text at an unzoomed size, is not an option due to how the graphics library in use works + how the panel is currently coded. The text would need to be rendered at the same internal size as the panel itself, then zoomed together with it.
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

I don't feel too strongly about this, but I can't see more clutter on the panel being a good thing, unless the panel itself becomes fully customisable (i.e. to the extent of which buttons are shown, etc) and undergoes a graphical overhaul generally.

Since this has already been pretty much ruled out, I'd likely side against any further additions to the panel beyond adding extra buttons.

namida

Nepster created a topic for the same idea a long time ago (when he was in charge of NL); I've merged it with Dullstar's recent one.
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)