A handful of UI suggestions to the CDPR devs
Hey devs! Sorry to interrupt the development of the game, but I'm a bit of a usability buff, and I would like to provide some information regarding UI enhancements for the PC that may prove to help make the game experience more enjoyable. I hope you can find it useful.
For an interface to be as intuitive as possible, it requires the least amount of cognitive and motor loads possible. A cognitive load is when the user has to think about what needs to be done in order to complete a task, and a motor load involves the physical movements needed to achieve that through the UI (such as moving the mouse, clicking a button or pressing a key.) A good UI minimizes both cognitive and motor-based loads on the user, and to that end I have a couple suggestions.
HOME ROW
The majority of PC users have their hands on home row, where keys from 1-4 (on top) and Z-V (on bottom) are considered "prime" real estate, as they are usually all within reach of the user without the need to physically move their hand. A common issue with many UI's is that they require the user to leave home row in order to press buttons that are commonly accessed. I cite, Witcher 2's use of 'J' in order to bring up the Journal. Such an act requires not only the motor load of moving the hand away from home row, but often even requires the user to stop focusing on the screen in order to visually confirm the proper button press (remember, we cannot assume the user is playing in a well-lit condition).
My suggestion is to allow an in-depth key mapping functionality, traditionally where the player can assign a "SHIFT" button. This button allows the user to double up functionality on readily-accessible keys to the home row position. For example, you could bind a function to Q, as well as CTRL+Q (if CTRL were designated to be the "shifting" button) It would even be beneficial for you to allow mouse buttons to act as the shift, thus, users can use a thumb button on 1 hand to toggle the functionality of the keys adjacent to their left.
CONTEXT-SENSITIVE ACCEPT/CANCEL
You can reduce the amount of loads needed to perform common ACCEPT/CANCEL functionality through the ever-present support of 2 major mechanics: First, allowing the mouse's LMB to function as ACCEPT and RMB to function as CANCEL allows an easily-accessible mechanic for common confirm/reject tasks. This is preferable to requiring the user to move their mouse to the ACCEPT/CANCEL option, clicking, and returning their mouse to its original position. Also, you could create 2 additional key mappings called "ACCEPT" and "CANCEL". These bindings would be permitted to exist elsewhere (ie, other functionality could be assigned to them) as the accept/cancel-assigned buttons would only function as accept/cancel when in the context of the game presenting them that option. When not in that context, the key's functions would default back to their primary options.
SHIFT-SENSITIVE RANGE SELECTION
When incremental values need to be selected, aside from supporting an ability to drag a visual selector, key and mouse functionality should be able to be used as well. For a mouse, it is common for scroll-capable mice to increment/decrement the value (duplicating that via the keyboard with the W key, traditionally thought of as 'Up/Increment' and S key, thought of as 'Down/Decrement', but for both mouse and keyboard use, allow the user the ability to hold the SHIFT key in order to increase the increment/decrement process by a factor of 10. This will allow for quicker functionality in the event there is a large quantity the needs to be adjusted.
REMOVE THE NEED TO DRAG
In the Witcher 2, the user had to drag items to a "Drop target" in order to destroy them. This process was very slow as it required a great deal of motor load for the user. Instead, I suggest providing a feature with easy discoverability that allows the user to hold a modifier (say, ALT) while in their inventory, to quickly allow the disposition of items. This can be hinted at via the interface or an information window of the item, ever-present at the bottom. You could also use the CTRL modifier when clicking on items in order to break them into separate stacks in the event the user wants to perform actions on a set amount, but not all.
OPTIMIZE REDUNDANT TASKS
During play testing, it is a great opportunity to see what kind of interactions the player is performing most often with the UI, and to look for redundancy in them. Is the user accessing the map often? Once in the map, are they constantly looking for an indicator as to where they are? (make the indicator more obvious) Are they zooming in? (Adjust the default zoom level), do users have to sequentially go through a process to get to their task (optimize the process to be more prominent or require less effort). Even small optimizations, especially ones that are utilized often, can have a tangible positive effect on the human/computer interaction process when they are optimized.
REDUCE THE AMOUNT OF NAVIGATION NEEDED
Though we still want to reduce clutter and ensure that each area has its own dedicated "area of concern" (ie, we don't necessarily want to mix the Skill Trees area with the Journal, however a journal's quests might have related functionality on the world map), the Witcher 2 required the user to exit a navigational location and return to the game in order to bring up another. For example, if you had the map up, you had to close the map, returning you to the game, before you could then bring up the Journal. Instead, off the user a seamless way to move through the multiple areas of menu navigation. Many players may feel the TAB (and SHIFT + TAB) function as intuitive ways of moving through the menu, however to be as user-friendly as possible, you may want an option in the key bindings for "Next Tab" and "Previous Tab" to allow users to customize the buttons. Like in the aforementioned suggestion, these are context sensitive buttons, so they should be able to be mapped to multiple functions, because the tab to/fro is only contextually relevant when the user is not in the active game, but instead in the menu system.
EASE OF DIALOGUE SELECTION
Since story is such an important aspect, and dialogue selections are an integral part of the game, care must be taken to ensure that the selection process is quick, easy, and has no risk of accidental selection. Again, citing the Witcher 2, the user was required to either move their mouse to the option (with a small percentage chance the game would fail to register the hovered selection) or the user had to take their hand off home row in order to use the arrow keys (which are, despite their visual indicators, a poor selection for menu navigation). PC gamers associate the WASD keys for directions (W=Up, A=Left, S=Down, D=Right). In tandem with the aforementioned selection of allowing the mouse LMB/RMB (as well as 2 user-defined keys) for accept/cancel and a highlighted response, this should provide for an effortless and error-proof method of dialogue selection with minimal effort from the user.
COMPARISONS ON THE FLY
Another large part of games of this nature is the progression of a player's gear. As we get new gear and enhance each piece, we want to ensure that we are seeing marked progression in the expected traits of that gear. As such, quick comparison statistical differences should be provided against the currently equipped item. In the Witcher 2, there were issues where one could not compare gear they wished to purchase to the item currently equipped, requiring the user to completely exit the interaction with the merchant, re-evaluate their current gear, and then memorize the stats as they reinstantiated conversation with the merchant. To ease the cognitive load in requiring the user to remember those stats, a system that provides a clear look at what traits are better or worse would be very beneficial.
That's most of what I could think of off the top of my hat. I hope this is not taken as some random Schmoe "telling" you what to do; by no means am I; I am simply offering some suggestions that I feel would help the Witcher 3 to be the best it can (and I wouldn't be surprised, with the talent CDPR has, for you to tell me "Well, we're already doing all those things") You guys are very talented, and I know that no matter what happens, the game we get will be amazing. I hope I was able to explain myself well enough, if not, please let me know; and keep up the great work!
Hey devs! Sorry to interrupt the development of the game, but I'm a bit of a usability buff, and I would like to provide some information regarding UI enhancements for the PC that may prove to help make the game experience more enjoyable. I hope you can find it useful.
For an interface to be as intuitive as possible, it requires the least amount of cognitive and motor loads possible. A cognitive load is when the user has to think about what needs to be done in order to complete a task, and a motor load involves the physical movements needed to achieve that through the UI (such as moving the mouse, clicking a button or pressing a key.) A good UI minimizes both cognitive and motor-based loads on the user, and to that end I have a couple suggestions.
HOME ROW
The majority of PC users have their hands on home row, where keys from 1-4 (on top) and Z-V (on bottom) are considered "prime" real estate, as they are usually all within reach of the user without the need to physically move their hand. A common issue with many UI's is that they require the user to leave home row in order to press buttons that are commonly accessed. I cite, Witcher 2's use of 'J' in order to bring up the Journal. Such an act requires not only the motor load of moving the hand away from home row, but often even requires the user to stop focusing on the screen in order to visually confirm the proper button press (remember, we cannot assume the user is playing in a well-lit condition).
My suggestion is to allow an in-depth key mapping functionality, traditionally where the player can assign a "SHIFT" button. This button allows the user to double up functionality on readily-accessible keys to the home row position. For example, you could bind a function to Q, as well as CTRL+Q (if CTRL were designated to be the "shifting" button) It would even be beneficial for you to allow mouse buttons to act as the shift, thus, users can use a thumb button on 1 hand to toggle the functionality of the keys adjacent to their left.
CONTEXT-SENSITIVE ACCEPT/CANCEL
You can reduce the amount of loads needed to perform common ACCEPT/CANCEL functionality through the ever-present support of 2 major mechanics: First, allowing the mouse's LMB to function as ACCEPT and RMB to function as CANCEL allows an easily-accessible mechanic for common confirm/reject tasks. This is preferable to requiring the user to move their mouse to the ACCEPT/CANCEL option, clicking, and returning their mouse to its original position. Also, you could create 2 additional key mappings called "ACCEPT" and "CANCEL". These bindings would be permitted to exist elsewhere (ie, other functionality could be assigned to them) as the accept/cancel-assigned buttons would only function as accept/cancel when in the context of the game presenting them that option. When not in that context, the key's functions would default back to their primary options.
SHIFT-SENSITIVE RANGE SELECTION
When incremental values need to be selected, aside from supporting an ability to drag a visual selector, key and mouse functionality should be able to be used as well. For a mouse, it is common for scroll-capable mice to increment/decrement the value (duplicating that via the keyboard with the W key, traditionally thought of as 'Up/Increment' and S key, thought of as 'Down/Decrement', but for both mouse and keyboard use, allow the user the ability to hold the SHIFT key in order to increase the increment/decrement process by a factor of 10. This will allow for quicker functionality in the event there is a large quantity the needs to be adjusted.
REMOVE THE NEED TO DRAG
In the Witcher 2, the user had to drag items to a "Drop target" in order to destroy them. This process was very slow as it required a great deal of motor load for the user. Instead, I suggest providing a feature with easy discoverability that allows the user to hold a modifier (say, ALT) while in their inventory, to quickly allow the disposition of items. This can be hinted at via the interface or an information window of the item, ever-present at the bottom. You could also use the CTRL modifier when clicking on items in order to break them into separate stacks in the event the user wants to perform actions on a set amount, but not all.
OPTIMIZE REDUNDANT TASKS
During play testing, it is a great opportunity to see what kind of interactions the player is performing most often with the UI, and to look for redundancy in them. Is the user accessing the map often? Once in the map, are they constantly looking for an indicator as to where they are? (make the indicator more obvious) Are they zooming in? (Adjust the default zoom level), do users have to sequentially go through a process to get to their task (optimize the process to be more prominent or require less effort). Even small optimizations, especially ones that are utilized often, can have a tangible positive effect on the human/computer interaction process when they are optimized.
REDUCE THE AMOUNT OF NAVIGATION NEEDED
Though we still want to reduce clutter and ensure that each area has its own dedicated "area of concern" (ie, we don't necessarily want to mix the Skill Trees area with the Journal, however a journal's quests might have related functionality on the world map), the Witcher 2 required the user to exit a navigational location and return to the game in order to bring up another. For example, if you had the map up, you had to close the map, returning you to the game, before you could then bring up the Journal. Instead, off the user a seamless way to move through the multiple areas of menu navigation. Many players may feel the TAB (and SHIFT + TAB) function as intuitive ways of moving through the menu, however to be as user-friendly as possible, you may want an option in the key bindings for "Next Tab" and "Previous Tab" to allow users to customize the buttons. Like in the aforementioned suggestion, these are context sensitive buttons, so they should be able to be mapped to multiple functions, because the tab to/fro is only contextually relevant when the user is not in the active game, but instead in the menu system.
EASE OF DIALOGUE SELECTION
Since story is such an important aspect, and dialogue selections are an integral part of the game, care must be taken to ensure that the selection process is quick, easy, and has no risk of accidental selection. Again, citing the Witcher 2, the user was required to either move their mouse to the option (with a small percentage chance the game would fail to register the hovered selection) or the user had to take their hand off home row in order to use the arrow keys (which are, despite their visual indicators, a poor selection for menu navigation). PC gamers associate the WASD keys for directions (W=Up, A=Left, S=Down, D=Right). In tandem with the aforementioned selection of allowing the mouse LMB/RMB (as well as 2 user-defined keys) for accept/cancel and a highlighted response, this should provide for an effortless and error-proof method of dialogue selection with minimal effort from the user.
COMPARISONS ON THE FLY
Another large part of games of this nature is the progression of a player's gear. As we get new gear and enhance each piece, we want to ensure that we are seeing marked progression in the expected traits of that gear. As such, quick comparison statistical differences should be provided against the currently equipped item. In the Witcher 2, there were issues where one could not compare gear they wished to purchase to the item currently equipped, requiring the user to completely exit the interaction with the merchant, re-evaluate their current gear, and then memorize the stats as they reinstantiated conversation with the merchant. To ease the cognitive load in requiring the user to remember those stats, a system that provides a clear look at what traits are better or worse would be very beneficial.
That's most of what I could think of off the top of my hat. I hope this is not taken as some random Schmoe "telling" you what to do; by no means am I; I am simply offering some suggestions that I feel would help the Witcher 3 to be the best it can (and I wouldn't be surprised, with the talent CDPR has, for you to tell me "Well, we're already doing all those things") You guys are very talented, and I know that no matter what happens, the game we get will be amazing. I hope I was able to explain myself well enough, if not, please let me know; and keep up the great work!