Grid Sage Forums

Grid Sage Forums

  • May 06, 2024, 02:02:56 AM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

LINKS: Website | Steam | Wiki

Author Topic: Mouse UI Iprovements  (Read 2690 times)

Arseface

  • Derelict
  • **
  • Supported Cogmind Alpha Access 2015-2017 (Prime Tier)
  • Posts: 85
  • Baddest of the Bads
    • View Profile
Mouse UI Iprovements
« on: May 26, 2015, 04:49:14 PM »

Keyboard is king, don't let anybody ever tell you I said otherwise.

That said, a good mouse interface helps a metric faceton in easing people into the keyboard layout. It also allows for users with terribly unergonomic keyboards to not develop carpal tunnel while playing. *cough*

For the most part the Cogmind UI is superb, but I have some gripes. Brogue has the best mouse interface of any roguelike I've played, so I'm using that as reference.

Highlighting the pathing is a must.

I cannot stress how absolutely unnerving it is playing with a mouse and not knowing how my path will play out.

In Brogue the path actually modifies itself under certain conditions. I don't get the impression Cogmind has movement logic that changes as drastically, but it's important to be able to see it. Especially when something is in the way, but that has a thread already.

Access to every command with only one click is ideal.

Right and left mouse can be assumed, but they shouldn't be when possible. Mouse wheel should never be used for frequently used precision commands like wait. The difference between 3 and 4 rounds can mean the difference between getting your weapon blown off.
Context sensitive commands are nice and all, but forcing fire is vital for anybody using explosives.
The only way I know of to order a unit involves the keyboard.

Brogue uses command drop-down menus. Each menu highlights the key used for the command for keyboard users and people transitioning. You have a wonderfully implemented multi-terminal menu system, adding a command port to one(or more) of them is probably feasible and would be a welcome addition.

Hover-text is absurdly handy.

The scan window is great, but it separates the information from the location. An option to have names appear on hover would be great. I understand there's a boatload to visually parse already and scanning over things would be annoying, so I suggest a user-definable wait time.

Minor tidbits

That ? in the corner of the screen is so small I needed a magnifying glass to notice it existed.
This last one isn't a mouse gripe, but your log window doesn't display its binds. L/A/I/C should really be F5/F6/F7/F8.

I'll probably think of more things later, but for these are the things that were glaring at me in my first few games.
Logged
"Hard work might pay off in the long run, but being lazy always pays off right now"
-Somebody

jimmijamjams

  • Cyborg
  • ***
  • Supported Cogmind Alpha Access 2015-2017 (Prime Tier) Participated in the Alpha Challenge 2015 Weekly Seed Participant
  • Posts: 169
    • View Profile
Re: Mouse UI Iprovements
« Reply #1 on: May 26, 2015, 07:12:37 PM »

Some really good points!

I particularly like the idea of highlighting the pathing as I agree it works well in Brogue.

There is an option for the hover text to appear when using keyboard mode under "Options" -> "Visualization" -> "Auto-label  on examine", but I've just noticed it doesn't work when mousing over items.  This would be a good addition to the mouse functionality.
Logged

KY

  • Unaware
  • *
  • Shared a Confirmed Stealth Win Supported Cogmind Alpha Access 2015-2017 (Improved Tier!)
  • Posts: 1
  • Live by the foma
    • View Profile
Re: Mouse UI Iprovements
« Reply #2 on: May 26, 2015, 07:21:48 PM »

Just going to second the notion that Brogue is the highest standard of mouse-accessible interfacing with roguelikes, and it would do Cogmind (or any roguelike) nothing but wonders to try and reach a similar standard!
Logged

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4323
    • View Profile
    • Cogmind
Re: Mouse UI Iprovements
« Reply #3 on: May 27, 2015, 01:06:21 AM »

Thanks for the input, guys!

Highlighting the pathing is a must.
Fortunately Cogmind already does this! But, it's off by default because it pretty much has to be--you don't want that snaking line staring at you constantly. It looks terrible.

Hold Ctrl-Alt for path highlighting.

As you suggest Cogmind does not have movement logic that changes drastically, so this feature isn't an absolute requirement, especially because when there are hostiles in sight, you can't even path to your destination at all! (Movement is handled one cell at a time in this scenario.)

Access to every command with only one click is ideal.

