The Allegro Wiki is migrating to github at https://github.com/liballeg/allegro_wiki/wiki
Game Design & Concepts
This section allows you to speed up you project by giving you some ideas about how to design and implement algorithms that will bring your game world to life. Due the changes that Allegro experienced from version 4 to 5, you're going to see different ways to approach the same result on each version.
Note: Game Design Concepts are not related to any graphic library in particular, you could use this info with other libraries.
You can find a lot of this kind of information on internet, but if you feel you want to create your own you can place it here.
What is Game Design?
When we talk about the deign of a game, we're talking about the entire game, how is going be, what is going to do, etc. Basically this proses implied converting all your imagination in a way that a computer can understand, this depend pretty much in which programming language you're using but in general a game always has the same concepts and design depending in the genres of the game of course.
Creating timers is not the same in Allegro than in SDL but in this section what it matters are the concepts, obviously if you're here it's because you want to learn to achieve all this concepts using Allegro, so for that reason most of the examples are using it.
So, for example you want to create a pong game, no matter what programming language library or platform you're using you're always going to need some concepts. When you see a pong game you see a ball bouncing and colliding with two rectangles that are controlled by the players, that is part of the Game Design (basically pure imagination) but to achieve this you need some concepts, you're going to need collision detection concepts and a little bit of physics concepts too.
How I tell my computer to draw an image (ball) and when collide with the rectangle, apply the corresponding physic to start moving the ball to the opposite direction?. Well, you're welcome to the Game Concepts.
A game concept is a way to achieve something in your computer, that is pretty common in the real life. for example collisions, in our world everything is colliding and we don't need to tell our objects when to collide or when do not.
Another common concept in our live is gravity, we're all attracted by gravity, so what I'm trying to tell you with all this? what I'm trying to tell you is that inside your game your going to be like a god, depending in what genre of game you're creating you'll need to implement collisions, gravity, and all this are just concepts related to the game itself, Allegro can't help you with that, but you're also going to need concepts like timers, handling and inputs, graphics and for this kind of things Allegro exist.