What follows is a "game analysis," a short essay meant to demonstrate my understanding of game mechanics and their relationship to design and implementation. In the essay, I try to explain the behaviour of AI guards in Splinter Cell: Blacklist in terms of a state machine based on my observations playing through the game.
Please note, this essay was written as part of an application to Blizzard Entertainment. If you're trying to do the same, then feel free to use my essay as an example. However, it is likely that Blizzard retains copies of submitted essays, so directly lifting the text or ideas here would be dangerous.
Breakdown of Guard AI in Splinter Cell Blacklist
By David Tangness
A few days ago, I played through the single-player mode of Splinter Cell: Blacklist (Splinter Cell hereafter) and was reminded of how much I like guards in that game. To give a bit of background, Splinter Cell is a video game where the player's typical objective is to move a spy from one location to another without being detected by guardsmen patrolling the area. For this game analysis, I want to break down the mechanics behind Splinter Cell's guard AI.
I like these guards for two reasons. First, they have a lot of flavour; any time you're undetected, expect to hear them chatting about football, movies, the perils of being evil goons, etc. Second, and more importantly, the guards are fun to play with.
Splinter Cell is, at its core, a game about managing guards. A normal gameplay loop would be arriving in a new room, observing where the guards are patrolling, planning a route through the room to stay out of their view, and distracting or disabling whichever guards block the route. These steps can be planned because the guards follow a very clear (if not very simple) AI routine, letting you discern where they are going and how they will react to your actions. The result is that when a guard catches you in Splinter Cell, you know precisely why. By the same token, when you get through a room unseen, you know that you earned it; it's a satisfying formula.
I picture Splinter Cell's guard AI as a state machine; every guard exists in some state ("patrolling", "investigating", "fighting", etc), and they transition between states when specific events occur. For example, when the spy first enters a room, all guards will usually be patrolling. If one of the guards hears a small noise, that guard will stop patrolling and go investigate the noise. If at any point the guard sees the spy, they will stop patrolling/investigating and attack the spy.
For my main analysis, I will be describing the states and transitions of a "normal" guard. There are also a few types of "special" guards with slightly different behaviour, and I will describe those differences at the end of the essay.
Please note that this analysis is based soley on my observations playing through the game; it is possible that I have missed or misunderstood some states and transitions. If I were writing this paper academically I would compare and contrast my findings against those of other players (and code analysis, if feasible). For this application, especially with limited space, I felt it would be more valuable to focus on my own thoughts.
All guards have a starting state, and are able to move themselves between some states depending on their needs. For example, if a guard finds the spy, then the guard needs to stop searching and start fighting. The following section covers states which guards can transition themselves into.
When the spy first enters a room, the guards inside will usually be patrolling. In the patrol state, guards walk slowly around the room along scripted paths, looking forward within a narrow cone of vision. If left undisturbed, guards will continue patrolling in this manner indefinitely.
When a patrolling guard detects a "small disturbance", like hearing footsteps or seeing the spy for a fraction of a second, they cease patrolling and walk towards the source of the disturbance to investigate it. When the guard arrives they will stand still for a few seconds, look in every direction, and then return to their original position and resume patrolling.
If a guard detects another small disturbance while investigating, they will enter what I call "heightened" mode. In this mode guards will move much more quickly towards the new disturbance, look around erratically, and then move dynamically around the surrounding area in a "heightened patrol." Guards in heightened mode can see and hear the spy over greater distances, and will never return to "normal" mode. If a guard in heightened mode notices another disturbance, they will not investigate but instead enter “combat mode,” which I will describe later. Guards can also enter heightened mode by finding unconscious or dead bodies of other guards.
Whenever a guard enters heightened mode, they will yell and cause all nearby guards to become heightened as well. Yells seem to have a range limit around 100 meters, and will carry through walls but not across loading-zones. These limits create some odd situations where normal-mode guards appear oblivious to the panic of heightened-mode guards on the other side of a door, or in plain view across an open space.
If a guard detects a big disturbance, such as seeing the spy for multiple seconds or hearing gunfire, they will enter "combat" mode. In this mode, guards have improved sight and hearing, sprint from cover to cover, and will never return to heightened or normal modes.
Instead of investigating the disturbance, guards in combat mode will fire their weapons at its location and gradually move towards it. Interestingly, I could not see any difference between guards attacking a disturbance when the spy is hidden, and attacking the spy directly. If the spy is out of view during an attack, a "ghost" is displayed indicating where guards think the spy is. Guards fire at that ghost as if it were the real spy, and use cover as if they were expecting it to fire back. This system certainly makes the guards' behaviour easier to predict, but it also make them look a bit silly.
In any case, once an attacking guard moves up to the ghost and determines that the spy is not there, all guards stop attacking and begin patrolling. Like with heightened patrols, the guards will dynamically move around the environment, but with futher improved hearing, vision and speed. Any disturbances will trigger an immediate attack.
Similar to heightened mode, guards entering combat mode will yell and cause other guards in the area to enter combat mode as well. The yell is again limited by range and loading-zones, creating more odd situations where guards may be oblivious to a blazing gunfight happening just beyond a door.
Inconsistency and Heat
When I tested guard behaviour for this paper, my results were somewhat inconsistent. For example, if I created a small disturbance for a “heightened” guard, they would enter combat mode about 90% of the time. Occasionally, the guard would remain in heightened mode and just investigate the new disturbance. Results were similarly inconsistent for guards transitioning from normal to heightened mode after successive disturbances. Barring major mistakes on my part, I have two theories:
First, there may be some amount of randomness built into guards' behaviour. Splinter Cell's designers might have thought that players would enjoy occasionally abandoning plans to improvise around misbehaving guards.
Second, perhaps disturbances have more granularity than “big or small.” I could imagine each disturbance giving guards some numerical amount of “heat” based on factors like type of disturbance, type of guard, distance, etc. Guards would have internal heat thresholds, and exceeding those thresholds would cause them to transition from normal to heightened, and heightened to combat. When I tested “small” disturbances, I may have been generating slightly different amounts of heat in each test and occasionally landing below a guard's threshold, causing them not to escalate to the next mode.
Until now we have focused on how guards change their own state: guards start in normal mode, look for disturbances, and switch into heightened and combat modes when they find something. Now we will look at states which guards must be forced into: death, hit-stun, long-stun, and unconsciousness.
Splinter Cell's guards have a traditional binary-state health pool; they can suffer damage with no permanent negative effects, but they die when the sum of all damage exceeds the guard's health pool. Explosions and bullets hitting a guard's body cause damage, while melee attacks and bullets hitting the guard's head are instantly lethal regardless of the health pool.
When a guard dies, they falls to the ground and can take no futher actions, though their body does remain in the world as a physics object which can be moved and can block other objects. As was described earlier, a guard who finds a dead body will immediately enter heightened mode.
If a guard suffers some damage but not enough to die, they will be temporarily stunned: unable to move, attack or alert other guards. The stun will end after a fraction of a second, but another hit during this time will start another stun with its own duration. If the guard is still alive and conscious when all stuns have worn off, the guard will enter combat mode.
Some of the spy's tools, such as flash-bangs and tear-gas, can stun guards for several seconds with a single use. Like with hit-stun, guards affected by long-stun are unable to move, attack or alert other guards. Guards can be affected by both hit-stun and long-stun at the same time; for example, a bullet hitting a guard's torso will not cancel the effect of a flash-bang. However, unlike hit-stun, multiple long-stuns can be applied to the same guard simultaneously and their durations are counted separately. As before, if a guard is still alive and conscious when all stun effects end, the guard will immediately enter combat mode.
It is possible to knock a guard unconscious rather than kill them. Knockouts ignore guard's health pool; hitting any part of a guard's body with any knockout attack, such as a taser or sleeping gas grenade, causes them to immediately fall unconscous. If this sounds easier than trying to kill guards... it is! However, certain special guards are completely immune to specific knockout attacks (more on that at the end of the essay). Note that unconscious guards can still be damaged and killed, but are not affected by hit-stun or long-stun.
An unconscious guard behaves very similarly to a dead one; they cannot perform any actions or change states on their own. However, if another guard in normal or heightened mode finds the unconscious one, they can revive the unconscious guard. From what I observerd, guards in combat mode will not revive unconscious guards. In any case, after one guard revives another, both guards enter heightened patrol mode.
The analysis thus far has described a "normal" guard in Splinter Cell. There are also several rarer types of guards who have small differences in their behaviour. For the final section of this essay, we will examine those differences.
A helmet guard behaves like a normal guard, but wears a helmet which will block bullets until it has sustained a certain amount of damage. After too much damage, the helmet flys off and the guard can be killed by another bullet. Damage absorbed by the helmet does not cause hit-stun.
Oddly enough, two of the game's 34 guns are capable of penetrating the helmet to kill with the first shot, but this mechanic is not documented and players are never even given a reason to try those guns. I only realized this mechanic existed when a friend told me about it, and I can only guess whether it was intentional or a bug.
Heavies behave like normal guards, but are immune to all attacks and stuns except for a melee knockout or kill from behind. They wear reinforced helmets which can block a greater amount of damage before flying off, but afterwards the heavy becomes vulnurable to headshot kills, all knockouts and all long-stuns.
Heavies are used sparingly throughout Splinter Cell, and generally force players to sneak through a room rather than disable all the guards.
The combination of helmet and body damage immunity means that Heavies are never affected by hit-stun, so they can immediately alert other guards if the player tries to fight them head-on.
Like with normal helmets, it is possible for a gun to penetrate a reinforced helmet and instantly kill the Heavy. However, only one of the two guns previously mentioned is capable of doing this, one out of 34 total. Again this is not documented, and again I wonder if it is a bug.
Drone operators are essentially Helmet guards who do not patrol or investigate. Instead, they stand still and create Drones (which will be described later).
Although Drone Operators appear to be typing on laptops, they can see and hear like normal guards. Drone Operators cannot investigate nor enter heightened mode, but they can enter combat mode. While in combat mode, a Drone Operator behaves exactly like a Helmet guard and does not create drones.
A drone is a very small, mobile guard created by a Drone Operator. Drones follow scripted paths much like normal patrolling guards, except their paths can run along walls and ceilings (where the Spy likes to hide). Drones can see but not hear, and upon spotting the Spy they will immediately put nearby guards into combat mode. The drone will then attempt to approach the spy and maintain vision. Some drones are equipped with explosives, and will detonate if they get close to the spy.
Any damage will instantly destroy a drone (without causing an explosion), meaning they do not experience hit-stun. Drones are also immune to all knockout attacks and long-stuns. Only one drone can exist at a time and if one is destroyed, the Drone Operator will try to create another. Although destroyed drones do persist in the world, they cannot be “found” by other guards.
Dogs are probably the most unique guards in the game, as their movement is dynamically determined by "smell" rather than a scripted path; they wander around an area, gradually moving closer to the spy and changing course when the spy moves. Dogs speeds up as they get closer to the spy, and once a dog catches sight of the spy it will enter combat mode and alert nearby guards into combat mode as well.
In combat mode dogs rush at the spy and try to bite them. This does not deal damage like normal guard's guns do; instead the player is shown a button prompt which they must quickly press. Doing this kills the dog, but if the button press is too slow then the dog will kill the spy instead. During the button-prompt event, other guards can continue to attack and potentially kill the spy.
Dogs have nearly identical vulnurabilities to normal guards, but do not suffer hit-stun or long-stun.