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

Adventure map, Hero movement button, operation to delete the hero's predefined path #9474

Open
1 task done
LeHerosInconnu opened this issue Jan 21, 2025 · 9 comments · May be fixed by #9486
Open
1 task done

Adventure map, Hero movement button, operation to delete the hero's predefined path #9474

LeHerosInconnu opened this issue Jan 21, 2025 · 9 comments · May be fixed by #9486
Labels
improvement New feature, request or improvement

Comments

@LeHerosInconnu
Copy link

LeHerosInconnu commented Jan 21, 2025

Preliminary checks

Describe the problem requiring a solution

Currently, a standard left click on the button has no effect.
All buttons in their standard state (not grayed out) produce an effect when the user performs the action of a standard left click on them.
Why not have made it so that a left click also deletes the hero's predefined path, just as a held left click does?

In fheroes2:

2025-01-21.13-57-10.mp4

Describe the possible solution

Make it so that a left click also deletes the hero's predefined path, just as a held left click does.

Additional info

No response

@LeHerosInconnu LeHerosInconnu added the improvement New feature, request or improvement label Jan 21, 2025
@oleg-derevenetz
Copy link
Collaborator

oleg-derevenetz commented Jan 21, 2025

It will be quite difficult to explain this intricate mechanics to the user in the information window - in which cases and how exactly you should use the mouse button to achieve this or that. It is better for the effect to be uniform - always movement or visiting an object with a single click (if it is possible), always resetting the path while holding down the mouse button.

@LeHerosInconnu
Copy link
Author

Hello @oleg-derevenetz,

It will be quite difficult to explain this intricate mechanics to the user in the information window - in which cases and how exactly you should use the mouse button to achieve this or that. It is better for the effect to be uniform - always movement or visiting an object with a single click (if it is possible), always resetting the path while holding down the mouse button.

And how are you going to explain to the user that a clickable button doesn't do anything?

@oleg-derevenetz
Copy link
Collaborator

oleg-derevenetz commented Jan 21, 2025

And how are you going to explain to the user that a clickable button doesn't do anything?

Why I should? Currently the behavior of this button is explained as follows: "Start the Hero's movement along the current path or re-visit the object occupied by the Hero. Press and hold this button to reset the Hero's path." This explanation is short and quite clear. If hero doesn't have a path and doesn't stand on an object, then clicking the button naturally does nothing. In the case you have proposed, it will take a long and tedious explanation of the mechanism of its operation, depending on what is depicted on this button at the moment.

@Branikolog
Copy link
Collaborator

Hi, @LeHerosInconnu

Indeed, if you keep in mind the constitency of route reset mechanics (hold to clear) everything looks more or less relevant.

Also. answering your message long before....

The state of the button also serves as a visual indicator to the player that the hero still has movement points or not (button in standard state, hero can move, button in grayed out state, hero can no longer move).
Now, if a different button is introduced and in its standard state the hero has no more movement points, this initial way of information is lost.

True, previously inactive button implied no movement points.

But look at the current icon: there's a standing still horse. So player can notice the difference and guess, that standing horse means hero won't run anywhere and can do nothing currently. (He's out of movement points.)
So clicking on this button with standing horse corresponds the action on the picture: hero continues standing. :) But now we have just a separate state for that button, which also have a function to reset the route while pressing and holding it, as stated in button desription info.

@LeHerosInconnu
Copy link
Author

Hello @oleg-derevenetz and @Branikolog,

And how are you going to explain to the user that a clickable button doesn't do anything?

Why I should? Currently the behavior of this button is explained as follows: "Start the Hero's movement along the current path or re-visit the object occupied by the Hero. Press and hold this button to reset the Hero's path." This explanation is short and quite clear. If hero doesn't have a path and doesn't stand on an object, then clicking the button naturally does nothing. In the case you have proposed, it will take a long and tedious explanation of the mechanism of its operation, depending on what is depicted on this button at the moment.

Hi, @LeHerosInconnu

