Oct 31, 2016

Lessons from Suzy Cube: The Camera System, Part 3

#suzycube #indiedev #gamedev #madewithunity 

Welcome to the third and final article in a series examining the camera system used in Suzy Cube. This series dives into several aspects of the game’s camera system with each describing a particular set of features. These articles also follow the chronological order in which the features have been implemented into the camera system.


You can check them all out here:

In the first instalment, we covered the initial functionality of the camera system as well as familiarizing ourselves with the camera rig used in Suzy Cube. In the second we looked into a couple of ways the system was extended to offer an even better experience to players and finally, in this article we will cover three more additions that were made to further round out the robustness of the camera system and ensure a top notch gameplay experience.

Camera Limit Trigger Volumes


The first of these additions is a new kind of trigger volume. Much like the Camera Manipulation Triggers introduced in the first article in the series, these are activated when entered by Suzy though their effect is much simpler. All these triggers do is bar the camera from moving along a particular axis while Suzy is within the trigger volume. This, for example, allows the camera to stop following Suzy as she reaches the outer limits of a level. This has the subtle effect of helping players feel the edge of the level intuitively, thus subconsciously guiding them to the right path. Compare these two examples:

The camera follows Suzy all the way to the edge.

The camera stops before Suzy reaches the edge.

In the second example, you can probably imagine how the camera not following all the way to the edge might act as a hint that the level does not, in fact, keep going beyond the drop.

Rules, though, can be broken for the right reasons, which is why these triggers can also be made narrow enough so Suzy can emerge on the other side at which point the camera will start following her again. This kind of functionality can be perfect for hiding secret paths which, at first blush could seem to be outside the bounds of the level.

Speed Based Camera Trucking


The next new piece of functionality which was recently added, along with Suzy’s new ability to break into a sprint, is Speed Based Camera Trucking. This is an extra bit of of trucking (forward and backward motion) which is added to the camera based on Suzy’s speed. Now, as she speeds up, the camera pulls back.

As Suzy's speed increases, so does the camera distance.

With increased speed, players have less time to avoid dangers, by pulling the camera back, they are given a wider view of the play field which helps in avoiding those dangers. As a side benefit, it also helps to add an extra sense of dynamism to the camera’s behaviour.

Fall Based Camera Pitch


And the final addition to the camera system is another piece of reactive behaviour meant to help players land long drops, especially when using the Double Jump power-up’s short gliding ability. This new functionality works using an internal timer which counts up as long as Suzy is falling and resets whenever she isn’t. Based on this timer, an additional amount of downward pitch is added to the camera to better show what is under Suzy and help players land those long jumps and drops.

Camera pitches downward as Suzy falls.

Some limits are, of course imposed so that the camera won’t exceed a certain pitch, especially if it’s already pitched downward quite heavily due to a Camera Manipulation Trigger set in the level. This is, simply, another way the camera tries to work in the player’s favour as much as possible.

So, there you have it, the many pieces of functionality which come together to form the camera system in Suzy Cube. One of the main lessons I continue to learn and relearn is that looking beyond the simple, naive approach to solving problems is often what separates an okay implementation from a great one. I’m not saying the camera work in Suzy Cube is, necessarily, great but I’m proud to say I’ve taken many steps to try and get it there.




1 comment:

  1. Thoroughly enjoyed this series of tutorials and having worked on a 3rd person platformer camera recently shared many of the solutions. I think the idea to have the camera track a median point when jumping is great as tracking the last 'grounded' point caused me issues when leaving the camera's view.

    ReplyDelete