TDS: Top Down Shooter
Tech Stack: Unity2D, C#
⚙️ Features
-
Core Gameplay
-
Three Levels: Progress sequentially with levels loaded additively for streamlined management.
-
Weapon System:
-
Each weapon is fully customizable, supporting the following properties:
-
Reload Time
-
Fire Rate
-
Magazine Capacity
-
Total Ammo Capacity
-
Unique Particle Effects
-
-
Enemies:
-
Dog: Fast and agile.
-
Goblin: Tanky and strong.
-
Ranged Shooter: Fires projectiles at the player.
-
Turret: Stationary and shoots continuously.
-
-
Pickups:
-
Shield: Grants temporary invincibility.
-
Health Boost: Restores health.
-
Ammo Pickup: Refills ammo.
-
-
-
Interactive Features
-
Complete Game Loop:
-
Includes lobby, pause, restart, game lost/win UI, and level transitions.
-
Progression through levels with clear objectives—unlock the next level only after completing the current one.
-
Audio-Visual Feedback
-

Design Patterns Used :
01.
Object Pooling
Efficiently manages reusable objects:
-
Enemy Pool: Handles all enemy types (Dog, Goblin, Ranged Shooter, Turret).
-
Projectile Pool: Manages projectiles for ranged enemies, turrets, and the player.
-
Pickup Pool: Governs random and pre-placed pickups across levels.
02.
MVC Pattern
-
Strict adherence ensures modularity and scalability:
-
Model: Manages game data (enemy stats, pickups, and player state).
-
View: Handles UI elements, player visuals, and animations.
-
Controller: Implements game logic and connects Model and View.
-
03.
Service Locator
-
A centralized Game Service manages all core services:
-
Player Service
-
Pickup Service
-
Level Service
-
UI Service
-
Sound Service
-
Common Pools for example: Pickup,Enemy,Projectile Pools
-
04.
Observer Pattern
-
Decouples game actions like starting, restarting, and transitioning between levels.
-
Example: On restarting, updates enemy spawns, resets player stats, and clears the level.