Yasuke, The Lost Samurai
Combat Design Proejct
Project Overview
Yasuke is my first large-scale solo project outside of game jams. It started as a narrative design project in college and slowly shifted into a primarily combat-focused project.
Yasuke tells the story of the first-ever black samurai and his journey throughout Japan, exploring the difficulties he faced along the way. While the project did start with the story and does have some narrative elements, what I primarily created in Unreal Engine 5 was focused on combat design.
Want to read something specific? Jump to…
Parry System
From the outset, I knew I wanted to emulate the aggressive, high-tempo combat style of Sekiro: Shadows Die Twice. One of my favorite mechanics is the Mikiri Counter—a system that encourages players to dodge into a thrust rather than away from it. This inversion of typical defensive logic forces the player to think offensively, creating a combat rhythm that’s tense, fast-paced, and deeply reactive.
To achieve that feel, I knew the Parry System would be the mechanical heart of the design.
Weapon Trace
Before implementing parries, I needed precise hit detection. I created a multi-socket weapon tracing system, where each sword mesh had custom-defined sockets on the hilt, blade, and tip. This allowed me to:
Detect specific collision zones (e.g., tip vs. flat of blade)
Build in more granular feedback for impact
Support future design features like weapon-type-specific interactions or directional parries
This also gave us the foundation for precision-based combat, where the type and location of a hit could meaningfully affect the gameplay outcome.
Designing the Parry
While parry mechanics are deceptively simple at a technical level—often a single check during a timing window—they are incredibly hard to perfect. The difference between "functional" and "incredible" lies in feel: how responsive it is, how tight the timing feels, and how rewarding the feedback loop is.
My design priorities for the parry system were:
Low visual noise – Inspired by Sekiro, I kept the parry animation and effects subtle. This wasn’t a cinematic moment like in God of War—parrying needed to be something players did frequently.
High responsiveness – The system uses animation timing windows and sword collision data to ensure that parries trigger exactly when expected.
Aggressive player incentive – The goal was to encourage players to parry as a default, not dodge. This keeps players engaged rather than reactive, enhancing combat flow.
Feedback Tuning: Visuals, Timing, and Sound
Perhaps the most underrated part of a great parry system is audio feedback.
While visuals can sell the impact momentarily, it’s the sound that truly makes it satisfying. A crisp, metallic clash can communicate:
That the parry succeeded
The weight and sharpness of the weapon
The "heroic timing" of the player’s input
I experimented with multiple sound sets, layering in reverb and distortion to achieve the right tone. While I’m still iterating on the final SFX, the current version delivers a clean, tactile result that reinforces the feedback loop.
Combo System
A game’s combo system is the heartbeat of its combat—if the core attack loop isn’t satisfying, no amount of polish elsewhere will compensate. For this project, I focused on delivering an attack system that felt responsive, visually clear, and rewarding to engage with over time.
Design Philosophy
There are several ways to structure a combo system:
Sequential Combo Chains – Common in action games, where the player progresses through a predefined string of attacks (e.g., Light → Light → Heavy).
Contextual Variants – Seen in games like God of War (2018), where the combo tree changes based on weapon state, directional input, or modifiers like light/heavy attacks.
While the latter allows for more tactical depth, it often comes at a cost: complexity that many players never fully engage with. In user data from AAA titles, it's common to find that most players stick to a base combo regardless of available depth.
Given the scope and resource limitations of my project, I chose to avoid over-engineering the system. Instead, I designed a combo system that prioritized:
Responsiveness
Visual clarity
Consistency across encounters
Satisfying feedback with minimal input complexity
This approach ensured that every swing had weight, intention, and flow, while being accessible to both casual and dedicated players.
Weapon Trail Feedback
Weapon trails serve two crucial purposes in combat design:
Communicating hit regions – Where the weapon travels and what it can hit
Reinforcing impact – Making the swing feel kinetic and dangerous
Initial Attempt: Flashy Trails
My first iteration leaned into bold, exaggerated trails with heavy glow and motion blur. These were impossible to miss, but quickly became visually overwhelming, especially in tight environments or during frequent combos. They pulled attention away from enemy animations and made the combat feel cluttered.
Second Iteration: Minimalist Refraction
In contrast, I tried a hyper-minimalist refraction trail, inspired by games like Ghostrunner and Metal Gear Rising. While elegant, this version lacked the tactile feedback players craved—it felt weak and didn't sell the power behind each swing.
Final Solution: Hybrid Visual Design
After iterative playtesting, I arrived at a hybrid design:
Subtle edge glow with motion streaks
Lightweight refraction distortion
Momentary flash on impact
This struck the right balance: clear enough to convey strike regions, satisfying to look at, and restrained enough to avoid clutter.
Deathblow
One of the most iconic elements of Sekiro: Shadows Die Twice—and a personal favorite of mine—is the deathblow mechanic. Unlike traditional RPGs where enemies simply fall over upon defeat, Sekiro demands a final, visceral execution. These moments do more than just end a fight—they punctuate the tension, reward perseverance, and amplify the emotional payoff.
My goal was to replicate this concept and adapt it to my own combat system—not just mechanically, but tonally and cinematically.
Design Pillars
The deathblow system in my game was designed around the following principles:
Intensity – It should reflect the emotional and mechanical climax of a fight.
Pacing – The moment must contrast with the tempo of the fight that led up to it.
Feedback – It should feel different from normal attacks in every dimension—speed, camera work, audio, and visual effects.
Speed Reflects Stakes
One of the first things I implemented was deathblow speed. In Sekiro, by the time the player triggers a deathblow, they've often just survived a brutal parry chain or narrowly avoided defeat. The deathblow serves as the reward—it must be immediate, ruthless, and satisfying.
Slow or drawn-out executions would undermine that payoff. Speed, in this case, is narrative design through mechanics—communicating urgency, exhaustion, and finality in a single input.
Cinematic Feedback: Camera & Motion
To distinguish deathblows from regular attacks, I leaned heavily into camera shake and framing. Unlike standard hits—where camera movement is kept tight and responsive—deathblows received a dedicated camera event with enhanced shake, slight zoom, and dynamic angle shifts.
This communicates that “this hit is different.” It’s not about balance or rhythm anymore—it’s the kill.
Regular attacks = fast, reactive camera
Deathblows = forceful, cinematic camera
VFX & Blood Logic
Blood effects were the next major element. Overdoing blood can easily become cartoonish, while too little can make the moment feel artificial and unsatisfying. I approached this with a scalable design logic:
"The harder the enemy, the bloodier the kill."
Low-tier enemies received quick, clean kills with restrained blood splatter—brutal, but not showy.
Boss-level enemies featured slow-motion blood spurts, larger decals, and exaggerated hit feedback to match the narrative weight of their defeat.
This approach reinforced a sense of progression—not just in stats or difficulty, but in presentation. When you kill a major enemy, it doesn’t just feel statistically harder—it looks and sounds like a battle worth remembering.