Ash of Nine
Kyrie Studios - 3D - Unreal Engine 5 - Linear RPG / Action Adventure
Role:
Gameplay Programmer - Focusing on combat systems, AI (State Trees) and quest scripting.
Tools:
Unreal Engine 5
C++
Gameplay Ability System (GAS)
State Tree
What I did:
Delivered State Tree–driven combat features, including archetype-gated dodge cooldowns via custom State Tree Condition Blueprints
Fixed target-lock behaviour: corrected yaw-only rotation and implemented target-switch-on-death
Built combo data assets for two weapon forms (14+ Animation Montages) with root motion fixes and notify placement
Implemented a dual-SpringArm combat camera toggle
Built Blueprint-driven quest event systems using the Narrative Tales plugin, including diagnosing and working around a plugin limitation on conditional quest branching
Diagnosed and fixed a guard-break retrigger bug caused by an attribute-change condition firing on every update instead of only on crossing into "broken"
Fixed and had accepted an attack-input-blocking issue during attack start, working within the existing ability/notify system
What I Learned
Working within an existing architecture — Ash of Nine uses GAS and a modular State Tree AI system rather than classic Behaviour Trees. Ramping up on a studio's established systems (rather than ones I'd built myself) taught me to read and extend someone else's architecture cleanly, a different skill from greenfield solo work.
Debugging player-facing feel issues — problems like target lock yaw drift or combat roll responsiveness aren't obvious from code alone, they need playtesting and iteration to actually feel right. This pushed me to tune by feel, not just correctness.
Collaborating within a team pipeline — working alongside a lead and fitting combat features into a shared, ongoing production rather than a solo project, and communicating scope/blockers clearly (e.g. flagging that the narrative plugin doesn't support conditions on quest branches).
Overview
Ash of Nine is a Norse mythology action RPG in development at Kyrie Studios, built in Unreal Engine 5. I work as a volunteer gameplay programmer at Kyrie, contributing across combat systems, camera mechanics, AI, and quest scripting.
My current focus has been combat-side work alongside the studio's Lead Technical Designer.
What’s in the game
Target Lock System Improvements
Fixed yaw-only rotation issues in the lock-on system, implemented automatic target-switching when the current target dies, tuned lerp values for smoother tracking.
Combat camera toggle
Built a two-SpringArm camera system letting players switch between combat and exploration framing, bound to a dedicated input action, to be changed later to allow for dynamic transition once combat begins.
Combo data assets
Built out combo data for two weapon forms (Two-Handed Axe, Axe-and-Shield) across 14+ Animation Montages, including root motion fixes and notify placement.
Combat roll improvements
Reduced root motion scale for better responsiveness, added a dedicated cooldown gameplay effect, built State Tree condition checks to gate dodge behaviour based on enemy archetype (whether an enemy can be interrupted while guard-broken or blocking).
Quest scripting
Implemented quest event Blueprints controlling interactable states and combat encounter completion, working within the studio's narrative plugin architecture.

