Games with avatar-based interaction models can also use the third-person perspective. The most common camera model in modern 3D action and action-adventure games with strongly characterized avatars, it has the great advantage of letting the player see the avatar, and the disadvantage that it requires much more work to implement. The camera normally follows the avatar at a fixed distance, remaining
behind and slightly above her as she runs around in the world so the player can see some way beyond the avatar into the distance.
The standard third-person perspective depends on an assumption that threats to the avatar will come from in front of her. Some games now include fighting in the style of martial-arts movies, in which enemies can surround the avatar; consider recent games in the Prince of Persia series. To permit the player to see both the avatar and the enemies, the camera must crane up and tilt down to show the fight from a raised perspective.
Designing the camera behavior for the third-person perspective poses a number of challenges, discussed in the next few sections.
So long as the avatar moves forward, away from the camera, the camera dollies to follow; you should find this behavior easy to implement. When the avatar turns, however, you have several options:
■ The camera keeps itself continuously oriented behind the avatar, as in the chase view in flight simulators (see Chapter 17, "Vehicle Simulations"). The camera always points in the direction in which the avatar looks, allowing the player to always see where the avatar is going, which is useful in high-speed or high-threat environments. Unfortunately, the player never sees the avatar's side or front, only her back, which takes some of the fun out of watching the avatar. Also, a human avatar can change directions rapidly (unlike a vehicle), and the camera must sweep around quickly in order to remain behind her, which can give the player motion sickness.
■ The camera reorients itself behind the avatar somewhat more slowly, beginning a few seconds after the avatar makes her turn. This option enables the player to see the avatar's side for a few seconds until the camera reorients itself. Fewer players will find the images dizzying. Super Mario 64, one of the first, and best, 3D console games adopted this approach.
■ The camera reorients itself behind the avatar only after she stops moving. Although this is the least-intrusive way to reorient the camera, it does mean that if the player instructs the moving avatar to turn and run back the way she came, she runs directly toward the camera, which does not reorient itself; instead it simply dollies away from her to keep her in view. The player cannot see any obstacles or enemies in the avatar's way because they appear to be behind the camera (until the instant before she runs into them). Toy Story 2: Buzz Lightyear to the Rescue uses this option; the effect, while somewhat peculiar, works well in the game's largely nonthreatening environment.
If you plan for the camera to automatically reorient itself, you can give the player control over how quickly the reorientation occurs by switching between active camera mode and passive camera mode. In active mode, the camera either remains
oriented behind the avatar at all times or reorients itself quickly; in passive mode, it either orients itself slowly or only when the avatar stops moving.
What happens when the player maneuvers the avatar to stand with her back to a wall? The camera cannot retain its normal distance from the avatar; if it did, it would take up a position on the other side of the wall. Many kinds of objects in the landscape can intrude between the avatar and the camera, blocking the player's view of her and everything else.
If you choose a third-person perspective, consider one of the following solutions:
■ Place the camera as normal but render the wall (and any other object in the landscape that may come between the camera and the avatar) semitransparent.
This allows the player to see the world from his usual position but makes him aware of the presence of the intruding object.
■ Place the camera immediately behind the avatar, between her and the wall, but crane it upward somewhat and tilt it down, so the player sees the area immediately in front of the avatar from a raised point of view.
■ Orient the camera immediately behind the avatar's head and render her head semitransparent until she moves so as to permit a normal camera position. The player remains aware of her position but can still see what is in front of her.
When the player moves the avatar so that an object no longer intrudes, return the camera smoothly to its normal orientation and make the object suitably opaque again, as appropriate.
In third-person games, players occasionally need to adjust the position of the camera manually to get a better look at the game world without moving the avatar. If you want to implement this, assign two buttons, usually on the left and right sides of the controller, to control manual camera movement. The buttons should make the camera circle around the avatar to the left or right, keeping her in focus in the middle of the screen. This enables the player to see the environment around the avatar and also to see the avatar herself from different angles.
Toy Story 2: Buzz Lightyear to the Rescue uses a different adjustment: The left and right buttons cause the avatar to pivot in position while the camera sweeps around to remain behind his back. This changes the direction the avatar faces, moves the camera, and helps line the avatar up for jumps.
Allowing the player to adjust the camera can help with the problem of intruding landscape items, but it is not a real solution; the player would prefer that the camera handle the situation automatically.