<i>*update* dslyecxi has done a very sophisticated review of the frustaration of using the action menu and has made his own suggestions to improve it. Check it out here:
If you all like, what he suggests, and if he approves, i might rededicate this ticket to his review. Basically both dslyecxi's and mine suggestions are similar in many ways, but i feel dslyecxi's review is more precise and goes even further in some aspects.</i>
<i>*update* there were some misconception about the concept described here, so here is a very basic abstract:
1.) Leave the menu as it is for all actions that are not context-sensitive.
2.) Make a "use" button (space) for context-sensitive actions (open door etc.).
3.) Improve context sensitivity.
4.) Map as many actions as possible to keys.
This would be the very short version, but please take your time to read the whole ticket.</i>
i'm aware that this is a well known problem and there are already similar tickets. I hope i can justify this new entry by being very precise about the problem and the ways to significantly improve the issue.
The action menu - an arma classic.
- The action menu is very simple in terms of scripting and UI-graphics.
- It is very flexible and it is very easy to make use of it for modding and mission-designing. (Basically one short line of code to link any kind of action or command to the players action menu.
- It supports unlimited amount of actions
- It is terrible! There is no better way to put it. It is clunky and un-immersive (scrolling with mouse-wheel just to open a door etc.).
- It is frustrating, that sometimes a context-sensitive action just does not want to appear.
- It is extremely prone to selecting the wrong action. "Blow up Satchel" instead of "Get In Car" just because the car moved a little bit.
- Because of the above it is relatively slow to use.
All this disadvantages however root from one, fatal misconception of user interfaces:
- The action menu is WRONG it is just plain wrong, because it mixes two things that should not be mixed:
A) Context-sensitive actions that directly relate to game world objects. I call them context action.
B) Abstract actions, that may have impact on the game world, but are not context-sensitive and do not relate directly to game world object with the exception of the player itself. I call them self-actions or abstract actions.
Some examples to clarify the issue before moving on:
Get in car
Access backpack of "John"
Reload tracer mag
Touch off Bomb
Use special feature 3000
Making things splendid:
To significantly improve the action menu, we should embrace the action menu and double it. Yes, you are right: Two action menus!
Well, technically two menus, but one menu would more or less transform into a "use" button. Read on!
You would have the <b>self-action</b> menu, which opens with middle mouse button or mousewheel-scrolling (configurable of course) and would still hold a decent amount of entries. They would not be context-sensitive so would not jump around and would be sorted by estimated importance. Middle mouse button to perform selected action.
The <b>context-action</b> menu would be called with space. Because it only holds context sensitive actions, the thing is that in most cases you would not need to cycle, because there would only be one entry. The entry would be context-sensitive. So when aiming at the rear door of a car for example, basically double-tapping space would get you on the back seat.
To make this work really well, the context-sensitivity should also be improved, so that aiming at the rear door always gets you on the back seat and not on the front seat...
If there should be more than one logical action for the contextual menu you could still scroll with a button. Space to perform action, middle mouse wheel would not perform the action but open the self-action menu.
<b>Please note that the context-action would act and feel like a "use" key!!! Only in rare occasions you had the availability to scroll. Most time you would just hit spacebar, see the only available action and confirm with spacebar, or just double press spacebar.</b>
To make the thing even more intuitive and faster, effort should be made to have as many actions as possible mapped to keys, so that you would only rarely need to scroll the self-action menu. As mentioned above the context-action-menu should ideally need no scrolling at all. This could be achieved by more precisely linking the context-actions to the cross-hair and making the switching of possible actions a bit "lazy" (Precise aiming to make action available, but still available half a second after aiming somewhere else).
Concerning GUI consider making the context-action menu more prominent, perhaps visually linking it to the corresponding object in the game-world. Self-action menu could stay as it is now.
In vehicles, the self-menu would still hold the abstract and self actions. but could also hold the actions for leaving the vehicle and changing seats. (i think that would feel coherent).
The context-action menu would hold all vehicle functions. Same as before: All actions mapped to a key should be deleted from the menu.
I know there are other more sophisticated suggestions for improving the user interface and i liked them a lot. But please also consider this idea (which by the way is inspired by the ace-mod), because it is relatively easy to implement and should get rid of the clunkiness of the current system with minimal effort.
Still it would maintain the few advantages of the action menu. The flexibility and modifiability!