Indeed, if you keep in mind the constitency of route reset mechanics (hold to clear) everything looks more or less relevant.

Also. answering your message long before....

The state of the button also serves as a visual indicator to the player that the hero still has movement points or not (button in standard state, hero can move, button in grayed out state, hero can no longer move).
Now, if a different button is introduced and in its standard state the hero has no more movement points, this initial way of information is lost.

True, previously inactive button implied no movement points.

But look at the current icon: there's a standing still horse. So player can notice the difference and guess, that standing horse means hero won't run anywhere and can do nothing currently. (He's out of movement points.) So clicking on this button with standing horse corresponds the action on the picture: hero continues standing. :) But now we have just a separate state for that button, which also have a function to reset the route while pressing and holding it, as stated in button desription info.

In the game interface, there's a convention that a button in its not grayed out state implies that a standard left click made by the user triggers a specific action.
The current mode of operation of this button completely breaks this convention; the user is left with a button that does nothing.
From the point of view of the consistency and ergonomics of the game interface, it makes no sense to have a button that doesn't react like all the other buttons in the interface.

@oleg-derevenetz
Copy link
Collaborator

In the game interface, there's a convention that a button in its not grayed out state implies that a standard left click made by the user triggers a specific action.

There is no such a convention :) This statement is arbitrary and based on nothing. In the original game, there simply were no mechanisms for interacting with UI elements other than left-click and right-press, but fheroes2 introduces these new mechanisms. And from the user's point of view, it is better when the same actions lead to the same results, not to different ones depending on some cryptic circumstances, otherwise it will be difficult to explain to the user the mechanism of operation of this button. This button is already too overloaded, no need to overload it even more.

@LeHerosInconnu
Copy link
Author

@oleg-derevenetz,

In the game interface, there's a convention that a button in its not grayed out state implies that a standard left click made by the user triggers a specific action.

There is no such a convention :) This statement is arbitrary and based on nothing. In the original game, there simply were no mechanisms for interacting with UI elements other than left-click and right-press, but fheroes2 introduces these new mechanisms. And from the user's point of view, it is better when the same actions lead to the same results, not to different ones depending on some cryptic circumstances, otherwise it will be difficult to explain to the user the mechanism of operation of this button. This button is already too overloaded, no need to overload it even more.

By this I mean that everywhere in the world of computer programs, when there's a button available, the user expects a uniform operation: one button, one left click, one action.

And you've written it yourself:

And from the user's point of view, it is better when the same actions lead to the same results

@zenseii zenseii linked a pull request Jan 24, 2025 that will close this issue
@Branikolog
Copy link
Collaborator

I believe with merging the #9486 the issue with no response for the button won't disturb players anymore.

But look at the current icon: there's a standing still horse. So player can notice the difference and guess, that standing horse means hero won't run anywhere and can do nothing currently. (He's out of movement points.)
So clicking on this button with standing horse corresponds the action on the picture: hero continues standing. :) But now we have just a separate state for that button, which also have a function to reset the route while pressing and holding it, as stated in button description info.

But for the sake of visual representation of empty hero movement points I'm thinking that the old inactive button could be showed instead of the new one for the case hero has some points left:

Image

So running horse button shows a player, that a hero has ability to move somewhere, and standing horse button implies, that hero is out of movement points.

@LeHerosInconnu
Copy link
Author

Hello everyone,

I'm putting this suggestion here, considering that the PR #9486 is not the panacea for the operation of this new button.

Hello @zenseii,

What about something more informative in the Hero Movement button info window (displayed with right clic)?
This would allow all buttons to function more consistently and clearly.
Namely, a left click triggers what is described for each button, and a held left click triggers what is described for all buttons.
Image is for explanation only.

Hero button info 04

Ideally, the window should extend horizontally.
Buttons should be positioned to the left of the window, with the text for each button next to it on the right.
This could be done later.

Originally posted by @LeHerosInconnu in #9486 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement New feature, request or improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants