Shadow Step

Student Project

PROGRAMMER

PROJECT INFO

Duration

6 Monate

Team Size

5 Person

Platform

PC (Windows)

Engine

Unreal Engine 5.7

Gameplay Programming

C++ & Blueprints (Hybrid Workflow)

AnimationBP

Shadow Step is an atmospheric action-stealth game featuring a silent assassin navigating an Edo-period Japanese palace, utilizing custom shadow-teleportation mechanics and dynamic light-detection to survive.

SYSTEM 01

Modular Ability System & Interaction

01

MY TASK

My task was to build a modular ability system for three core skills: Shadow Teleportation, a throwable Shadow Stone, and a Light-Out utility, complete with standardized cooldown tracking and mana consumption.

IMPLEMENTATION

I wrote the ability base class in C++ to learn native Unreal programming and make calculations simpler than in Blueprints. It manages cooldowns and mana, controlled by a dedicated manager component for ability swapping, while a separate interaction system executes the Light-Out utility cleanly via sphere traces and interfaces.

WHAT I LEARNED

I learned how to bridge native C++ with Blueprints to keep complex math and core mechanics like cooldowns and mana usage clean and maintainable. Building the manager and interaction systems allowed me to refine my use of Actor Components and interfaces, ensuring modular and decoupled gameplay architecture.

TECHNOLOGIES

Unreal Engine 5

Hybrid Inheritance

C++ UObject Architecture

BLUEPRINT - INTERACTION SYSTEM

Open code

SYSTEM 02

Shadow Teleportation & Light Detection

Shadow Teleportation & Light Detection

02

MY TASK

My task was to engineer a shadow teleportation and light detection system, designing both a landing target indicator and a smoke-like spherical range indicator around the player to define teleport limits.

IMPLEMENTATION

I implemented custom C++ sphere sweeps and vector math to calculate valid teleport landing spots over ledges cleanly and efficiently. I then exposed these results to Blueprints to drive the visual feedback, updating the target marker and rendering the smoke-like spherical range boundary around the player.

WHAT I LEARNED

This project really showed me how much easier it is to solve tricky math problems, such as detecting ledges and edges, in C++ rather than wrestling with complex Blueprint nodes. I also learned how rewarding a hybrid workflow can be by letting my native code handle the heavy lifting in the background while Blueprints focus on making the visual indicators look great.

TECHNOLOGIES

Unreal Engine 5

3D Vector Math

Ledge Detection

Hybrid C++ & Blueprint

C# — CONTEXT STEERING

Open code

SYSTEM 03

Synced Takedown & Layered Animation Architecture

Synced Takedown & Layered Animation Architecture

03

MY TASK

My task was to engineer a responsive animation system supporting stealth locomotion, crouching, and a synchronized assassination takedown where the player executes an enemy using a socket-attached tanto dagger.

IMPLEMENTATION

I retargeted the animations using Unreal’s IK tools and built a modular Animation Blueprint utilizing cached poses and layered bone blends. By blending upper-body action slots from the spine upward, the character can seamlessly attack while moving or crouching. For the assassination takedown, I implemented precise spatial alignment logic to lock both player and enemy transforms before triggering synchronized full-body montages.

WHAT I LEARNED

I learned how crucial a clean AnimGraph architecture is for preserving responsive movement. Using cached poses and layered bone blends prevented full-body animation lockups during basic attacks. Building the synced takedown also taught me how to handle precise spatial alignment and two-actor montage synchronization to create seamless, cinematic gameplay moments without breaking player control.

TECHNOLOGIES

Unreal Engine 5

Animation Blueprint (AnimBP)

Layered Bone Blend

Synced Montages

Socket Attachment

IK Retargeting

C# — CONTEXT STEERING

Open code