The Heist
Genre: First-person stealth
Engine: Unreal Engine 5
Role: Systems & Gameplay Designer (Solo)
Focus: AI, detection systems, player feedback, escalation design
Team: 12 people (Designers, Programmers, Artists)
Duration: 4 weeks
A First-Person stealth game, steal valuable loot while evading patrolling guards. The core experience focuses on making players feel clever.
Player experience: power fantasy, outsmarting your opponent, optimisation.
Design Goal
Goal
The goal of this project was to create a stealth experience where players feel clever rather than powerful.
Mastering
Mastering comes from understanding enemy behaviour, managing detection, and planning routes not from combat.
Guards
Enemies were designed to feel intelligent but learnable, letting players outsmart them through observation and patience.
Process
Criteria for Prototype
-
Player can navigate a single small level
-
Guards patrol and detect players with visual feedback
-
The player can find and use at least 2 key items to progress
-
Clear objective updates guide the player
-
Game over state triggers on full detection
-
Win condition achieved by escaping with loot


Example Flow
-
Enter the building
-
Find the keycard
-
Access the security room
-
Locate the vault code
-
Open the vault
-
Escape the building
Gameplay highlights.
Stealth
Nerve wreaking stealth, sneak through the level. Map out the inside, and learn how to get what you need in order to steal the jewel.
Detection
Individual proximity based detection. If the player gets fully detected it is game over.
Guards
The guards are a dynamic threath around the level with set patrol points. If they spot the player or hear a sound they will investigate.
Detection: Individual detection, the closer the player is to the guard, the faster they get revealed. If the player manages to lose the guard's line of sight, the detection will deteriorate. However, once a guard's detection meter is full, it is game over.
For example, if a player is far away, it will take several seconds to get a game over, but if the player is next to tyhe gard it will only take a second.
Systems
Primary system AI: Patrols around the level, and if a guard spots the player, they start a detection meter. If the meter is full, it is game over. The guards will serve as a dynamic obstacle throughout the level.
For example, players need to be aware of their surroundings to make sure they can get through the level otherwise, they will get caught.
Progression: Keeping track of what to do next will serve as a guide for the player. Making sure they are aware of the next step needed.
For example, the first message would be “find the key card” Once that is found, it will change to “access the security room”.
Interaction: Allows the player to pick up items and interact with different objects in the level, so the player can finish the mission.
For example, pick up a key card, and now you can access a door previously locked. Or finding a code that is needed to unlock a door later in the level.
Spawn manager: Place Spawn locations around the level, and in the details menu, set what can spawn there.
For example, 5 locations around the level allow the green keycard to spawn, however, every time you start a new run, it will only chose one of those locations.

Guard patrols have a look direction. When they reach the patrol point, they will rotate to the right orientation before looking around the room.

Guard ai overview:
The goal was to create a stealth AI that feels intelligent and threatening while remaining predictable enough for players to learn and outsmart.
Risk assessment
AI was my biggest worry. I wanted them to feel “smart” to the player and more challenging, while also keeping them predictable, so the players can learn how to avoid them.
The player should not be able to complete the level by running everywhere, but mistakes should be recoverable.
Playtest to test the detection rate, guard sight radius. and width to make the guards threatening but not unfair.
Playtesting and Iteration
I conducted several playtests during the development of this prototype.
Key improvements
Players can't run through the level and win, now the guards will see them and focus on them even when the player gets past them.
Depending on the distance, guards detect the player quicker or slower.
Other guards will hear the player if they are running, causing more to come and investigate. The guards will also make a sound when they detect the player, increasing the difficulty greatly.
Once the guards lose sight of the player, and to prevent them from going in the wrong direction, the EQS values have been tweaked.
Reinforcing that the player needs to sneak to win.
Currently working on Improvements
Individual Detection

Switched back to individual detection, making the single guard a bigger threat. The detection widget shows where the guards who detected you are, giving players a better sense of spatial awareness.
This helped players make a split-second decision of where to go when getting detected.
Refactoring sight detection

Refactoring the sight of the AI so they won't spot the player instantly. Now they will have to spot several spots on the player before detecting them.
Making the game seem less unforgiving and letting the players make some mistakes without punishing them.
Also led to moments of "Whew, that was close" during testing.
Reflection
At the moment, my prototype has not reached the design goal I had in mind. The AI is still too simple, and the balance needs more work, for example, the hearing range of the guards when a guard spots the player, the detection rate and the movement speed of the guard.
The greatest improvements came from reworking current systems to support the intended player experience.
Stealth needs to keep the player constantly under pressure while providing a “haven” that lets the player relax. Rework the detection line of sight so the player won't be discovered if their toe sticks out.
Add more player gadgets like placeable cameras or lures that you can activate from a distance.
A glass cutter is required to steal certain items, or a way to tackle the level in different ways.
















