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.

UnityC#OOPAI SystemsGame Design
Zroom montage showcasing gameplay screens

Overview

Z-Room is a 3D zombie survival game developed in Unity, created to apply C# object-oriented programming in a real-time gameplay setting.

The project combines enemy AI, wave-based progression, weapons, health and ammo systems, loot drops, and scoreboard logic into one survival loop designed to feel playable and structurally maintainable.

It became a strong exercise in building gameplay features as reusable systems rather than isolated scripts.

Project focus

Role

Game Developer / Systems Programmer / Gameplay Designer

Responsibilities

Gameplay systems, AI behaviour, combat logic, UI flow, scoring and progression design

Type

Unity project / C# gameplay systems prototype

Constraints

Needed to balance playable combat, reusable code structure, and performance-aware real-time behaviour

Outcome

A playable survival game demonstrating modular C# systems and gameplay logic

Constraints

The game needed to remain playable and understandable while multiple systems ran in real time.
Enemy behaviour, progression, and combat feedback had to feel responsive without becoming chaotic.
Code structure needed to support reuse and extension rather than one-off mechanics stitched together.
The project had to demonstrate object-oriented programming through real gameplay systems, not just theory.

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

  • Designed all UI elements and menus, main menu, loading screen, instructions, pause menu, and scoreboard, in Canva, then implemented them in Unity's UI system.
  • 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

  • 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, Canva

Focus Areas

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

Next Project

Drobe Capsule Wardrobe