Home    General Programming    Artificial Intelligence    Math    Physics    Graphics    Networking    Audio Programming   
Audio/Visual Design    Game Design    Production    Business of Games    Game Studies    Conferences    Schools    Contact   
General Programming
Artificial Intelligence
Audio Programming
Audio/Visual Design
Game Design
Business of Games
Game Studies
Game Programming Gems
Game Programming Gems 2
Game Programming Gems 3
Game Programming Gems 4
Game Programming Gems 5
Game Programming Gems 6
Game Programming Gems 7
AI Game Programming Wisdom
AI Game Programming Wisdom 2
AI Game Programming Wisdom 3
AI Game Programming Wisdom 4
GPU Gems
GPU Gems 2
GPU Gems 3
Massively Multiplayer Game Development
Massively Multiplayer Game Development 2
Secrets of the Game Business
Introduction to Game Development
GDC Proceedings
Game Developer Magazine

Video Game Programming

This small guide will help you get started learning how to program video games. While programming video games can be difficult, if you follow these simple steps, you'll have the best shot at succeeding.

Step 1: Commit to the Journey

Video game programming is a very deep subject that requires a great deal of knowledge and experience. If you are going to succeed, you need to commit to taking the journey and be prepared to learn! You already know tons about video games, but what you now need to learn are the basics of programming, art, and game design. Each one of these are huge fields, but that's OK, because you can take baby steps and dabble in each one as you get started. It's easy to feel overwhelmed, but just take it slow and commit to learning how this all works.

Step 2: Choose your Platform

What's a platform? A platform is the computer environment that you are programming, such as an iPhone, Android Phone, Xbox 360, PS Vita, the Web, or PC Windows Desktop. As a beginner, you'll need to choose an open platform that anyone can program for (for example, the PS Vita is not an open platform because you must get special permission from Sony to buy a development kit and have access to their game programming software - they only approve experienced game companies). Another consideration is cost to get started. Here are your best options, ordered by difficulty:

Web Browsers (EASY - HTML5, JavaScript)

The Web is an open platform that only requires a PC and no upfront tool cost. To begin with you'll need to learn HTML5 and JavaScript. This is good for 2D games and 3D games are possible by using WebGL. HTML5 and JavaScript are the perfect gateway drug to get you started with programming games and quickly succeeding. Here are your baby steps:

  1. Learn and play around with HTML5 and JavaScript. Follow tutorials on the Web.
  2. Make stupidly simple little programs, like a button that prints out the current date.
  3. Make stupidly simple little games, like "Guess the Number" or "Hangman".
  4. Keep reading tutorials on the Web.
  5. Get a free framework that makes it easy to program 2D games.
  6. Buy a book to walk through developing HTML5 games, like this one.

iPhone (MED DIFFICULTY - Objective C)

The iPhone has 100,000s of apps because it is relatively easy to program. However, you'll need a Mac ($500+) to get started. Here are your baby steps:

  1. Buy a Mac.
  2. Download the SDK (this includes the Xcode compiler).
  3. Learn Objective C.
  4. Make stupidly simple little programs, working your way up in complexity.
  5. Sign up to become a developer ($100 cost).
  6. Buy a book to walk you through learning iPhone game programming, like this one.
  7. Make a game.
  8. Submit your app to Apple.

PC Windows Desktop (MED DIFFICULTY - C++)

For larger 3D games that run on a PC, you'll want to move away from JavaScript and concentrate on C++. Traditional PC games and console games (Xbox 360 and PS3) are programmed with C++. If you want to be a professional programmer for these types of games, you'll need to start learning C++ and DirectX programming. Here are your baby steps:

  1. Download for free VISUAL C++ 2010 EXPRESS
  2. Download for free the DirectX SDK
  3. Learn and play around with C++, reading tutorials on the Web.
  4. Learn and play around with DirectX, compiling and running the demos in the DirectX SDK.
  5. Make stupidly simple little programs, working your way up in complexity.
  6. Buy a book to walk you through learning C++ with game programming, like this one.

Step 3: Make a Simple Game

OK, you chose your platform and now you're ready to program a game. Unfortunately, video game programming is hard and you need to focus on taking baby steps toward your ultimate goal. Whether you know how to program or not, focus on acheiving something simple. This will help boost your confidence and keep you from getting discouraged.

What's something simple? This will depend on your programming background. If you have no idea how to program, then this needs to be very, very simple and you're going to need a lot of help. My best advice is to buy a book that walks you through every single step. Sure, you can find out much of this info on the Web with enough effort, but usually a book is much better structured and has a well-thought out series of steps to follow.

Examples of simple games to get started:

  • Text only games like hangman, rock-paper-scissors, or guess the number. While these are extremely simple games, they still take some effort if you are brand new to programming. From here you can make more interesting text-only games like a text adventure or chat bot.
  • 2D puzzle game like Tetris or Minesweeper that have no enemies. These games are about manipulating tiles and then being scored on each move.
  • 2D top down shooting and chase games played on a single non-scrolling screen. Think of some of the original arcade games like Space Invaders or Pac Man. These games have the player moving a character around the screen with simple enemies attacking them.
  • Step 4: Hone your Craft

    You're now a rookie indie game programmer with a couple simple games under your belt. Now it's time to step up to the plate and start competing in the big leagues. Here are your next steps:

    1. Learn about game design. What are the gameplay mechanics? Why do people enjoy and keep playing certain games? This is half about the structure of a gameplay and half about the psychology. Time to listen to the pros.
    2. Learn about art, modeling, texturing, and animation. Even if you arn't making the art assets, you need to understand all aspects of it.
    3. Start diving deep into a game programming specialty, like graphics, AI, or engine programming. The books listed on the left edge of this site are for intermediate to expert game programmers. Don't buy these books unless you feel very comfortable programming and are ready to learn professional game programming.
    4. Get a job at a game development studio. This is the only way you'll truly learn professional game development and the business of the game industry.

    43% off discount
    "AI techniques from commercial games"
    AI Game
    Wisdom 3

    "Cutting-edge graphics techniques"
    GPU Pro 3

    Unique Abyss LED Watch
    Abyss LED Touchscreen Watch

    See how it works
    On sale 40% off