Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Improvement - Scrolling / Paging #44152

Closed
4 of 22 tasks
Nandorianen opened this issue Sep 13, 2020 · 7 comments
Closed
4 of 22 tasks

UI Improvement - Scrolling / Paging #44152

Nandorianen opened this issue Sep 13, 2020 · 7 comments
Labels
Controls / Input Keyboard, mouse, keybindings, input UI, etc. Info / User Interface Game - player communication, menus, etc. stale Closed for lack of activity, but still valid.

Comments

@Nandorianen
Copy link
Contributor

Nandorianen commented Sep 13, 2020

CDDA is played mostly from keyboard, so it's really important to have quick and intuitive ways of getting from point A to point B in any given list of items / monsters / options. One big part of intuitiveness is consistency.
@irwiss already did improvements for some menus, for example, in #44100, but there are many more.

Here is a brief and incomplete list of menus without Page Up / Down functionality at all:

  • character creation lists;

  • crafting menu (for the list itself);

  • construction screen;

  • Shift+V monster list;

  • character screen (useful for long lists of traits, bionics, possibly skills);

  • bionics screen;

  • mutation screen;

  • look around mode (no way to scroll through the list at all);

  • basic (non-advanced) inventory screen;

  • drop screen;

  • disassemble menu;

  • armor layering screen;

  • wear item screen;

  • take off screen;

  • wield item screen;

  • reloading screen;

  • unloading screen;

  • consume screen;

  • reading screen;

  • execute action screen;

  • use item screen.

  • For Shift+V: Page Up / Down works for item description, but not for the list of items itself. Since you move through this list with Up and Down arrows, what about making Left and Right go up/down a page respectively?
    Left / Right arrows could also be used in several menus to quickly jump to the next pointer (for example, to the next category in Consume menu).

Also Page Up / Down behaves inconsistently in regards to looping around. For example, in advanced inventory pressing Page Up while in the first position will take you to the last position, but in most other lists it won't do anything.

It would also not hurt to have Home / End functionality for very long lists that do not naturally reset cursor position (debug spawn, debug mutation).

There are so many menus behaving in different ways that it seems like it would be a great pain to try to maintain them all at a more or less uniform level of development. Maybe some unification and templat'ification is in order? I have no knowledge of UI code to propose anything specific.

@anothersimulacrum anothersimulacrum added Controls / Input Keyboard, mouse, keybindings, input UI, etc. Info / User Interface Game - player communication, menus, etc. labels Sep 13, 2020
@esotericist
Copy link
Contributor

this is something i've definitely been wanting to improve, but a lot of why this has taken so long to get standardized is because all of the various sections of the game have hand-written versions of the interfaces.

getting more unified internals is definitely a goal, and it's something a couple of us have been poking at since it's clearly needed. i at least have been moving kind of slow because my world has been kinda messy this year x_x

props to @irwiss for getting some of it going despite us not having that framework yet, though. any progress on this front is appreciated

@Pupsi-Mupsi
Copy link
Contributor

Pupsi-Mupsi commented Oct 25, 2020

@Nandorianen

Would you mind removing "completed scrolling features" from the list?
-> Or marking them like this:

  • crafting menu (for the list itself);

You may also want to check whether you like the new "scrolls".

Sorry, something went wrong.

@Nandorianen
Copy link
Contributor Author

Nandorianen commented Oct 31, 2020

@Pupsi-Mupsi
Sorry, I stopped my run of CDDA a few weeks ago on account of it becoming more and more of a slugfest, so I haven't been keeping up with the development progress.

Tested the construction / crafting menu scrolls, and of course I like the fact that they are added. Thank you!
I would consider increasing the jump, though. Right now Page Up/Down jumps the cursor 4 lines, which only saves the player 3 button presses. Feels a bit small, especially considering that in other menus Page Up/Down would jump your cursor a whole... well, page. That would be an overkill, though. Maybe 10 or 12 lines?
The Page Up/Down functionality of New Character traits and profession tabs feels right. One relatively minor thing, since we are talking about consistency: I would say that the expected behavior is for Page Down to only loop around if pressed while the cursor is at the very last position, and then only to the first position. It's not supposed to loop as freely as it does right now. Similar thing for Page Up.

Updated the OP as per your suggestion. Also noticed that I missed unloading screen the first time around (added it to the list), and that Page Up/Down stopped working altogether in "execute action" menu.

@Pupsi-Mupsi
Copy link
Contributor

Thank you very much for your feedback.

Tested the construction / crafting menu scrolls, and of course I like the fact that they are added. Thank you! I would consider increasing the jump, though. Right now Page Up/Down jumps the cursor 4 lines, which only saves the player 3 button presses. Feels a bit small, especially considering that in other menus Page Up/Down would jump your cursor a whole... well, page. That would be an overkill, though. Maybe 10 or 12 lines?

You are right. Changed in #45188.

The Page Up/Down functionality of New Character traits and profession tabs feels right. One relatively minor thing, since we are talking about consistency: I would say that the expected behavior is for Page Down to only loop around if pressed while the cursor is at the very last position, and then only to the first position. It's not supposed to loop as freely as it does right now. Similar thing for Page Up.

I agree. Already fixed that in #45181.

@Pupsi-Mupsi
Copy link
Contributor

For Shift+V: Page Up / Down works for item description, but not for the list of items itself. Since you move through this list with Up and Down arrows, what about making Left and Right go up/down a page respectively? Left / Right arrows could also be used in several menus to quickly jump to the next pointer (for example, to the next category in Consume menu).

--> Left and Right already in use. I'll use "<" and ">" for the description and PAGE-UP/DOWN for fast scroll.
--> Changed in #45189.

grafik

@leemuar
Copy link
Contributor

leemuar commented Oct 4, 2021

As a relatively new player I would like to add: the game is mostly played on keyboard because it has poor mouse support. When I started playing I was struggling by lack of mouse support in many UI elements.

This is not a critique of the project, I just want to point out "keyboard only because that how roguelikes were always made" should not be out dogma. Cogmind example shows how good mouse support make things much easier, accessible and enjoyable for players

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Dec 5, 2022
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jan 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Controls / Input Keyboard, mouse, keybindings, input UI, etc. Info / User Interface Game - player communication, menus, etc. stale Closed for lack of activity, but still valid.
Projects
None yet
Development

No branches or pull requests

5 participants