Thousands of zombies represent a new challenge. Not only would loading, storing, and manipulating thousands of copies of three different zombie textures take up a lot of memory, but also a lot of processing power. We will create a new type of class that overcomes this problem and allows us to store just one of each texture.
We will also code the class in such a way that there can only ever be one instance of it. This type of class is called a singleton.
A singleton is a design pattern, a way to structure our code that is proven to work.
Furthermore, we will also code the class so that it can be used anywhere in our game code directly through the class name, without access to an instance.