Undead Onslaught: Italian Infestation
Sole Developer, Team of 3 (1 dev, 2 artists) — Unreal Engine 5 — Wave-Based Zombie Survival
Role:
Sole Developer / Gameplay Programmer - Focusing on player movement, weapon systems, wave based gameplay, enemy AI and menus
Tools:
Unreal Engine 5
NavMesh
Unreal Marketplace asset integration
What I did:
Implemented the core gameplay loop: wave start, spawn, survive, next wave, with escalating difficulty per wave
Built the third-person shooting and reload system, fixing edge cases like empty-magazine behaviour that broke flow
Built zombie chase AI using NavMesh navigation, improving spawner logic and nav coverage for reliability
Fixed UI reliability by correcting health bar data binding and feedback
Integrated Unreal Marketplace environment/prop packs into a playable space, configuring collision, navigation, and gameplay flow
What I learned:
Testing edge cases early (reload, wave flow, damage logic) prevents small bugs from breaking the entire core loop later
AI navigation reliability comes down to level setup as much as behaviour logic, NavMesh coverage and spawn placement matter as much as the AI itself
Marketplace assets are only half the job, proper integration (collision, navigation, performance) is what actually makes them production-usable
What’s In the game
Overview
Undead Onslaught: Italian Infestation is a wave-based zombie game where the objective is simple: survive increasingly difficult waves in a rural Italian town setting.
A wave-based zombie survival prototype set in a stylised Italian town. I was the sole developer, building the full gameplay loop in UE5 Blueprints and integrating Marketplace assets into a playable experience.
Wave progression: enemies increase per wave; advance by clearing waves
Third-person shooter loop: aiming/shooting with a rifle, ammo + reload handling
Player health + damage: includes hazard handling and zombie damage
Implemented the core loop: wave start → spawn → survive → next wave
Built shooting + reload and fixed edge cases that broke flow (e.g., empty-mag behaviour)
Fixed UI reliability (health bar binding and feedback)
Improved enemy reliability by adjusting spawner logic and nav mesh coverage
Debugged gameplay hazards and corrected actor/damage handling issues
Enemy behaviour: zombies chase the player using navigation (NavMesh)
HUD/UI: player health and wave number displayed clearly

