The game loop
So, what is a game loop anyway? Almost every live drawing, graphics-based app, and game has a game loop. Even games that you might not expect, such as turn-based games, still need to synchronize player input with drawing and AI, while following the rules of the underlying OS.
There is a constant need to update the objects in the app, such as by moving them and drawing everything in its current position while simultaneously responding to user input:
Our game loop comprises three main phases:
- Update all game and drawing objects by moving them, detecting collisions, and processing the AI, such as particle movements and state changes
- Based on the data that has just been updated, draw the frame of animation in its latest state
- Respond to screen touches from the user
We already have a draw
function for handling this part of the loop. This suggests that we will have a function to do all the updating as well. We will soon code the outline of an update
function. In addition, we know that...