FUNDAMENTALS OF GAME DESIGN, SECOND EDITION
Allowing for Customization
One of the most useful, and at the same time easiest to design, features you can offer your player is to allow him to customize his input devices to suit himself. Normally you handle this via a shell menu, although a few PC games store the information in a text file that the player can edit. These are two of the most commonly offered customizations:
■ Swap left and right mouse buttons. If the mouse has more than one button, left-handed and right-handed players may need different layouts. Providing a mirror image of your standard layout takes little trouble, so don't make players go through a function-reassignment process just for this; give them a feature that allows them to simply swap the current assignments.
■ Swap the up and down directions of the mouse or joystick in first-person 3D games. Some players like to push the mouse or joystick up to make their avatar look up (an idea borrowed from screen-oriented steering in 2D games); others like to pull it down to look up (an idea borrowed from airplane joysticks). Let the player play as she prefers.
The term degrees of freedom refers to the number of possible dimensions that an input device can move through. An ordinary key or button has one degree of freedom: It can only move up and down. A joystick or mouse has two degrees of freedom: It can move up and down, left and right. The Wii Remote has three degrees of freedom. If two devices, both binary or both analog (see the discussion in "Input Devices" earlier), have the same degree of freedom, you can generally let the player interchange them, although there will be practical difficulties if one device is self-centering and the other is not or if one allows unlimited travel and the other does not. When exchanging assignments between two devices not identical in every way, some functionality or convenience is almost always lost.
Almost all games assign some of their player actions to particular keys or buttons. Your game should include a key reassignment shell menu that allows players to assign actions to the keys they prefer. If your game includes menus, also allow the player to assign menu items to keys so he can select them quickly without using the mouse. You may need to enforce some requirements: If the game requires a particular action to be playable (for example, the fire-weapon action in a shooter game), warn the player if he tries to exit the shell menu with the action still unassigned.
Be sure to save the player's customizations between games, so he doesn't have to set them up every time he plays. If you want to be especially helpful, let players save different setups in separate, named profiles so that each player can have his own set of customizations. Include a restore defaults option so the player can return his cus - tomizations to the original factory settings.
When game reviewers praise a game highly, they cite its user interface more often than any other aspect of the game as the feature that makes the game great. The gameplay may be innovative, the artwork breathtaking, and the story moving, but a smooth and intuitive user interface improves the player's perception of the game like nothing else.
In this chapter, you learned about interaction models and camera models, two concepts central to game user interfaces. Now, you know some ways to manage the complexity of an interface, and you are familiar with a number of visual and audio elements that games use. You also studied input devices and navigation mechanisms in detail.
If you tune and polish your interface to peak perfection, your players will notice it immediately. Give it that effort, and your work will be well justified.