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