Skip to content
Shoot At All

Shoot At All

Overview

Built three object pools and a modular boss fight to study the pattern.

Solo · a study project

Written in August 2022 to study one thing properly: the object pool pattern, and what it does for resource management when a scene is spawning and destroying constantly.

It shows in the shape of the code. There is a generic pool, a dedicated one for enemies, and a third for the boss projectiles.

The boss is its own module rather than a scaled-up enemy, with separate behaviour, shooting, health and animation scripts, and the player and enemies are each split the same way instead of one controller doing everything.

My contributions

Player and enemies

  • Separated the player into movement, shooting, health, collection and animation rather than one controller doing all five, and gave enemies the same treatment.
  • Built a spawner driving waves over that enemy model.

Boss fight

  • Built the boss as its own module rather than a scaled-up enemy: separate behaviour, shooting, health and animation.
  • Gave it a dedicated projectile pool so the fight never competes with the wave spawner for objects.

Object pooling

  • Built a generic pool, a dedicated enemy pool and a third for boss projectiles.

Gallery

Project details

Studio
Solo
Genre
Shooter
Engine
Unity
Stack
Unity · C# · Object Pool · Boss AI · Wave Spawning · Optimization