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:
- Learn and play around with HTML5 and JavaScript. Follow tutorials on the Web.
- Make stupidly simple little programs, like a button that prints out the current date.
- Make stupidly simple little games, like "Guess the Number" or "Hangman".
- Keep reading tutorials on the Web.
- Get a free framework that makes it easy to program 2D games.
- 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:
- Buy a Mac.
- Download the SDK (this includes the Xcode compiler).
- Learn Objective C.
- Make stupidly simple little programs, working your way up in complexity.
- Sign up to become a developer ($100 cost).
- Buy a book to walk you through learning iPhone game programming, like this one.
- Make a game.
- 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:
- Download for free VISUAL C++ 2010 EXPRESS
- Download for free the DirectX SDK
- Learn and play around with C++, reading tutorials on the Web.
- Learn and play around with DirectX, compiling and running the demos in the DirectX SDK.
- Make stupidly simple little programs, working your way up in complexity.
- 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:
- 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.
- Learn about art, modeling, texturing, and animation. Even if you arn't making the art assets, you need to understand all aspects of it.
- 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.
- 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.
|