50 Game Camera Mistakes
A 2014 GDC talk about lessons learned making the dynamic camera for Journey. All points are listed below.
#todo - Sort these out in to sections
- Using a dynamic camera when another approach would work.
- Designing levels and camera behaviors that don’t match.
- Using global coordinates or quaternions to persist camera state.
- Using a default camera distance that’s likely to break line-of-sight.
- Allowing obstacles to break line-of-sight from the side.
- Pushing the camera away from an obstacle while the player is trying to swing the camera towards it.
- Letting the player push the camera inside an obstacle.
- Letting independent forces compete to push the camera.
- Excessively moving the camera to prevent unimportant items from breaking line-of-sight. 1.: Letting the camera intersect narrow columns.
- Interpreting a hill as a wall to be avoided.
- Swinging the camera sideways when occluders come from behind.
- Letting the camera’s near-clipping-plane intersect the avatar.
- Using the same camera distance for all angles.
- Using the same field-of-view for worm’s eye angles and standard angles.
- Shifting pitch, distance, and field-of-view independently.
- Not cutting when the avatar passes through opaque objects.
- Letting cuts remap directional controls.
- Breaking the player’s sense of direction.
- Violating the 180 degree rule.
- Focusing only on the avatar.
- Relying on players to control the camera all the time.
- Leaving the camera yaw alone while the player is running.
- Making it hard to judge distances,
- Looking straight ahead as the avatar approaches a cliff.
- Keeping the camera level when the avatar is running on a slope.
- Misusing the “Rule of thirds”.
- Using the same logic for ground and air motion.
- Relying entirely on procedural camera behaviors.
- Letting players make themselves lost and confused.
- Rotating excessively to look at nearby targets.
- Translating to look at distance targets.
- Letting the avatar’s own body occlude targets ahead.
- Giving the player control over the camera, and then taking it away.
- Immediately applying a camera hint after the player finished turning the camera to look at something.
- Not letting experts explore.
- Not providing inverted controls.
- Responding to accidental controller input.
- Using linear sensitivity.
- Letting the camera pivot drift too far.
- Using a too small field-of-view.
- Rapidly shifting field-of-view.
- Excessively shaking the camera.
- Bouncing the camera with the avatar’s walk cycle.
- Translating or rotating up and down when the avatar jumps.
- Rapidly transitioning to a new camera position.
- Maintaining pitch speed until hitting the pitch limit.
- Developing for the Oculus Rift as the primary camera method.
- Testing with a narrow demographic.
- Writing a general “constraint solver” that optimizes for the camera.