Computer Science degree capstone project: a demo-length survival horror game built in Unreal Engine 5 and delivered in eight weeks by a three-person team. Players navigate a zombie-infested mansion during a thunderstorm, solving nine environmental puzzles to collect key items and escape. Combat features directional hit reactions with per-limb damage tracking, locational blood masking, and ragdoll physics — post-delivery polish replacing static death animations with physically reactive feedback. As project lead, scoped and implemented the core game framework, all combat and AI systems, cinematic sequences for narrative transitions, and the reusable interaction and inventory components, while coordinating task delegation across the team.
[key features]
Players explore a storm-battered mansion, solving environmental puzzles across multiple floors, managing limited ammunition and healing items, and fighting through zombies to collect key items and escape.
- Nine environmental puzzles with container-based item validation gating progression through the mansion
- Directional hit reactions with per-limb damage tracking, locational blood masking on enemy models, and ragdoll death physics
- Four zombie base types with randomized clothing and hair meshes generating visual variety across encounters
- Hitscan weapon system with bone-specific damage modifiers, crosshair spread affected by movement, and curve-driven recoil
- Progression-updated map system revealing newly explored areas and floors as puzzles are solved
[implementation details]
Physical Animation
- Hit direction calculated from dot and cross products against the enemy's forward vector, selecting response animations for front, back, left, or right impact
- Per-limb hit counters with threshold-based reactions — repeated strikes to the same body region trigger stagger animations and enable localized physics simulation on the affected limb
- Incapacitation system: sufficient leg damage transitions enemies from standing to crawling with modified movement speed, attack patterns, and ground-level mesh alignment
Combat & AI
- Hitscan traces with bone-specific damage multipliers, dynamic crosshair spread factoring velocity, aim state, and focused-aim duration, and curve-driven camera recoil
- Zombie perception with configurable vision cones, hearing ranges, and line-of-sight checks driving state transitions between assigned patrol circuits and hostile pursuit
- Context-aware enemy audio on interval timers (idle groans, chase vocalizations, damage reactions) with morph-target mouth animation and speech interruption on hit
Architecture
- C++ core systems with Blueprint scripting for rapid team iteration: combat tuning, VFX, and puzzle progression exposed as overridable extension points
- Component-based interaction with raycast detection, timed hold-to-interact, and delegate-driven events reused across doors, containers, pickups, and puzzle elements
- Item hierarchy separating data (UObject instances) from world representation (pickup actors), with world-state persistence tracking item and enemy corpse positions across manual saves at in-game VCR stations

