Project Details
Devlog
- Download link: https://shinzozs.itch.io/devblade
Processes and Reflections:
I built a melee-focused prototype centered on responsive combat, ability-driven decision-making, and enemies that pressure the player with coordinated tactics.
Combat System:
I implemented an animation-independent combo framework that supports light/heavy chains, with damage scaling driven by combo count and character attributes so the pacing stays rewarding as you commit to longer strings. I also integrated weapon hit detection via AnimNotifyState-driven collider toggles to keep timing precise and avoid “always-on” collision.
Defense System:
To make fights feel readable and skill-based, I added block/parry interactions alongside direction-based hit reactions computed from the gameplay direction vector, so impacts communicate both force and angle. This tightened feedback loops and helped players understand why they were staggered (or why a counter succeeded).
Special Stat-driven Abilities:
I designed special abilities including Rage, healing, and weapon-specific actions, backed by a stat system (Curve Tables, Data Assets, etc) tracking player and enemy attributes (health, attack/defense, Rage) for consistent balancing and tuning. This allowed moment-to-moment combat decisions to be influenced by build/state rather than hardcoded damage values.
Gameplay Ability System & Input/Tags
Using GAS, I structured abilities with explicit priorities (Roll > Block > Attack) to prevent input conflicts and ensure defensive actions reliably preempt offense. I wired native Gameplay Tags for input binding/effects, supported per-execution/per-actor instancing where appropriate, and used soft references for cleaner data loading and modularity.
Enemy AI (Behavior Trees + EQS flanking/ambush positioning):
I authored a modular AI stack using Behavior Trees (decorators, services, tasks) and EQS to select context-aware positions—supporting flanking logic and ranged spacing instead of “run straight at the player” behavior. Crowd avoidance (Detour Crowd) was configured to reduce clumping in multi-enemy scenarios and keep fights legible during wave pressure.
Survival Gamemode:
I implemented multiple enemy archetypes (melee, ranged projectile, boss that summons minions) with chance-based action selection to vary attack cadence and reduce predictability. The core loop supports survival waves with spawn/death handling, win/lose states, and enemy scaling to maintain challenge across longer runs.
Target Lock and Combat Feedback:
I built a target-lock system to track and switch targets while updating widgets and lock-aware animations, improving control in crowded fights. On the UI side, I implemented combat feedback (hit shake/notifications) and HUD indicators for health/abilities/Rage plus menus to keep player state clear under pressure.