The focus of this project was to create a new camera system for 3D Platforming games that changes how the player views the world based on their performance in the game. Common problems with existing over-the-shoulder third person cameras were identified and a system of camera behaviors was developed in an attempt to address those problems. Someone playing a game receives all information about that game through their perspective into the world. This perspective is dictated by the camera. The position and viewport of a camera relative to the player can be a critical factor in helping the player with environmental awareness, navigation, and depth perception. For more information about the research and theory behind Camera Tracker, examine the documentation below.
Camera Tracker was created in Unity3D. First, a simple platforming game was developed which featured a number of situations where standard over-the-shoulder camera solutions are less than optimal. Then, a system for dynamic camera motion was created to guide the player's viewpoint into the world. The system determines which camera solutions might help a player at navigating the world or accomplishing difficult tasks. When a player successfully uses an in-game camera, or fails while using that camera, information is stored about that camera for use in later play-throughs. This information is aggregated across all players, and used to select the game's active camera at any given time.