Project Details

Devlog

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.