Enemy Designer
Apr 2024 - Jun 2024 (8 weeks)
23 people
Unreal Engine 5.3, Jira, Perforce
Sounds of Shadows is a Horror Survival game with Stealth aspects.
The main character is a robot that wakes up in an abandoned and destroyed underground facility. There are no light sources anywhere so the player can only see by using the echolocation module of the robot. You walk around slowly getting the story of what happened and who you are. Eventually you get introduced to the enemy. The game takes you through 3 levels slowly letting the player discover the story and what is really going on and ramping up the difficulty with enemy encounters.
On this game I was the only Enemy designer. So, I carried a lot of weight with the Enemy being the ‘star’ of the show. I worked in close proximity with animators, level design, programmers and the team in charge of the main character.
The enemy is a mutated human which has been trapped in this facility for a long time now and has adapted to the lack of light and has its other senses heightened. I designed the entire enemy going through multiple iterations. When the wanted player experience changed I would look for new reference material. The main inspiration for the enemy ended up being the Xenomorph from Alien Isolation.
About my work
Roaming: By default, the enemy roams the environment, favoring high-traffic areas. It periodically moves toward the player's current objective to increase the chance of crossing paths and creating tension.
Alerted / Investigating: Any player-generated sound, like footsteps or thrown objects, triggers the Alerted state. The enemy sprints to the sound's source and attacks. If it misses, it pauses briefly to reassess, then checks likely hiding spots nearby, entering an Investigating state to give it a sense of awareness and intent. Players can escape or redirect its attention using environmental sounds or the sound blast gun.
Attacking: If the player gets too close, either by failing to dodge a charge or by poor positioning, the enemy immediately enters the Attacking state and delivers a one-hit kill.
Enemy behaviour
Some screenshots of the behaviour tree and how it grew throughout development.
The echolocation mechanic allows players to "see" via sound. Any audible event, like humming electronics, doors, thrown objects, or footsteps, briefly reveals the environment around it. This creates a unique tension: when everything falls silent, the player is plunged into darkness, heightening the fear factor. Some of the most memorable moments come when the enemy quietly stops nearby, forcing the player to freeze, blind and unsure.
The enemy acts as a constant, looming presence, its distant footsteps serve as a reminder of the growing threat. While it's dangerous, the player has multiple tools to counter its behaviour, making it’s encounters manageable, but tense.
Player Experience
This was my first time designing a large-scale enemy and collaborating with a team of this size, and it taught me a lot about cross-discipline communication and design alignment. Initially, the level designer and I worked independently, which led to the enemy having features like a backstage mode and a menace gauge to build tension over time—systems that didn’t quite fit the short, fast-paced level design.
Through testing, we saw these mechanics weren’t being used to their full potential. We revisited the design, streamlining the AI and adjusting the level to better support the enemy’s behavior. This process, done collaboratively in Miro, led to a more cohesive and engaging player experience.
With only 8 weeks for development, animations came in late. The enemy had to be concepted, modeled, rigged, and animated before I could implement the full behavior. Seeing the final animations integrated into the AI was a highlight for me and the team—it brought the enemy to life. That moment confirmed for me that creating AI-driven experiences is what I want to keep doing.
Summary
This video shows the moment the enemy's first animation was implemented. Watching it come to life, walking around and reacting in the world, was exhilarating. It solidified my passion for designing AI-driven enemies that create meaningful, immersive experiences.
Sounds of Shadows was a journey of constant iteration, from fast-paced shooter roots to a slow, tension-driven stealth horror experience. Across eight weeks, I adapted enemy design to match evolving mechanics, narrative themes, and player feedback. Each pivot taught me something new about AI behaviour, player psychology, and the importance of gameplay cohesion. Seeing the final enemy come to life, solidified my passion for crafting AI-driven encounters that leave a lasting impression. This project didn’t just shape a game; it shaped the kind of designer I want to become.
(Can be read in more detail below)
Take-Aways
The Journey
Early Development – Fast-Paced Shooter Roots (weeks 1 & 2)
The project began as a “fast-paced movement shooter,” so the first enemies were more traditional “zombie-like” AI that chased and attacked the player. We aimed for a loop inspired by Titanfall 2’s time-travel mission, where two versions of each enemy existed in different timelines. My main focus was ensuring enemies paused correctly when the player switched between the “now” and the “past”.
Shifting Toward Horror and Echolocation (weeks 3 & 4)
This phase marked a major shift. Enemies became invisible in normal vision but visible when the player “closed their eyes.” We began experimenting with echolocation—players could only see parts of the level via sound. Enemies emitted subtle noises while passive, warning players of their presence. We also leaned into the idea of ‘insanity’ and committed to a horror theme—something fresh for our school’s projects.
Committing to Blindness and Sound-Based Vision (weeks 5 & 6)
By week 6, we fully committed to making the player permanently blind, with echolocation as their only way to perceive the world. Sounds created momentary snapshots of the environment, including enemy positions. To enhance tension and disorientation, I added an EQS system that made enemies favour sneaking behind the player, resulting in some great scares during playtests.
Final Gameplay Loop and Second-Phase Enemy Design
In week 7, we shifted toward a Slender Man-style loop: find three buttons, with the enemy growing stronger after each. I noticed players were often unsure if the enemy was really dead, so I leaned into that. After being “killed,” the enemy would fall, then quietly crawl away—triggering paranoia. In its second phase, it became a floor-crawling stalker that only stood up to attack. Thanks to the snapshot system, we could simplify animations by using static poses effectively.
Final Overhaul – Shifting to Stealth
By week 8, we overhauled the game based on teacher feedback. The fast-paced combat with echolocation and minimal counterplay started to feel repetitive. We pivoted to a stealth-focused experience, removed the gun, and introduced a one-time-use taser that had to be manually recharged—loudly—adding risk and tension.
I redesigned the enemy in just two days to support this new direction. It now roamed randomly, but to avoid it getting stuck or being irrelevant, I created a new EQS to keep it near the player. I also introduced a small chance for it to pause mid-patrol, leading to moments of eerie stillness where both player and enemy waited in silence. This mechanic became a favorite among testers and teachers—and it marked the birth of the final version of the Sounds of Shadows monster.