Demo-length third-person action RPG built in Unreal Engine 4 with C++, centered on Souls-like combat and dungeon exploration. A centralized AI combat director coordinates six enemy types — each with distinct behaviors, models, and animations — pacing their engagements with the player. Character systems span a modular equipment architecture across 15 slots, an inventory managing both slot capacity and carry weight, with a stamina economy gating every combat action. Players start unarmed in dungeon depths and fight upward, collecting gear, unlocking checkpoints, and building toward a boss encounter.
[key features]
Players fight through dungeon floors of increasingly dangerous enemies, equipping collected weapons and armor, managing stamina for every combat action, and breaking enemy posture to land finishing moves.
- Six enemy AI types with distinct behaviors, coordinated by a centralized director that grades positioning and paces engagements
- Poise and stagger system tracking cumulative hit impact — enemies stagger when poise breaks, opening a finishing-move window
- Dual targeting pairing a custom soft-lock for automatic tracking with hard lock-on, plus priority logic governing mode selection
- Stamina economy gating attacks, dodges, blocks, and sprints, with action-specific costs and recovery delays
- Modular equipment architecture across 15 character slots with data-driven stat effects and real-time mesh swapping
- Reusable inventory component tracking slot capacity and carry weight, shared across player and lootable containers
[implementation details]
Combat & AI
- Combat director scores each enemy by camera-relative positioning and time since last attack, issuing attack commands on a tunable delay to create paced, deliberate Souls-like encounters rather than simultaneous rushes
- Multi-stage perception pipeline: broad-radius detection, line-of-sight validation, facing-orientation checks, and range-based awareness escalation from passive through suspicious to hostile
- Three AI behavioral archetypes — Engager, Defender, Ambusher — mapped across enemy types, each influencing aggression timing and positioning tendencies to create tactically varied encounters
Character Systems
- Item type hierarchy from abstract base through EquippableItem into five concrete types — gear, weapons, shields, accessories, consumables — each mapped to character slots with synchronized mesh rendering
- Inventory operations return structured result types — none, some, or all items added — with quantities and error context, supporting partial-stack resolution when weight or capacity constraints apply
- Bonfire-style checkpoint system that respawns enemies in the currently loaded zone, refills healing resources, and persists player state — with zone-aware world streaming and save-on-quit preserving world position
Architecture
- State machines governing movement modes, stamina phases, weapon status, and enemy awareness, each with defined transitions and timer-managed cooldowns
- Event-driven UI updates via multicast delegates decoupling presentation from gameplay state, with data-table-driven enemy configuration enabling designer-facing balance tuning
- C++ core systems with Blueprint scripting for rapid iteration — combat tuning, visual effects, and animation events defined as overridable extension points, enabling design changes without recompilation

