Now we are ready to spawn some enemies. For this, we are going to introduce a new concept: the GameController
.
A GameController
is a special type of GameObject
that has no visual representation (it is not a sprite) and its mission is to control the evolution of the game using the calls to onUpdate
.
One of the most typical tasks of a GameController
is managing the environment. This includes spawning enemies with the right parameters when necessary.
Game controllers fall into two main groups:
Procedural/random
Deterministic/static
This is a type of
GameController
that generates levels or enemies based on a set of parameters (or a function) that include some sort of random input.
The main advantage of procedural generation is that you do not have to create all the levels in detail, you just provide the parameters and an algorithm. It is complicated to tune it properly, but, once it is right, it potentially presents you with a different setup...