Lazy Foo’ Productions is a website for some new programmers who are interested in joining Game Programming. This site has tutorials made to help programmers start out in game programming covering all the information that are required to design a game. The author tried to keep them as simple and to the point as possible. They are a perpetual work in progress, and will be improved over time.
Surface Loading and Blitting
Extension Libraries and Loading Other Image Formats
Event Driven Programming
Clip Blitting and Sprite Sheets
True Type Fonts
Regulating Frame Rate
Calculating Frame Rate
Per-pixel Collision Detection
Circular Collision Detection
Getting String Input
Resizable Windows and Window Events
Pixel Manipulation and Surface Flipping
Frame Independent Movement
Mutexes and Conditions
Using OpenGL with SDL
Checkout the site here.
They use C++ as the programming language because it is considered the game industry’s standard. SDL is used as the API because it is cross platform, and relatively easy to use.