.png)
TRAILER
the elevator pitch
Isshin is a third-person action game with a focus on Sekiro-esque cyberpunk combat. Embrace death, Fight On, and Master The Way.
what i did as 3C gameplay designer
-
Designed player controller + camera
-
Tuned combat actions across 40+ montages
-
Developed 4+ enemy + boss behavior trees
-
Drove gameplay UI design
-
Reworked combat encounters in world level
Engine | Unreal 5.2 Team Size | 21 Dev Time | 9 Months Type | Academic
JUMP TO:



Core Combat
Combat Direction: "Don't Fear The Reaper"
I designed the combat direction of Remanence to tap into the creative concept of "Don't Fear The Reaper" to create a combat system that appealed to soulsborne players and leveraged our development scope.
-
First person melee combat with an emphasis on putting the player in the pilot seat at all times.
-
Enemies are lethal; you are just as lethal.
-
Players must overcome enemies with observation, trial, and error. Learn to be the reaper.
First Person Animation Driven Combat
I designed Remanence around first person animation driven combat for three reasons:
1) it stands out in a shooter-dominated perspective
2) Served as a unique perspective on the soulsborne genre, which traditionally has third person animation driven combat. An exciting design challenge!
3) Animation driven combat systems are also just my jam!
To execute on animation driven combat I designed a stagger + crit and poise system. I then managed all of our attacks and abilities through a combination of animation montages + data assets in Unreal Engine 5.
Stagger + Crit
I designed the stagger system to make defensive actions have a tangible offensive benefit. Players would build stagger on an enemy over combat by performing successfully attacks, abilities, and defensive actions.
The stagger system was an example of a "stack and snap" mechanic in combat. If the player successfully performed multiple small positive actions in a row and filled the stagger meter, the player would be rewarded with a powerful crit attack with unique visuals + effects.
Poise
Poise was a mechanic originally found in soulsborne games but was a system I adapted to Remanence to solve a core issue: We want to give enemies to have a sense of weight/scale.
Poise is a stat that determines whether or not an attack inflicts hitstun on an enemy. In Remanence, I wanted enemies to be impacted by hitstun only in key conditions to sell the fantasy of enemy weight/scale. For instance, a larger enemy is less likely to be impacted by hitstun and a smaller enemy.
Unreal Montages + Data Assets
With animations being core to animation driven combat, i worked inside of Unreal Engine's animation montages to tweak everything including timings, hitboxes, VFX/SFX hookup and timing via montage events.
Data assets were used to set combat/action values such as damage, poise, stagger buildup, and movement. This enabled ease of portability from spreadsheet to in-engine gameplay values. We used this system across the hero, enemies, and bosses to make sure to get everything right - down to the exact frame.

Combat Metrics


On the project I developed easy to use combat metrics to help design collaborate with animation as well as to standardize our attacks/actions. First I constructed a "training room" inside of Unreal so we could see our metrics in action. Using our prototype enemy and animations I showcased:
-
Hitboxes - The collider area in which an attack can hit an enemy, separated from the actual model/rig.
-
Movement - How much the character is displaced during the attack/action.
-
Attack Windup - How long the attack/action's tell/telegraph is.
-
Attack Active - How long the attack/action's ability actually executes for.
-
Attack Recovery - How long the attack/action "cools down" for.
-
Knockback - How much displacement is applied onto what is hit.
Once established, I abstracted the data into ranges such as "short" and "long" to give the team a shared, easy-to-digest terminology. Through this, we then made profiles for our hero and different types of enemies to help visualize their differences and gave jumping off points when timing out their attacks. For instance:
-
Players have faster windups on average to have a responsive game feel.
-
Enemies have much more movement and wider hitboxes in their attacks to counter-balance against the hero's nimble movement speed, preventing enemies from just being sitting ducks.
-
Enemy attacks tend to have much higher knockback than the player's to give a feeling of kinetic energy when hit - a key feel element when the player can only see from first-person.
Enemy Design
Design Considerations
Designing enemies in Remanence came with its own unique set of challenges since I was brought on to help rework enemies long after assets were made. Our development schedule didn't have any room or space for any major new additions for enemy assets. The design team was struggling with a few issues with enemy design (tied with some encounter design issues) that I was responsible for tackling:
1) There was a resounding trend that players felt the enemies all fought the same.
2) Enemies were paced at random. This led to awkward combat spaces and pacing.
3) Enemies were incredibly stat-padded leading to sluggish combat experiences.

