C++ Game Development Resources
C++ is a common programming language used in game development. Since it is not an interpreted language, performance will be less of an issue. If you've never programmed in C++ before, consider this a superb excuse to learn a new way.
SDL (Simple DirectMedia Layer) is a set of libraries for graphics, sound, and input. It is cross-platform, so it doesn't matter what operating system you're developing on, and allows for a larger userbase.
This article will continue to grow as I find more resources.
General Tips:
- If you've never done any game programming before, start with 2d, not 3d. Starting with 3d is an unrealistic.
- Take a look at the source code of existing open source games that utilize SDL and C++. I'd recommend starting with TeeWorlds and Super Mario War. As you get more involved in your own game, you may find existing games provide some inspiration on how to impliment certain functions.
- Start with a small project and go from there. It's more satisfying to make a complete game than to struggle with a game that will never be finished. If you have a big project in mind, keep it in the back of your head and start a smaller game project that may require similar techniques. This way you will have gained the applicable knowledge required for a larger project.
- Stylize your game design. Some find that starting with artwork helps create an atmosphere for the direction of the game.
- Before you start your work, create design documentation explaining your game and how you plan to approach it. This is most important with larger projects.
- Plan in steps. This avoids situations where you put a lot of effort in a project but nothing works. Instead, start with many simple, easy to reach goals.
- Tile-based games are easier to deal with and use less system resources.
Useful Development Links:
- Lazyfoo's SDL Tutorials - This is the place to start with C++ and SDL. Among these tutorials is an explanation on how to setup SDL with various operating systems and editors/IDEs.
- Game Development Wiki
- As an alternative to SDL, Simple and Fast Multimedia Library (SFML) is a more "modern" and object-orientied API.
- Additional resources: Amit’s Game Programming Information
Game Dev Technique Resources:
You will find that game development techniques are applicable across all programming languages, so don't worry if one of the tutorial's is for Flash or another language. Similarly, if you're having difficultings looking for a certain technique, you may want to try searching for that technique in different languages.
- jnrdev - 2d jump and run platformer tutorials.
- Metanet Software tutorials:
- Lingoworkshop's Isometric Game Design
- OutsideofSociety
- Tonypa's Tile Based Game Tutorials
