In Chapter 5, Diverting the Game Flow – State Stack and Chapter 6, Waiting and Maintenance Area – Menus, you have seen how to handle menus and states, now it is time to return to the actual game. Up till now, we have built a world that can contain various entities, and implemented the basic interaction mechanisms through updates, drawing, and commands. However, this is not particularly interesting as long as the world is empty.
In this chapter, we are going to populate the world, and implement the core part of the game; the actual gameplay with enemies, weapons, battles, and goodies. We are going to cover the following topics:
Enemy aircraft controlled by a simple artificial intelligence
Projectiles such as a machine gun or missiles
Pickups that improve the player's equipment
Collision detection and response between entities in the scene graph
The world's update cycle and automatic removal of entities