Roots of Terror
2024.01 - 2024.04
Escape a dark forest by reading clues, solving puzzles and managing the noise that attracts a pursuing tree monster.
- Project
- Academic team project
- Engine
- Unreal Engine 5.2
Demo
Gameplay flow
Search
Read clues and locate puzzle items.
Listen
Balance movement speed against noise.
Escape
Unlock the next section under pursuit.
Return to search
My contribution
- Level design collaboration
- Contributed to the level layout on paper and in the engine.
- Gameplay implementation
- Handled the non-art implementation, including interactions and the gameplay systems that support exploration and progression.
- Monster AI
- Implemented the monster behavior and pursuit systems.
- Audio
- Implemented sound effects and gameplay audio. Artwork was created by teammates.
Inspiration
The player wakes at a ruined campsite and reconstructs what happened through letters and other clues. With no combat, survival depends on finding a route out while avoiding the monster.
Gameplay
Players search a maze-like forest for clues, keys and puzzle items. Password puzzles and minigames unlock later sections; some clues and props use random placement.
The monster uses sound-based tracking. Sneaking reduces noise, while sprinting creates more noise but helps the player escape quickly.
Technical Implementation
I implemented the non-art gameplay systems in Unreal Engine 5.2 Blueprints, including movement, interactions, progression, monster AI and audio.
Read the technical implementation notes
Walking, sneaking and limited-duration sprinting give the player different noise and speed options. The monster’s sound-based tracking makes those movement choices relevant to pursuit.
Keys and puzzle completion gate access to later areas. Random clue placement changes the search locations while keeping the progression requirements consistent.
Chase music, proximity cues and a spotted sound communicate the pursuit state. These cues help the player react when the monster is outside the camera view.
Level Design
Roots of Terror
Back to overview ↑
