top of page

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

Screenshot 2024-12-28 160859.png

 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.

bottom of page