top of page

Discipline

In this project, I serve as a Game System & Architecture Designer. My primary contributions include:

​

  1. Object Pooling System

  2. Base Classes for Enemy and Turret

  3. Event system

1. Object Pooling System:

I implemented an Object Pooling system to save computational time. Constantly instantiating and destroying small objects like bullets and enemies is expensive. By using a pooling system, I can reuse a small number of prefabs repeatedly. This approach incurs only minimal additional memory usage but results in significant CPU time savings.

​

2. 1 Enemy:

I employed interfaces and other script components to implement various functions such as movement, path switching, death handling, slowing, burning, and knocking off the path.

​

2.2 Turret:

There are four types of turrets in the game:

1. Bullet Turrets: These turrets shoot bullets and missiles.
2. Area Damage Turrets: These turrets deal area damage.
3. Laser Turrets: These turrets fire lasers that cause continuous damage.
4. Stone Thrower Turrets: These turrets throw stones, which can knock small enemies off the path and instantly kill them.

​

3. Event System:

I utilized C# delegate methods to decouple the project. While quick and practical for small projects, it may not be sufficient for larger ones.

​

bottom of page