In applying this idea to user interface design, player-mode actions constitute the input data stream, and the output stream is composed of the corresponding user-mode actions, weighted according to their likelyhood of causing a context switch.
An ideal interface will allow the player to exist in the game world for long periods of time without suffering any context switches or interface difficulties. The longer a player can exist, uninterrupted, in the game world, then the stronger their tie with the gaming reality will become, and the closer they will become to experiencing the game as the developer intended.
As a side efect, they will enjoy the game more, and look back on the gaming experience much more favourably.
So we now ask ourselves - what are the building blocks that would make up the output data stream from a properly huffman-coded playing session?
Lets assume that we are designing a first or third person perspective game, so therefore a pointing device (e.g. mouse) will be required. In a first-person game the mouse will be used to "look around" the game world, whereas in third person games the mouse is used to select locations in the players immediate vicinity (point and click), or indicate to the game engine where the players current attention focus is located (point).
Since these actions are so central to interfaces in this genre, we should do everything possible to keep the players hand on the mouse. Forcing him to move that hand from the mouse to the keyboard and back will cause a context switch. In recognition of this fact, most mice come equipped with a few buttons that can be used without moving the hand, and form part of our "low-effort" set of available actions.
The other hand will be resting somewhere on the keyboard, depending on whether the user is left- or right- handed. The keys that are easily reachable without moving the hand from this position form the rest of the low-effort set of actions. These may be the WASD set of keys, or perhaps the numeric keyppad, depending on the users preferences.
Most keyboards also come equipped with a collection of large, easily reached keys (e.g. F1 through F12, spacebar, Shift, Ctrl etc). These keys form the next tier of lowest-effort actions, since with a little practice a player can find these keys quickly and easily and then be able to return their hand to its "normal" position without shifting their focus away from the action on the screen (note that keyboard design has steadily worsened over the last few years, with these keys getting smaller and smaller, and keys like the horrendous "windows key" being introduced into a prime position instead).
Some games (e.g. halflife / Counterstrike) can exist entirely within the lowest-effort tier of actions, and so have far and away the smoothest interface. Counterstrike corrals the use of high-effort keys to the short "buy time" at the start of each round, and goes so far as to hold all playes in place during that time as compensation. It is essential for Counterstrike to have the best coding scheme, because it's gameplay places an enormouse amount of stress on the players reflexes and instincts. Even a slight penalty in effort-level with the interface would make the game unplayable when competing agains equal strength opposition.
Anyway, where was I? ... oh yes. Increasing levels of effort.
The next tier of effort takes in all the other single-keystroke actions, and some of the combination actions such as shift+click etc, where the combination action can be managed without moving the hands. Combinations like shift-equalsign-click do not belong in this tier.
Next up we have situations where "text" must be typed in to an entry box. This completely disrupts the mental state of the user, since it requires a total shift out of game-playing mode and into word-processing mode.
Taking up prime position in the difficulty stakes comes the dreaded mouse-driven menu. Nothing is more disconcerting that sudden transitions from mouse-as-mouselook into mouse-as-pointer when a window pops up in the middle of gameplay. Again, Counterstrike understands this, and provides keyboard shortcuts for almost all the menu options. There are a couple of exceptions - e.g. "muting" another player requires one of these nasty transitions, but these occasions are mercifully rare. If you're like me, then you play with the voice communication stuff turned off anyway, cause listening to whining 15 yr olds is too annoying :-)
Other games - like Wizardry 8 and Morrwind - have *no clue* about these matters, as I describe elsewhere. Playing these games is a rollercoaster ride through the ease-of-use levels.
Previous: User Interface 101 | Next: Morrowind |