Right and left mouse can be assumed, but they shouldn't be when possible. Mouse wheel should never be used for frequently used precision commands like wait. The difference between 3 and 4 rounds can mean the difference between getting your weapon blown off.
Context sensitive commands are nice and all, but forcing fire is vital for anybody using explosives.
Every command is accessible via mouse, but there are so many it could take a little while to learn them.

Mouse wheel is just a secondary input option for waiting, while there's also '.' and 'numpad 5'.

As for another pure mouse method of doing it, you do mention an alternative window in which you could access buttons, but making one of those much more important than the others for a large group of players might imbalance that part of the UI. That's an interesting idea, though I would think that would also be a really slow way to get much done.

The only way I know of to order a unit involves the keyboard.
There's a console specifically dedicated to ordering units purely via mouse clicks: F6 Allies control console. There are three ways in all to issue orders: The keyboard 'o' method, shift-RMB on map for context sensitive menu, or left-click on the ally listed in the Allies menu (again, F6). Or are you referring to something else?

Hover-text is absurdly handy.
The scan window is great, but it separates the information from the location. An option to have names appear on hover would be great. I understand there's a boatload to visually parse already and scanning over things would be annoying, so I suggest a user-definable wait time.
For mouse users, precisely because as you describe it could be really annoying and cover up content, this is accessible only with keyboard modifiers: Hold Ctrl-Shift.

There is an option for the hover text to appear when using keyboard mode under "Options" -> "Visualization" -> "Auto-label  on examine", but I've just noticed it doesn't work when mousing over items.  This would be a good addition to the mouse functionality.
This was intentional, because in practice it's more annoying when mousing over them (for me), so I decided to make it accessible only on demand. I could add an option to make it always occur, for those who aren't annoyed by it.

For mouse use, I made the decision that the UI is so full of features that it will be pretty much impossible to control secondary features purely via LMB/RMB, so I consider the requirement to use Ctrl/Shift for optional features within the realm of "normal mouse use." The other solution could be to add, but I rather dislike what that would look and play like...

Minor tidbits
That ? in the corner of the screen is so small I needed a magnifying glass to notice it existed.
I was thinking about making that one bigger when I get a chance. It's currently using the text font rather than the map font. I'll probably be switching it over, but at the time I was trying to keep it consistent with the other buttons.

This last one isn't a mouse gripe, but your log window doesn't display its binds. L/A/I/C should really be F5/F6/F7/F8.
It displays them in help mode, which is the purpose of that mode. I prefer the idea of using abbreviations for what they actually do rather than their binding, because seeing "F5/F6/F7/F8" doesn't remind the player at all what they do, while as soon as you learn that those letters are mapped to F5~F8 in a row, you both know what key to hit for each one and have a clear representation of what each window is for.

(Sorry for the very direct responses--trying to take care of a lot of stuff here very quickly...)
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

Arseface

  • Derelict
  • **
  • Supported Cogmind Alpha Access 2015-2017 (Prime Tier)
  • Posts: 85
  • Baddest of the Bads
    • View Profile
Re: Mouse UI Iprovements
« Reply #4 on: May 27, 2015, 07:17:06 AM »

Fortunately Cogmind already does this! But, it's off by default because it pretty much has to be--you don't want that snaking line staring at you constantly. It looks terrible.

Hold Ctrl-Alt for path highlighting.

As you suggest Cogmind does not have movement logic that changes drastically, so this feature isn't an absolute requirement, especially because when there are hostiles in sight, you can't even path to your destination at all! (Movement is handled one cell at a time in this scenario.)
It's a mouse-user option locked to the keyboard. This should be on when not in keyboard mode. When you're hovering over anything you can't move to it doesn't exist, the snake thing you have should be a non-issue 95% of the time. Brogue doesn't even bother with that. Please add a toggle in options.

And you could always dim the green to be less obtrusive.

Every command is accessible via mouse, but there are so many it could take a little while to learn them.

Mouse wheel is just a secondary input option for waiting, while there's also '.' and 'numpad 5'.
I meant left click, that's my fault for wording things poorly. And it is slow. Using the mouse typically is a slow way of doing things.

Only accessible with modifiers isn't something I'd accept as an ideal UI constraint. Mouse use inherently has context modifiers you have to remember, adding keyboard inputs is a lot more intrusive than it is with a full keyboard setup.

