-
Okay - let's say you're making a 2D game and you
need some kind of camera to frame the action.
-
No problem - just pin the camera
to the main character, right?
-
Wrong!
-
Do this and you'll have a camera that's jittery,
jumpy, short-sighted, and boringly static.
-
So let's fix it.
-
Here are five quick tips for
making a much better 2D camera.
-
First, let's talk about lookahead.
-
Basically - if you keep the character in the
middle of the screen at all times then you're
-
dedicating just half of the display
to the stuff that's in front of you.
-
No surprise, then, why this happens so often...
-
So it might be better to focus more
attention on the stuff that coming up,
-
and ignore the stuff behind you.
-
And there are a few ways to do it.
-
The simple solution is to simply
zoom the camera out further.
-
That means even if the hero
is dead centre on the display,
-
you can still get a good view of what's to come.
-
A more involved solution, though, is to
shift the camera in front of the character.
-
If you can only move in one direction it's enough
-
to simply offset the camera
from the main character.
-
That's great for endless runners and the like.
-
But if the player can travel both
left and right then you'll need to
-
adjust the lookahead based
on the direction of travel.
-
So in Cave Story there are
two camera positions - one
-
when you're moving left and
one when you're moving right.
-
They're both offset in front of the player,
-
which is perfect for a game about
shooting targets in front of you.
-
When you swap direction, the game slowly glides
to change from one position to the other.
-
New Super Mario Bros. U does something similar.
-
The camera is naturally biased on the
right side of the screen, ahead of Mario.
-
But if you start to backtrack for a short
period of time the camera will realise,
-
catch up, and swing further left of Mario.
-
And in Sonic Generations the
camera reacts to Sonic's speed.
-
It settles on the hedgehog when he's stood
still, but it moves further and further in
-
front of him as he picks up momentum
- until it reaches a maximum position.
-
This is not just for platformers,
though - in Hyper Light Drifter,
-
the camera is offset a few feet
in front of the hero's head so
-
no matter which direction you're facing,
the camera will frame what's coming up.
-
And in Luftrausers the camera tracks in front
-
of the player's plane - but only
when the throttle is held down.
-
That makes it possible to do those
sexy stall-and-swing-around shots,
-
without losing sight of your prey.
-
It's even easier to do this if the player has
a method for aiming, like in Nuclear Throne.
-
By centring the camera somewhere
between the character and the cursor,
-
you can get a better look at
the enemies you're shooting at.
-
It's a very natural way of responding to the
-
player's intention and framing
what they obviously want to see.
-
You can witness similar stuff in
bullet-based roguelike Enter the Gungeon,
-
clone 'em up puzzler The Swapper, and
blood-soaked rampager Hotline Miami.
-
Basically - ask yourself "what does the player
-
really need to see"? And then make
sure the camera isn't hiding it.
-
Next up - let's talk about cameras and jumping.
-
Because if you pin the camera to the character
-
then it's going to move the
screen every time you jump.
-
And if you're making a platformer - a genre that's
-
all about jumping - that's
a lot of camera movement.
-
This can make the player feel nauseous,
and make it hard to line up perfect jumps -
-
especially if the platforms disappear
beneath the camera when you lurch upwards.
-
So, there are two main ways to help with this.
-
One is to ignore jumps until the
player reaches a certain elevation.
-
In Donkey Kong Country: Tropical Freeze
the camera doesn't react to DK's leaps -
-
ensuring that the ground stays in
the same position at all times.
-
However, when you land on a
sufficiently high platform,
-
the camera tracks up and sets
a new baseline to work with.
-
This means that the camera moves when you've
landed, rather than shifting mid jump.
-
The camera can break these rules
in certain circumstances, like when
-
you're climbing a rope or swimming
- now it moves up and down freely.
-
Rayman Legends is similar: the frame
doesn't need to lurch up when Rayman jumps.
-
It can just track up in certain, predetermined
areas where the level goes beyond the frame.
-
The other way to fix this is
through the level design itself.
-
In a game like Shovel Knight, the
levels are designed with a maximum
-
height - which just so happens to
be the exact height of the screen.
-
This means that the camera only
needs to track left and right,
-
but never needs to move up and down -
allowing the camera to stay still for jumps.
-
Go even further and you can keep the entire level
-
in a single screen, which means the
camera doesn't need to move at all.
-
Which is perfect for precision jumping.
-
It also helps to offset the camera vertically, so
the hero is closer to the bottom of the screen.
-
This gives more vertical space to play with
and less need to move the camera up and down.
-
But perhaps the best tip to remember is that you
don't need to treat both camera axes equally -
-
it can do completely different things when moving
left to right, and when moving up and down.
-
Next - let's talk damping.
-
If the camera perfectly tracks the
character then it's going to react
-
to every single movement, no matter how small -
-
and that can lead to a camera
that feels erratic and jerky.
-
Especially when making precision
movements to line up a perfect jump.
-
One solution is to use damping
- simply have the camera ease
-
between its current position
and the character's position.
-
This will make it follow events more smoothly,
-
and won't immediately respond
to small shifts in position.
-
Though, be aware: if the camera is slow to
catch up to the player's movements you can
-
end up with moments where the character
is actually in front of the camera,
-
leaving even less screen real
estate for looking ahead.
-
Another solution is to impose
some kind of dead zone.
-
In Fez there's an invisible window where the
-
character can wander around freely
without the camera moving at all.
-
But if you push beyond that
window, the camera shifts.
-
This does mean that the character will be far
beyond the centre of the screen when walking -
-
but the camera is so zoomed out in this
game that it doesn't really matter.
-
So super responsive cameras can be
good for retro-inspired titles
-
that want to capture that choppy 8-bit feeling,
-
but otherwise even a tiny bit of camera damping
can make things feel more smooth and polished.
-
Now, the camera should usually
be focused intently on the
-
character - but you'll sometimes
want to frame other things, too.
-
So don't be afraid to move,
zoom, or halt the camera.
-
For instance, you can use the camera to draw
the player's attention to certain objects.
-
In the game Insanely Twisted Shadow Planet,
-
key areas like checkpoints and puzzle zones
have a sphere of influence around them.
-
If the player's spaceship enters
the sphere, the camera is told to
-
find the average position between
the key area and the spaceship -
-
framing both on screen and adeptly
drawing the player's attention.
-
The camera can also temporarily frame a scene.
-
Disney Illusion Island typically just follows
Mickey's movements, but it can also zoom out and
-
settle on a predetermined position to completely
frame a tricky platforming section or puzzle area.
-
When the player leaves, it
goes back to normal tracking.
-
The camera may sometimes need
to follow multiple things, too.
-
In the fantasy basketball RPG Pyre, the current
character is equally as important as the ball - so
-
the camera zooms and moves in an attempt to make
sure both are prominent on screen simultaneously.
-
You may also want to move the camera
for dramatic, cinematic-style framing.
-
In Inside, the camera usually just
tracks ahead of the player like a
-
normal platformer - but at key moments,
like when you're being chased by a pack
-
of rabid dogs - the camera moves
for a better view of your attacker.
-
You can also zoom the camera
in and out for effect.
-
In GRIS, the camera sometimes
tightly frames the hero,
-
and sometimes draws right out to
reveal the grand scale of a building.
-
And you can also restrict the camera
from looking at certain things.
-
Spelunky levels are surrounded
by an impenetrable rocky picture
-
frame - and the camera is forbidden
from going too far into this zone.
-
By locking off this section it means
more of the frame can be focused on
-
stuff that's actually relevant to the gameplay.
-
Finally, the camera can also be used to add juice.
-
To make the game feel more exciting and alive.
-
For starters there's screen shake.
-
The ancient art of simply...
wobbling the camera around.
-
This can be an effective way to sell an explosion,
-
an impact, a frantic struggle,
or a heavy-footed boss monster.
-
You can tweak the intensity
- and also the direction.
-
In Celeste, the camera wobbles in the
same direction as Madeline's dash,
-
to really sell the speed and
power of her special move.
-
There's also hit stop.
-
This is about adding a small freeze frame to the
-
game - which can subconsciously
increase the impact of an action.
-
Check out Katana Zero - when you kill an
enemy the action freezes for a split second.
-
The camera still shakes and
some particle effects still
-
ring out - but the action is frozen
in time, before starting back up.
-
When playing at normal speed this small hitch in
the action makes every hit feel more impactful.
-
In Hollow Knight, the camera stalls for
a long time when you, the player, take a
-
hit - which makes sure you register the mistake,
and gives you a brief moment to collect yourself.
-
And finally, the camera can move and zoom
for a short period to add further excitement.
-
In Dave the Diver, when you land
a catch the camera will suddenly
-
zoom in and frame the epic battle between
Dave and fish, before returning to normal.
-
All of these techniques add juice
- but quickly shaking and moving the
-
camera can be troublesome for some
people so providing accessibility
-
options - like turning off screen
shake altogether - is a nice touch.
-
So to wrap it up - the camera's job is ultimately
-
to follow the main character and
keep them on screen at all times.
-
But it can do so much more than that.
-
It can look ahead to focus on upcoming challenges.
-
It can ignore jumps to avoid endless movement.
-
You can add damping to smooth things out.
-
Use special rules to feature
and frame important events.
-
And make quick adjustments for impact and effect.
-
But remember that there's no such thing as
a perfect camera that works for every game.
-
it depends entirely on the thing you're making.
-
A slow and pensive platformer needs
a very different camera to a twitchy,
-
erratic arcade thrill ride.
-
But hopefully these tips give you
some good ideas for your own camera.
-
You can play with some of these concepts
yourself in my interactive video essay
-
Platformer Toolkit, where you'll find
a whole panel dedicated to the camera.
-
You can tweak the damping, zoom
in and out, add some lookahead,
-
and choose whether or not to ignore jumps.
-
And if you want to find out how
to implement this stuff yourself,
-
check the description to find links to resources
-
that provide more practical programming
tips for coding the camera in your game.
-
Thanks for watching and I'll see you soon!