Z-Room — Zombie Survival Game

A Unity-based survival game built using C# and object-oriented programming principles to simulate intelligent enemy behaviour, scalable systems, and real-time gameplay.

Zroom montage showcasing gameplay screens

Overview

Z-Room is a 3D zombie survival game developed in Unity, showcasing the practical application of C# object-oriented programming for real-time systems design.

The project combines AI pathfinding, wave-based difficulty scaling, and physics-driven interactions to create an engaging survival loop. Every feature — from the player controller to the enemy AI — is structured with classes, inheritance, and modular architecture to ensure maintainability and scalability.

Problem

The goal was to build a fully playable survival game that demonstrated engineering logic and interactive design thinking. Z-Room was a vehicle to showcase how C# OOP can manage complex systems such as AI, physics, and player feedback within a fast-paced game environment.

Design & Process

1. Core Architecture (OOP Structure)

  • Designed modular C# classes for Player, Enemy, Spawner, and GameManager.
  • Applied encapsulation, inheritance, and polymorphism to manage behaviours efficiently.
  • Created reusable interfaces for shared functionality like health, damage, and state transitions.

2. Gameplay Mechanics

  • Built smooth first-person movement and shooting systems in C#.
  • Implemented a dynamic wave system that scales enemy count and difficulty.
  • GameManager tracks player health, score, and wave progression.

3. Enemy AI

  • Integrated Unity NavMesh for intelligent pathfinding and pursuit behaviour.
  • Built AI states (Idle, Chase, Attack, Dead) using switch logic and event-driven triggers.
  • Added ragdoll activation and slow-motion effects on enemy death for immersion.

4. UI & Feedback Systems

  • Developed an in-game scoreboard, health bar, and wave counter.
  • Implemented screen fade transitions and post-processing for deaths and wave starts.

5. Optimisation & Testing

  • Implemented object pooling to avoid unnecessary instantiation.
  • Profiled performance to minimise physics overhead in large waves.
  • Tested AI navigation across varied arena layouts to ensure pathfinding robustness.

Gameplay & Systems Highlights

Z-Room main menu interface with start, instructions, scoreboard, and quit options
Main menu design establishing tone, theme, and navigation for the wave-survival experience
Z-Room loading screen displaying rules and thematic zombie visuals
Loading screen communicating core objective and reinforcing survival tone
Instruction screen displaying movement, combat, and weapon selection controls
Player onboarding with clear control layout and gameplay tips
First-person shooter gameplay scene aiming at approaching zombies in a 3D environment
Wave-based FPS system featuring health, ammo UI, enemy AI, and wave progression logic
Gameplay showing enemy approaching player during wave combat
Weapon switching system and real-time combat mechanics
Enemy taking damage with red hit-feedback effect in FPS environment
Damage feedback VFX and enemy AI reaction system
Loot orb on ground dropped by defeated zombie in FPS scene
Loot and resource pickup system enabling health and ammo retrieval
Pause menu screen with UI options to resume, view instructions, return to menu, or quit
Pause-state UI with layered menu hierarchy and session control
Scoreboard leaderboard showing player rankings, waves reached, and scores
Persistent leaderboard system tracking score, waves, and player performance

Source Code & Demo


Source Code

Explore the complete Unity project, including C# scripts, prefabs, and sample scenes. Clone the repo to build or extend the game locally.

View repository

Solution

The final build delivers a fully playable survival game where players face continuous AI-driven waves in an immersive 3D environment. By structuring the codebase with OOP principles, Z-Room demonstrates how modular design improves gameplay scalability, performance, and clarity of system responsibilities.

Outcome & Impact

  • Strengthened proficiency in C# programming and Unity development.
  • Applied object-oriented design to manage complex behaviours and interactions.
  • Improved understanding of AI systems, performance optimisation, and game architecture.
  • Reinforced the ability to combine creativity, logic, and software design thinking in interactive experiences.

Project Details

Role

Game Developer / AI Programmer

Duration

Personal Project (December 2024 – February 2025)

Tools

Unity, C#, Blender

Focus Areas

Object-Oriented Programming, AI Systems, Game Logic, Physics Simulation

Next Project

Drobe Capsule Wardrobe