
Back to Projects
Back to Projects
PROJECT
PROJECT
PROJECT
Shadow Step
Shadow Step
Shadow Step
Shadow Step is an atmospheric action-stealth ninja game featuring a silent assasin in an Edo-period Japanese palace.
Shadow Step is an atmospheric action-stealth ninja game featuring a silent assasin in an Edo-period Japanese palace.
Behavior Tree
AI Systems
Gameplay
DURATION
16 Weeks
ROLE
Team Lead / Programmer
TEAM SIZE
5
PLATFORM
PC
ENGINE
Unreal Engine
OVERVIEW
OVERVIEW
Shadow Step is an atmospheric action-magic-stealth-assassin game in which the player takes on the role of a silent assassin. The game combines classic stealth elements with supernatural abilities. The player infiltrates heavily guarded areas of a Japan’s Edo period styled Palace. The goal is to precisely eliminate targets from ambush and use the darkness as well as magical powers such as teleportation to kill undetected.
Shadow Step is an atmospheric action-magic-stealth-assassin game in which the player takes on the role of a silent assassin. The game combines classic stealth elements with supernatural abilities. The player infiltrates heavily guarded areas of a Japan’s Edo period styled Palace. The goal is to precisely eliminate targets from ambush and use the darkness as well as magical powers such as teleportation to kill undetected.
TRAILER

MY WORK
EXPLANATION
CODE
Behaviour Tree
The Challenge:
We needed reactive enemies for our ninja stealth game, controlled by a custom Behavior Tree. To deliver a compelling stealth experience, the system required modular states capable of handling changing awareness levels based on player actions and environmental triggers.
My Solution:
I designed the AI Architecture around four primary states: Patrol, Search, Chase, and Attack. Each state utilizes perception triggers like line of sight and sound detection to dynamically react to the player. Also, enemies share state changes with nearby allies, allowing them to coordinate searches, raise group alarms, and adapt dynamically to tactical situations.
Extra:
Sadly, displaying a Behaviour Tree directly here is pretty tricky :( , so feel free to check out my GitHub repo to take a look! In the meantime, here are a few display nodes I built for custom functions:
EXPLANATION
CODE
Behaviour Tree
The Challenge:
We needed reactive enemies for our ninja stealth game, controlled by a custom Behavior Tree. To deliver a compelling stealth experience, the system required modular states capable of handling changing awareness levels based on player actions and environmental triggers.
My Solution:
I designed the AI Architecture around four primary states: Patrol, Search, Chase, and Attack. Each state utilizes perception triggers like line of sight and sound detection to dynamically react to the player. Also, enemies share state changes with nearby allies, allowing them to coordinate searches, raise group alarms, and adapt dynamically to tactical situations.
Extra:
Sadly, displaying a Behaviour Tree directly here is pretty tricky :( , so feel free to check out my GitHub repo to take a look! In the meantime, here are a few display nodes I built for custom functions:
EXPLANATION
CODE
AI Systems
The Challenge:
We needed a system that makes enemies aware of their surroundings, reacting to what the player does, where they move, and how much noise they make.
My Solution:
I used Unreal Engine's built-in AI Perception System, giving the enemy both Sight and Hearing senses to pick up on real-time stimuli around them. This way enemies can naturally respond to what they see and hear, whether it's spotting the player in their field of view or noticing a suspicious sound nearby.
EXPLANATION
CODE
AI Systems
The Challenge:
We needed a system that makes enemies aware of their surroundings, reacting to what the player does, where they move, and how much noise they make.
My Solution:
I used Unreal Engine's built-in AI Perception System, giving the enemy both Sight and Hearing senses to pick up on real-time stimuli around them. This way enemies can naturally respond to what they see and hear, whether it's spotting the player in their field of view or noticing a suspicious sound nearby.
EXPLANATION
CODE
Gameplay Systems
The Challenge:
We needed a way to guide the player through the level without losing their progress, while also making sure they always know what to do and where to go next.
My Solution:
Goal System
I built a trigger box system with priority sorting that registers itself in the Gamemode on spawn to keep all goals in the right order. This also allows the player to skip lower priority goals and instantly progress multiple goals at once, always keeping everything in sync with the current game state.
Respawn System
I created a respawn system tied to the current area the player is in. On respawn the whole world resets, including enemies and player states, but it also saves certain progression like quests so the player doesn't have to redo all the puzzles of the area they already cleared.
EXPLANATION
CODE
Gameplay Systems
The Challenge:
We needed a way to guide the player through the level without losing their progress, while also making sure they always know what to do and where to go next.
My Solution:
Goal System
I built a trigger box system with priority sorting that registers itself in the Gamemode on spawn to keep all goals in the right order. This also allows the player to skip lower priority goals and instantly progress multiple goals at once, always keeping everything in sync with the current game state.
Respawn System
I created a respawn system tied to the current area the player is in. On respawn the whole world resets, including enemies and player states, but it also saves certain progression like quests so the player doesn't have to redo all the puzzles of the area they already cleared.
SCREENSHOTS





COPYRIGHT © TOBIAS HOEFLMEIER 2026