Tuesday, December 19, 2006

The following is an adaptation of a message I posted to the gamedesign-l group on Yahoo! Groups. It's some advice for an aspiring game programmer.

Most game programming students (and artists too) have a lot of interesting ideas in their heads about the cool games they want to make one day. You might have played various games and found a lot of room for improvement, and you probably want to address these kinds of deficiencies in the games that you will be making.

The best thing to do right now is to become proficient at programming, and all the other subjects that go along with making a great game.

If you're a student, you'll have some nice opportunities to select classes on these topics, and if you're a hobbyist, then you'll have to guide your own study of:

Logic
Programming is all about logic. Game design, which is about creating the rules for how the game plays, also involves much of that same logic and planning.

Math
The real world operates on strict rules, your game will abide by these rules or manipulate them in some way. Physics, Geometry, and Trigonometry are important for this, as is Economics.

Music
The proper use of sound enhances the gaming experience.

Art
Games use 2D or 3D artwork and you need to know the techniques involved in displaying art and animation. Develop your aesthetic side and art skills because it will help you understand and enhance the work that artists do. It will also help you make some good art of your own when you're making a game by yourself.

Psychology
Not necessarily to solve people's mental issues, but a familiarity with human behavior helps to know just a little bit about what's going on inside a player's head so that you can better tailor the game experience. You might also find this useful when working on AI, but not for the reason that probably just popped into your head.

Literature, Film
The only way to understand the elements of a great story is by getting exposed to plenty of them. As good as you think your game's story and plot are, you might find that your storytelling improves as you become more well-read.

History
Many games involve story telling of some kind, and you'll find that history provides a lot of ideas.

I'm sure others can contribute some more ideas about topics that should have been listed, or have additional ideas as to how any of these are important or less so.

A good way to direct your journey into learning about game development is to take an idea you already have and plan out that game. You'll eventually figure out what areas you need more information about, and you'll eventually get that knowledge and move on to the next hurdle.

In the end, you'll have your game, or have made smaller games along the way.