General idea of a game state machine
A game state machine runs within the update cycle of the game loop. A game state machine is the mechanism of binding all the game states together. In old techniques, this was a typical linear control flow. However, in modern development processes, it can be parallel control running in multiple threads. In the old architecture of game development, it was encouraged to have only one game thread. Developers used to avoid parallel processing as it was vulnerable to game loop and timer management. However, even in modern development, many developers still prefer to use a single thread for game development whenever possible. With the help of various tools and advanced scripting language, most game developers now use a virtual parallel processing system.
One of the processes of a simple game state machine is to create a common state interface and override it for each game state. In this way, it becomes easy to manage the state inside the game loop.
Let's see a...