There aren’t many genres with such a strong core fantasy, as the stealth game.
These are games about staying unseen, and then striking from the shadows.
About outsmarting an entire army of enemies, without them even knowing you exist.
These are games about spies, assassins, and, uh, Batmen.
But making this fantasy work means balancing a number of complicated game systems: from
enemy awareness, to information gathering, to robust detection systems.
Get any of them wrong, and the whole thing can crumple in on itself.
So, welcome to the School of Stealth.
This is a short, GMTK mini-series about how stealth games work.
In each episode, I’m going to take one system from the stealth game formula and break down how
it works - looking, where necessary, at the technical side of things, the design considerations,
and the end user experience.
For episode one, we need to start where most stealth games begin: with the player being
hidden.
And then ask ourselves: how do guards actually see and hear the player?
Ultimately, guards in games are given virtual eyes and ears that are designed to simulate
the two main human senses: sight and sound.
To simulate vision, video game guards typically have a viewcone - which is an invisible, cheese-like
entity that is stuck to the enemy’s face.
If the player character enters the cone, they get detected.
It’s a touch more complicated than that, of course.
A simple cone would allow characters to stay unseen even if they were right next to the
enemy - so more complex shapes are often used.
In Splinter Cell Blacklist, there’s a basic vision cone for the guard’s primary sightline,
but a second, much wider box to simulate peripheral vision.
And even a small area behind the guard to mimic that sixth sense of knowing when someone’s
just over your shoulder.
Developers will also need to consider the height of the cone, depending on whether the
character should be able to hide when they’re above enemies.
To know if the player is in cover, a game will typically use a raycast - which is basically
when an invisible line is drawn between two elements to see - in this case - if anything
is in the way.
You can make this more complex to catch moments of partial cover: so, in Splinter Cell, the
enemy raycasts to eight different bones in Sam Fisher’s player model - and will only
spot him if a certain number are visible.
Now, if the player enters the cone and isn’t in cover, they probably don’t get immediately spotted.
Instead, the guard’s awareness of the player starts to grow.
The speed at which this meter fills might be slower if the character is further away,
or only in the guard’s peripheral vision, or in low light, or crouching down, or
staying perfectly still.
When the meter tops out, though, the guard will know exactly where you are.
It’s also important to note that guards can be aware of more than just the player
character - such as open doors, interesting objects, or dead bodies.
This can be used to make interesting plans like traps and distractions - but it can also
help give the impression of intelligence and awareness.
Now, simulating hearing is a different problem.
When you make a sound, like firing a gun, walking on a loud floor board, or throwing
a stone - the sound will be given a distance - related to the volume of that noise.
Any guard who is within that distance can then be told to go check out the source of
the sound.
However, a straight line between the sound and the guard won’t work, because we expect
noises to be muffled by walls.
So the typical solution is to use the game’s pathfinding system - the same tech that allows
an enemy to find their way around a world without bumping into objects.
Make the sound travel across that, and you’ll more realistically capture the way sound propagates
through an environment in real life.
That’s the gist of things, then, but more complex stuff might be included in certain
games - for example, in Thief, guards can have second-hand information about the player
based on what other enemies are up to.
And in Hitman 2, enforcer characters are way less perceptive of Agent 47 if he’s facing
away from them, which gives disguises more power.
Links to more detailed technical information can be found in the description beneath this video.
When done well, this system should create a pretty realistic representation of a human’s
visual and auditory perception.
You can then make educated decisions about where you will be safe, using your real-world
knowledge of how sight works in different light conditions, or how sound might be muffled
by a wall.
But there’s always going to be a certain level of ambiguity for the player to deal
with - which can lead to friction and frustration.
I’m sure you’ve played a stealth game where you thought you were totally invisible,
but the guard saw you anyway.
So to help players make sense of this stuff, there’s a few smart ways that devs can make
these perception systems more obvious.
The first is helpful interface elements.
Even way back in Thief, the developers knew that it was tough for players to understand
how lit their character was from a first-person perspective, so there’s a light gem at the
bottom of the screen to show your current visibility.
And in Splinter Cell, the awkward challenge of knowing how much sound you’re making,
is helped by a visualiser on Sam’s head’s up display.
Also, most games have some kind of detection indicator on their interface, which mimics
the guard’s awareness meter from earlier.
This helps the player know that they’re about to be made - and sometimes even shows
you the location of the guard who’s seen you.
Next up is using animation and audio to help communicate a guard’s status to the player.
A guard who is idly lazing about might suggest that they have pretty weak perception, but
a suspicious enemy with their weapon raised will be way more alert to potential threats.
Audio barks also let you know that the guard is starting to become aware of you.
Then there are refuge spaces.
These are places in the game world where, in normal circumstances,
you are unambiguously hidden.
That might be the high-up gargoyles in Batman, or areas of long grass in Assassin’s Creed,
or crates and cupboards in Hitman.
These give you at least one place where you can scout and plan from a position of total safety.
Another big solution is player favouring - which is the art of handicapping systems to bias
the player.
As Splinter Cell Blacklist programmer Martin Walsh says, “it doesn’t matter what the
NPC can see or hear from a simulation perspective.
It’s what the player thinks the NPC should be able to see or hear”.
So in his game, a guard’s hearing is reduced by half when they’re offscreen, because
it feels unfair to be heard by someone you can’t even see.
And in The Last of Us, enemies typically raycast to Joel’s head to determine line of sight
- but that changes to his chest when he’s crouching, to let him peep over cover without
being spotted.
And then the biggest help of all, as discussed earlier, is a fuzzy detection system.
If you were immediately spotted when you touched the guard’s vision cone, that wouldn’t
feel very fair.
So it makes sense that guards take a few moments to become aware of your presence before being
totally alerted.
Now there’s one final, and rather bold solution to this problem: and that’s to simply reveal
these systems to the player.
In the excellent side-scrolling sneak ‘em up Mark of the Ninja, the guard’s perception
is about as unambiguous as you can get:
Their vision cones are displayed on screen.
The ninja is either in shadow or in light - and that’s shown on the character’s sprite.
And when you make noises, you can see them emanating from the source as big round pulses.
This is also shown to you before you even make the noise, which is helpful for knowing
whether your noisy distraction or sneaky getaway will be successful.
With the info on screen, there’s no arguing about what’s happening in the system.
You’re either in the cone, or you’re not.
And that sound either reached the guard’s ears, or it didn’t.
And so Ninja’s binary perception system can be paired up with a totally binary detection
system of instant awareness - though, there is a slight analogue fuzziness on the very
edges of the enemy’s view cones.
GUARD: "Is someone up there?"
For a slightly more nuanced take on this, check out Shadow Tactics: Blades of the Shogun.
Here, the vision cone is split into three zones: the bright green part near the enemy’s
face is the danger zone and leads to a pretty instantaneous detection.
In the dark green part, you can stay hidden if you’re crouched down, but will be spotted
if you stand up.
And the dotted part is for refuge zones like bushes and high grass, where you will always
be invisible.
If you do trip the viewcone, the whole cone will fill up with yellow - and if the yellow
part touches your character, you’re spotted.
It’s a very elegant way of displaying all the necessary information, right there on screen.
Of course, it’s a lot harder to show this sort of stuff in a fully 3D game.
The original Metal Gear Solid’s solution was to simply photocopy the game world into
a top-down, 2D representation on your radar, and then draw the vision cones on that.
It’s a sorta hand-wavey solution that’s still being used in games like Deus Ex: Mankind Divided.
But it’s not impossible.
The Sly Cooper series has guards with torches that cast obvious pools of yellow light.
If you find yourself inside the light, you get spotted - but otherwise you’re safe.
Cartoony, yes.
But also, immediately readable.
The most important thing, though, is the experience that these different perception systems lead to.
When the system is made analogue and ambiguous, the player must evaluate the environment with
an immersive and realistic understanding of light, shadow, distance, and sound.
And it also gives the game a certain level of tension - where you can never been 100%
sure that you’re safe.
And I think this fits quite nicely with the core stealth fantasy: these are games where
your power doesn’t come through sheer brute force, but only through your ability to hide
from the enemy.
So having your sneaky status be fragile and fuzzy reminds you that you’re always at
risk of losing your tenuous advantage over the enemy.
As Thief programmer Tom Leonard says, “it's about getting the player's heart pounding
by holding them on the cusp” of being found.
And it’s especially important to hide this stuff in survival horror games that borrow
stealth elements.
In a game like Alien Isolation, it would be rubbish if you could see exactly where the
Xenomorph was looking.
A huge amount of fear and anxiety is derived from your shaky knowledge of the alien’s senses.
But making the system completely obvious has its own advantages.
It puts way more power in your hands, and allows you to play with a huge amount of confidence.
You can feel more like an apex predator, luring enemies into traps or sneaking in for a silent kill.
As Ninja producer Jamie Cheng put it, “as we were iterating, I found that I wasn't nearly
as interested in guessing whether a guard would hear me or not, and way more interested
in creating an elaborate death trap”.
Of course, the predator feel can be achieved through other methods, like those aforementioned
refuge zones and by giving the player a bucketload of gadgets and super powers - but the more
accurately they can predict the enemy’s perception, the quicker the player will get
to that experience.
So, that’s it for lesson one.
Stealth game guards see and hear through a system of simulated eyes and ears - and developers
can create very different experiences, depending on how much of that system they surface to
the player.
Come back next time for more deep dives into sneak ‘em up design.
And if you subscribe to my channel, you’ll get access to the new episode as soon as it
goes live.
Hey. Thanks for watching.
I hope you’re all doing okay in the midst of this awful coronavirus pandemic.
It’s such a scary situation, so please stay safe, wash your hands,
and follow the necessary guidelines.
I’ll do my best to keep making interesting stuff to keep you busy and entertained.