Enemy Direction: Scale and Threat
During my rework of the enemy designs, I had a core concept in mind: Scale
For scale, a big missing element in enemy design prior to the rework was the presence of enemy scaling. As you progressed in the game, enemies didn't really get more challenging. The difficulty curve was largely the same. The enemies were assigned heavily inflated stats across the board, often with arbitrary values. So to tackle these issues I did the following:
-
Standardize enemy values across the board based on interaction vs arbitrary damage numbers. Think 1 hit vs 1,000,000 dmg. This opened up a much more tangible format of communicating damage and combat interactions with the design team.
-
Diversify enemies into different functionalities. At the time, all enemies did everything any other enemies could do, besides unique actions. The solution was to break down these movelists and distribute them across variations of an enemy unit. Enemy types were established through this. This presented a more concrete shared design language around how we discuss enemies and their functionality.
-
I established that enemy placements + enemy types should become more varied and difficult as the game progressed. A room of grunts should be very different than a single grunt. Later enemies also received a slight stat buff to present a bit more challenge.
Enemy Behaviors
We used Unreal's behavior tree tool to create our enemy AI. The design team had an in-engine, on-screen design approach and I would often prototype a first pass of the enemies' behavior trees. I work directly with our AI programmer to iterate on the behavior tree and assist in designing new edge-case catches to expand the AI's functionality. I'd also help debug and tweak values inside the tree + blueprints for a more balanced experience.
I worked with our AI programmer to develop new enemy AI features core to combat such as aggression scoring - helping enemy combatants know how to position and when to strike, avoiding core issues in group fighting when multiple enemies swing at the same time.

Sample Enemy: The Perfected
The Perfected in the final enemy/boss players encounter in Remanence. A powerful, imposing duelist - the Perfected is designed to be the ultimate skill test in Remanence, with callback moves to every enemy and boss you've encountered before. The Perfected is the apex threat in the game and he is the last thing standing in your way...
tip: this video has audio!
Movelist Highlight
Death Lancer
The Perfected does an extended windup before blinking across the arena in a hyper-linear unblockable attack.
-
A "highlight" attack, can be dodged by simply moving to the side.
-
Deals 95% of player's HP, it's meant to serve as a hyper-unique "final boss" level attack.
-
Will perform if the player has made significant distance from the boss (such as backdashing). Catches players being too reliant on parrying/guarding.
Cleaver String
The Perfected does an attack string containing 1-4 wide-arc attacks that advance him towards the player.
-
A "bread and butter" attack serving as a call back to an earlier boss' lengthy attack string.
-
Has average windup on first swing but faster follow-ups, punishing reckless counter-attacks.
-
Performs at close range at random or as an "opening" attack.
Crimson Dive
The Perfected jumps into the air with a lengthy windup before diving down with an unblockable shockwave attack
-
A iconic callback attack to a boss' key unique attack.
-
Can be dodged by moving out of the AOE radius or jumping.
-
Will perform if the player has made moderate distance from the boss or as an "opening" attack. Pushes players to remain mobile mid-fight.
Crimson Stake
After a lengthy windup, the Perfected stabs into the floor, causing an unblockable shockwave. Can instantly kill if hit by both the floor stab itself and the shockwave.
-
A unique action only for the final boss. The only "one shot" attack in the game.
-
The attack is unstoppable during the windup unless hit by an ability. Encourages smart mana management to counter this attack to continue offense.
-
Can be dodged by moving out of the AOE radius or jumping. Pushes players to be mobile.
-
Will perform if the player is initiating a counter attack or after being hit. Punishes reckless offense.
-
Can perform a second shockwave at random by pulling out the Crimson Stake. The Perfected will begin doing so around 50% HP to add additional tension mid-fight.
Energy Blast
The Perfected does a quick windup before swinging an unblockable energy projectile from their blade.
-
A iconic callback attack to a boss' key unique attack.
-
Can be dodged, parried, or jumped.
-
Will perform if the player has made moderate to significant distance from the boss. Pushes players to remain mobile and reactive mid-fight.
UI/UX Design
UI/UX Direction: "In-View, In-Mind"
I designed the HUD UI rework to focus on the concept of what we on the design team called "In-view, In-mind". A core goal for the rework was to help make combat resources always visible and clear to the player. This meant a couple of core things:
-
Keeping key HUD elements near the crosshair, where players are intensely looking during key HUD-essential gameplay moments.
-
Clear color distinction across HUD elements
-
Different shape language across HUD elements
HUD UI/UX Prototyping
I initially did a rough mockup in Miro, mostly to communicate to the team my thoughts and intent behind the UI changes. Given our design team was fairly "in-engine, on-screen", I pivoted to designing a form of the UI in Unreal's UMG. I then worked directly with our UI programmer to get a testable version of the UI hooked up.
I also collaborated with our UI programmer to add some basic quality-of-life features like health bar "bleed" to help sell the feel of the UI itself.

Tutorialization UI challenge
A key challenge was thrown at me partway through iterating on the UI rework was that the UI had to host our tutorials instead of it largely gameplay diegetic. After trying out a couple of formats like video tutorials, text-only, etc - I settled on a mix of live gameplay with emphasized popups using smart UI animations and highlighted text to maximize what we can do for tutorialization under key limitations.
Snippets of iterations on the player HUD UI