User Interface 101

The first step is to make sure that you and I are speaking the same language:

Player-mode vs User-mode
The terms player and user refer to distinct mental states of mind. While you are immersed in a game world - actually "playing" the game - then you are mentally the player. You are no longer aware of the real world, and time can pass without you noticing. This is the state of mind which all game developers hope to trigger in people who buy their product, and they want to keep you in that mode for as long as possible. This is also the mental state where the most fun is to be had while playing.

The other mode - user - refers to the state where you are aware of the computer, the screen, the uncomfortable chair, the annoying menu that won't let you do what you want, the clock on the wall telling you that you should have gone to bed 2 hrs ago, etc. Only while you are in this mental state can you decide to stop playing and go off to do something else. You have lost that immersive link with the game world. This is the mental state that game developers wish you to avoid, at all costs, while playing their game.

Context switch
This is a term well known to the programming community - and it has a very tangible counterpart in the gaming world. In gaming terms, a context switch is a mental state change from player to user mode, with the associated loss of contact with the game world. Context switches are triggered by many things - the cat jumping onto the keyboard while you're frantically engaged in battle will do it every time.

There's not much that game writers can do to prevent that sort of interruption, but there is another cause of context-switching that they do have more control over - context switches triggered by bad interface design. Whenever the user interface gets in the way, requiring your attention to be switched away from the game world and back into the real world of poor menus and unreadable fonts, a context switch has just occurred.

These should be relatively rare events in any properly designed game. Unfortunately the modern trend toward clumsy mouse-only menuing systems are causing context switches to be the norm, rather than the exception.

User Interfaces and Computer Games

Computer games ask you to suspend belief, leave your ordinary, not-so-exciting world and immerse yourself in an alternative reality for a while.

The suspension-of-reality requirement is similar to the experience of going to see a movie in a theatre - there is a context switch at the start of the movie (into the movie reality) and at the end of the movie (when you wonder where all that rubbish on the floor came from as you are leaving). The movie industry is very effective at holding your attention for the duration - maybe 2 or 3 hours. They do everything possible to make you lose contact with the real world - dim lighting, loud soundtracks that make any sort of communication with your neighbor impossible, fast-paced action that keeps your attention and so forth.

By contrast, game developers continually force mental context switches on their players - by over-use of menu-driven interfaces, non-intuitive menuing behaviour and a general lack of good keyboard shortcuts for common actions.

Birds Rule of User Interface Design for Computer Gaming:  Avoid context switches at all cost

Anatomy of a context switch

Understanding what causes a context switch to take place is essential when trying to figure out how to avoid them in your new game design.

The human mind has the uncanny ability to stay in player mode while (at the same time) your fingers are manipulating the keyboard/mouse/joystick performing user actions. Now obviously some mental effort is required to maintain this schizophrenic state of mind (as a player, you are mostly unaware of the actions that your fingers are performing. You simply "wish" for something - like "turn left and pick up that health pack" and it happens automatically.) It's like playing a musical instrument - you are not consciously aware of the movments that your fingers are making, and you are not consciously directing them.

There is a limit, however, to the complexity of these player-mode actions. When this limit is passed, a context switch is forced so that your conscious mind can help solve the problem.

Avoiding contect switches requires that:

rephrasing the second point:

There must be a huffman coding over the game interface so that common actions take the least effort.

How do you define "effort" in this context? Well, a rough-and-ready definition would include

Some of these items are more serious than others. In general, the last item is a killer for sure, with the others being less serious but still problematic.

All modern games conform to the principles given above in some way, but sadly there are glaring exceptions to the breadth of implementation. It seems that game developers understand that they have to provide the ability to do certain things (like user-configurables controls) without understanding why they are doing it, and hence fail to implement it properly.

The second point above (simple actions must be simple to do) is a particular example where most games are simultaneously good and terrible. They will almost certainly be good at making some actions easy - movement forward/backward/sideways etc, but then completely blow it by making other common actions (e.g. closing a popup window, quickly checking your inventory etc) torturously difficult by comparison.

Amazingly it is often the same designer/programmer who will be responsible for a well thought out system for configuring controls and for an amazingly clunky mouse-driven interface for other, equally important, actions (for which they have not provided any shortcuts at all). Try playing a few hours of Wizardry 8 and you'll soon see what I am talking about - it feels like it takes about 6 mouse clicks to do anything in the interface.

Also amazing is that many of the shortcomings are trivial to fix - a few lines of code here and there to allow alternatives for common actions is all that is required in many cases to make a dramatic change to the usability of these games, and in the next sections I'll provide a few examples of these simple improvements,

It is a testament to the low priority that game developers assign to the user interface that such simple changes are not picked up during "usability" testing of their product prior to release.

Usability vs Eye Candy

Time and again game developers mistake an impressive looking interface with one that is impressive to use.

It is easy to understand how this can happen - after all, when you are making your 5 minute pitch to a publisher then amazing looking graphics with genuine ye-olde fonts can make the difference between landing a multi-million dollar publishing deal or going back to work as a delivery boy for Pizza Hut.

Too bad that the people who play the game can't make out what those roadside signs with that cool-looking font are actually saying ( *cough* Morrowind *cough*).

Now don't get me wrong - I'm all in favour of eye candy and impressive graphics (thats what I spent all that money on a GF4 video card for, after all) but there is no excuse for sacrificing usability. Interfaces must work good first, and be visually impressive second.

Previous: Introduction Next: Huffman Coding