I have a lot of experience with C++, but I have no experience with game programming. This summer I plan to create a 2D platformer from scratch using C++/SDL for the learning experience. I am looking for as many resources as possible to help me get started. Good source code, tutorials, anything.

One of the best tutorials I've found are the inactive jump 'n' run dev tutorials by the late Florian Hufsky. Any similar tutorials?

  • 1
    \$\begingroup\$ www.lazyfoo.net Absolute best tutorial for SDL. As far as game programming goes, I would say the best tutorial is practice. Get ideas and test them out, try some simple physics stuff then move on to full games. (at least that's what I did, but I'm crazy) I started with tictactoe, moved to a space-shooter, than a sidescroller, then chess, back tosidescrollers, and on to physics games. \$\endgroup\$ Apr 18 '11 at 4:07

If you're a C++/object-oriented kinda guy, you might find SFML easier to work with. It's very similar to SDL, except that is has an OO interface. It's not as widespread as SDL, but still has quite a large following.

As for tutorials, since you're experienced with C++ you can probably get away with reading tutorials aimed at other engines and languages and apply the high level concepts, referencing your API and its help forums for specific issues you encounter along the way.

  • Flash Game Dojo is aimed at Flixel & Flashpunk users, but has a lot of "beginning game programming" type of material.

  • GameDev.net is another huge resource (look at their articles and wiki)

  • Also look at the FlipCode archives. These generally cover more advanced topics, but you may find them useful in the future.


Airstrike is a small and simple game to start from. The source code is short and simple. It's not a platformer, but that may be a good thing, since you may not want your architecture to have outside influence. Every low-level action you may want is implemented - there aren't many (load resources, play sounds, display sprites...)


Not the answer you're looking for? Browse other questions tagged .