PLANTS VS ZOMBIES (3D)

About

Plants vs Zombies 3D is a reimagined take on the beloved tower defense classic, built entirely in Unity with modern gameplay mechanics and a fresh visual perspective. Developed as a solo project, this 3D adaptation brings the iconic strategy gameplay into a fully interactive environment, where players defend their home using a lineup of powerful, animated plants against waves of quirky, increasingly challenging zombies.

This project showcases my skills in gameplay programming, AI behavior design, Unity animation systems, and performance-optimized object pooling. Inspired by the original PVZ, this version delivers a familiar yet refreshing experience for fans and newcomers alike.

Project Info

Role: Programmer

Team Size: 2

Development Time: 3 weeks

Tools : Unity, C#, Blender

My Roles

Programmer - As the only programmer in the team I was tasked with coming up with the state machine behaviors for the zombies, the behaviors of the plants and the overall game play mechanics and environemnt of the game

Grid Setup

I created a grid system using rows and columns where each cell represents a plant slot. A GridManager handles cell data, placement validation, and occupancy checks to ensure smooth and accurate plant deployment during gameplay.

Plant Behaviours

Each plant has a unique behavior defined by a scriptable object. These behaviors include actions like shooting, generating sun, or blocking zombies. A base script triggers these actions at set intervals, using data from the assigned scriptable object to control cooldowns, damage, and special effects.

Zombie Behavior

Each zombie uses a state machine to manage its behavior, with states like Walking, Attacking, and Dead. Transitions occur based on conditions—if a plant is detected, the zombie enters Attacking; if its health drops to zero, it switches to Dead. This modular setup keeps the AI clean, scalable, and easy to extend.

About