This post is a portion of Part 13 in my on going series about 2D Game Development using the Allegro 5 library. These posts are in course order. You can see all of the posts in this course by clicking the “2D Game Development” button at the top of this site.

Wow, Part 13! How time flies. Anyway, let’s get to it.


So far our games have consisted of a single mode (or state). They have been very simplistic and straightforward. You have probably noticed, however, that real games generally have many modes including a pause mode and menus. Achieving this is both very easy and very difficult depending on how you look at it. The creation of a simple state machine to maintain the modes of your game are very easy. Harder is the development of a good, well functioning system. Designing proper flow and intuitive controls can take a lot of time and planning. There is also the assimilation of understood standards. For instance, when playing a game I assume the escape key gets me out of the game. No one told me that. It is just an assumed standard. If a game doesn’t do that, I have to question their state design (also a part of the interface model or UI).

There isn’t too much I can say about states. It is much easier to show you. So with that, let’s get to the videos.