FUNDAMENTALS OF GAME DESIGN, SECOND EDITION
What the Player Wants to Do
Just as the player needs to know things, the player wants to do things. You can offer him many things to do depending upon the game's genre and the current state of the game, but some actions crop up so commonly as to seem almost universal. Here are some extremely common actions.
■ Move. The vast majority of video games include travel through the game world as a basic player action. How you implement movement depends on your chosen camera and interaction models. You have so many different options that a whole section, "Navigation Mechanisms," addresses movement later in this chapter.
■ Look around. In most games, the player cannot see the whole game world at one time. In addition to moving through the world, he needs a way of adjusting his view of the world. In avatar-based games, he can do this through the navigation mechanism (see "Navigation Mechanisms"). In games using multipresent and other interaction models that provide aerial perspectives, give him a set of controls that allow him to move the virtual camera to see different parts of the world.
■ Interact physically with nonplayer characters. In games involving combat, this usually means attacking nonplayer characters, but interaction can also mean giving them items from the inventory, carrying or healing them, and many other kinds of interactions.
■ Pick portable objects up and put them down. If your game includes portable objects, implement a mechanism for picking them up and putting them down.
This can mean anything from picking up a chess piece and putting it down elsewhere on the board to a full-blown inventory system in a role-playing game in which the player can pick up objects in the environment, add them to the inventory, give them to other characters, buy them, sell them, or discard them again.
Be sure to include checks to prevent items from being put down in inappropriate places (such as making an illegal move in chess). Some games do not permit players to put objects down, in order to prevent the players from leaving critical objects behind.
■ Manipulate fixed objects. Many objects in the environment can be manipulated in place but not picked up, such as light switches and doors. For an avatar - based game, design a mechanism that works whenever the avatar is close enough to the object to press it, turn it, or whatever might be necessary. In other interaction models, let the player interact more directly with fixed objects by clicking them. You can simplify this process by giving fixed objects a limited number of states through which they may be rotated: a light switch is on or off; curtains are fully open, halfway open, or closed.
■ Construct and demolish objects. Any game that allows the player to build things needs suitable control mechanisms for choosing something to build or materials to build with, selecting a place to build, and demolishing or disassembling already-built objects. It also requires feedback mechanisms to indicate where the player may and may not build, what materials he has available, and if appropriate, what it will cost. You should also include controls for allowing him to see the structure in progress from a variety of angles. For further discussion of construction mechanisms, see Chapter 18, "Construction and Management Simulations."
■ Conduct negotiations and financial transactions, and set numeric values.
In complex simulations, players sometimes need to deal with numbers directly, especially when managing quantities of intangible resources such as money. Conventional user interfaces for desktop applications employ many ways of obtaining a number from the user—typed characters, scrolling list boxes, sliders, and so on. Unfortunately, most of these prosaic mechanisms harm the player's fantasy unless he is playing a game set in the modern world. If you need to let the player manipulate raw numbers, try to find a way—perhaps with appropriate artwork and consistent typefaces—to make it fit into your game's cultural style.
■ Give orders to units or characters. Players need to give orders to units or characters in many types of games. Typically this requires a two - or three-step process: designating the unit to receive the order, giving the order, and optionally giving the object of the order, or target. Orders take the form of verbs, such as attack, hug, open, or unload, and targets take the form of direct objects for the verbs, such as thug, dog, crate, or truck, indicating what the unit should attack, hug, open, or unload.
■ Conduct conversations with nonplayer characters. Video games almost always implement dialog with NPCs as scripted conversations conducted through a series of menus on the screen. See "Scripted Conversations and Dialog Trees" in Chapter 7, "Storytelling and Narrative."
■ Talk to friends in networked multiplayer games. Multiplayer online games must give players opportunities to socialize. Build these mechanisms through chat systems and online bulletin boards or forums.
■ Pause the game. With the exception of arcade games, any single-player game must allow the player to pause the action temporarily.
■ Set game options. Outside the game world, the player may want to set the game's difficulty level, customize the control assignments (see "Allowing for Customization" later in this chapter), or adjust other features such as the behavior of the camera. Build shell menus to allow the player to do this.
■ Save the game. All but the shortest games must give the player a way to stop the game and continue from the same point when the player next starts up the game software. See "Saving the Game" in Chapter 9, "Gameplay." ■ End the game. Don't forget to include a way to quit!