Object pooling
Before we dive into the project, it's important to discuss object pooling and how it will improve the game. Object pooling is the process of storing object instances in cases where you need several objects of a specific type. Instead of destroying objects in a pool, they are removed temporarily and reset to their starting state so that they can be reused.
Recycling objects like this saves memory because you only need to allocate resources for a fixed number of objects instead of a potentially infinite number of objects. It also prevents the garbage collector from running frequently and wasting processing time.
The general rule of thumb is that if you have a large number of similar objects that will be getting added to and removed from the screen, you should place them in an object pool and recycle them.
In HaxeFlixel, the FlxGroup
class contains the functionality for object pooling. Objects that are added to it can be recycled for use later on, so I will refer to the FlxGroup...