There's a console specifically dedicated to ordering units purely via mouse clicks: F6 Allies control console. There are three ways in all to issue orders: The keyboard 'o' method, shift-RMB on map for context sensitive menu, or left-click on the ally listed in the Allies menu (again, F6). Or are you referring to something else?
I had no idea that menu existed when I wrote this.

For mouse users, precisely because as you describe it could be really annoying and cover up content, this is accessible only with keyboard modifiers: Hold Ctrl-Shift.
It works great in Brogue, and it hides SIGNIFICANTLY more of the screen than I'm suggesting without a delay. An option in the options menu would be grand.

while as soon as you learn that those letters are mapped to F5~F8 in a row, you both know what key to hit for each one and have a clear representation of what each window is for.
I never remember which F it starts at and I end up hitting them in a line hoping it'll work any time I force myself to try keyboard inputs.

For mouse use, I made the decision that the UI is so full of features that it will be pretty much impossible to control secondary features purely via LMB/RMB, so I consider the requirement to use Ctrl/Shift for optional features within the realm of "normal mouse use." The other solution could be to add, but I rather dislike what that would look and play like...
You could just add secondary commands to a right click menu just like the Windows OS does.


The game does a great job of being easy to pick up in a lot of ways, but playing with the mouse is frustrating right now. It's better than not having mouse controls, but only barely since you're forced to use the keyboard anyways.
Logged
"Hard work might pay off in the long run, but being lazy always pays off right now"
-Somebody

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4323
    • View Profile
    • Cogmind
Re: Mouse UI Iprovements
« Reply #5 on: May 28, 2015, 12:38:48 AM »

Fortunately Cogmind already does this! But, it's off by default because it pretty much has to be--you don't want that snaking line staring at you constantly. It looks terrible.

Hold Ctrl-Alt for path highlighting.

As you suggest Cogmind does not have movement logic that changes drastically, so this feature isn't an absolute requirement, especially because when there are hostiles in sight, you can't even path to your destination at all! (Movement is handled one cell at a time in this scenario.)
It's a mouse-user option locked to the keyboard. This should be on when not in keyboard mode. When you're hovering over anything you can't move to it doesn't exist, the snake thing you have should be a non-issue 95% of the time. Brogue doesn't even bother with that. Please add a toggle in options.

And you could always dim the green to be less obtrusive.
This is true. And it'll be an option then. Very easy to add, in any case.

And it is slow. Using the mouse typically is a slow way of doing things.
I've been watching some streamers play with the mouse and they're quite fast, even without having turned on some of the QoL features in the options. Certainly nothing can match keyboard speed, but maybe it's not all that bad for people who regularly only use the mouse.

For mouse users, precisely because as you describe it could be really annoying and cover up content, this is accessible only with keyboard modifiers: Hold Ctrl-Shift.
It works great in Brogue, and it hides SIGNIFICANTLY more of the screen than I'm suggesting without a delay. An option in the options menu would be grand.
Will be added. Oh man, as I feared, in addition to my current huge options list we're going to run out of space and need to reorganize things...

For mouse use, I made the decision that the UI is so full of features that it will be pretty much impossible to control secondary features purely via LMB/RMB, so I consider the requirement to use Ctrl/Shift for optional features within the realm of "normal mouse use." The other solution could be to add, but I rather dislike what that would look and play like...
You could just add secondary commands to a right click menu just like the Windows OS does.
Not sure I want to go the context menu route, because it can be pretty slow and appears either semi-barren or is subject to feature bloat. If that ever happened it would be much later--need data from a wider variety of players first.
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

nsg21

  • Derelict
  • **
  • Supported Cogmind Alpha Access 2015-2017 (Prime Tier)
  • Posts: 48
    • View Profile
Re: Mouse UI Iprovements
« Reply #6 on: May 30, 2015, 02:57:33 PM »

I mostly use keyboard, but have to stay away from keyboard-only mode becose hovering mouse over an item is too convenient way to get info. However, the mouse cursor tends to obstruct things when not in use.

After some thinking of what would be convenient for me, I think I came up with a suggestion. The best way to deal with this is to hide mouse cursor if any movement (or maybe even any action at all, but definitely movement) is performed with a keyboard and reappear again every time player moves a mouse. It will also heal the unfortunate situation when I move a cursor out of the way and start moving (with kbd commands) and as the terrain creeps under the mouse cursor (which is pretty much in random position at this point, just out of the way) and scan window shows info on that random position and I try to pick it up with g or something.

