Dev Log: Developing the Unsung Hero

For this week coding, I am focus on what in my mind is perhaps the single most important game asset in every game. While we implemented nicely, this element receives little to no credits for it function. As soon as it done poorly, everyone criticizes to it no end.. My project for the next few days will be the Camera Rig System.

Most of us don’t notice the “camera” in a game until it does something badly. Once the action is obscured or we wrestle with an objective because we can barely see it, the movement of the camera takes center stage. It’s almost always a horrible thing.  A poorly design Camera System can take the “Perfect Game” and make it completely unplayable.

While Unity3d, the Game Engine I am using for my project, does come with a few built-in Camera Assets, they do not meet the full functionality I desire for the project. Therefore, I will be developing my own Camera System.  Generally, all video game camera are composed of several of the 8 elements listed below.

 

1. Fixed Point: A fixed point camera neither moves, scrolls nor rotates. Many simple games like Tetris or Bejewelled use one fixed point. Larger games like Jet Set Willy use a series of fixed point cameras, one for each room. Adventure games like Blade Runner also use some fixed point cameras, but the perspective differs from scene to scene.

2. Rotating: A rotating camera is unable to move or scroll but it can turn. Adventure, platform and survival horror games sometimes use rotating cameras for especially grand rooms. An alternative use is for tight spaces in some otherwise tracking-based games (see below), or for special modes.

3. Scrolling: The game world is a flat two dimensional grid and the scrolling camera moves on a plane parallel to it. Scrolling cameras can move horizontally, vertically, or both depending on the game. Many 8-bit and 16-bit platform games use scrolling cameras, as do shooters.

4. Movable: Sim and strategy games often use a movable camera. The player looks down from overhead and moves the camera around the world using arrow keys or the mouse. Some games, like World of Goo or Angry Birds, use the same kind of camera but look from the side rather than above.

5. Floating: Floating cameras are movable cameras with no fixed orientation. The floating camera adds rotational control allowing full 3D navigation. The Total War games, Black and White and the Homeworld games use floating cameras.

6. Tracking: This camera tracks the doll along a pre-defined line in 3D space. It may rotate, speed up or slow down, fall behind or even move ahead of the doll as required but the player has little or no control over its movements. Tracking cameras are often used in linear action or platform games like God of War or the Kim Possible DS games.

7. Pushable: Pushable cameras occupy a default position (usually behind the doll) when not controlled, but the player can push them using a second thumb stick or mouse. The camera then rotates around the doll. This kind of camera is very common in modern games. Pushable and tracking cameras are often casually grouped as ‘third person’ perspective.

8. First Person: First person perspective combines the camera and the doll, which means the player sees through the doll’s eyes. He uses one set of controls to move the doll’s body and another to turn its head. One limited variant of first person perspective is the bonnet camera in some racing games. Another is sniper mode, where the player can aim but not move (or not move well).

The Camera system I will be working on is based off the article Third person camera design with free move zone by Yoann Pignole. You can find the details by read the article via previous links.

 

This entry was posted in Development, Tutorials, Unity, Updates, WIP and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s