Another thing, even in mouse mode it is sometimes easier to use x to get info on nearby objects. Unfortunately it does not work in mouse mode. Is there a reason why? If x triggers the info mode, kbd movement of the target square hide mouse cursor and mouse movement reactivates cursor and also moves target square to that position, I do not think it would interfere with established habits.

The last item (for this post anyway) has to do with my personal arrangement and probably not many people are affected by it, but it is really annoying. I play on a laptop with a touchpad and the right area of this touchpad acts as a scroll (you just move your finger along the right edge and it triggers scroll events). Sometimes I touch it accidentally, Cogmind interprets it as mouse wheel and skips whole bunch of moves for me. I do not think I was ever killed because of that, but things like this, definitely make a destruction come sooner. It skipped moves in a battle, it let recycler get away with my loot, this kind of thing. So, if there was a config option to turn off mouse wheel as a "skip turn" command, I would appreciate this.
Logged

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4323
    • View Profile
    • Cogmind
Re: Mouse UI Iprovements
« Reply #7 on: May 30, 2015, 09:15:18 PM »

It will also heal the unfortunate situation when I move a cursor out of the way and start moving (with kbd commands) and as the terrain creeps under the mouse cursor (which is pretty much in random position at this point, just out of the way) and scan window shows info on that random position and I try to pick it up with g or something.
About this, you should be able to solve it by going into the options and activating the "center cursor on move" option.

Another thing, even in mouse mode it is sometimes easier to use x to get info on nearby objects. Unfortunately it does not work in mouse mode. Is there a reason why? If x triggers the info mode, kbd movement of the target square hide mouse cursor and mouse movement reactivates cursor and also moves target square to that position, I do not think it would interfere with established habits.
No particular reason other than to avoid confusing mouse users who suddenly enter 'x' mode on accident. Keeping the modes distinct also helps avoid potential internal conflicts.

The last item (for this post anyway) has to do with my personal arrangement and probably not many people are affected by it, but it is really annoying. I play on a laptop with a touchpad and the right area of this touchpad acts as a scroll (you just move your finger along the right edge and it triggers scroll events). Sometimes I touch it accidentally, Cogmind interprets it as mouse wheel and skips whole bunch of moves for me. I do not think I was ever killed because of that, but things like this, definitely make a destruction come sooner. It skipped moves in a battle, it let recycler get away with my loot, this kind of thing. So, if there was a config option to turn off mouse wheel as a "skip turn" command, I would appreciate this.
That does sound like a dangerous situation. I'll add this as an option for you. Because our options menu is going to get really full (already nearly is...) and this is slightly less relevant for a lot of players, for now I'll be sticking it in the config file and require manual editing.
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

nsg21

  • Derelict
  • **
  • Supported Cogmind Alpha Access 2015-2017 (Prime Tier)
  • Posts: 48
    • View Profile
Re: Mouse UI Iprovements
« Reply #8 on: May 30, 2015, 10:00:52 PM »

About this, you should be able to solve it by going into the options and activating the "center cursor on move" option.
I tried it and it does not help anything. The mouse cursor obstructs the view, I cannot see where I am going because of it. This is exactly why I have to "move it out of the way".

Quote
Another thing, even in mouse mode it is sometimes easier to use x to get info on nearby objects. Unfortunately it does not work in mouse mode. Is there a reason why? If x triggers the info mode, kbd movement of the target square hide mouse cursor and mouse movement reactivates cursor and also moves target square to that position, I do not think it would interfere with established habits.
No particular reason other than to avoid confusing mouse users who suddenly enter 'x' mode on accident. Keeping the modes distinct also helps avoid potential internal conflicts.

I see the point about confusion.
How about adding a mouse to the keyboard mode then? In this case the only difference between mouse mode and keyboard mode is that in keyboard mode there is x command and mouse cursor disappears when you execute keyboard command. This way mouse mode is for users who mostly use mouse, but occasionaly may use keyboard and keyboard mode is for people who mostly use keyboard but occasionaly use mouse.

for now I'll be sticking it in the config file and require manual editing.
Thanks you, that's perfect.

Logged