Article

5 Tips to Start a Career in Game AI Programming

Alex J. Champandard on July 17, 2007

ajith asks “I’m a flash game developer. I wish to move in to real gaming preferably AI. Can you please help me; how I can start a career in this?”

1) Master C++

It’s arguable whether anybody can fully grasp C++, but if you want to get into the “real” games industry you’ll need it to be your second language. I mention this first in the list because game studios consider hiring most C++ veterans — regardless of their backgrounds. (It takes many different skills to build a AAA game engine these days.)

2) Make Games!

It helps to get into industry if you actually make games on your own; they don’t have to be published by EA, but it’ll give you the experience you need.

  • Write a simple 2D game yourself, using only a low-level library like the SDL.

  • Use open source 3D engines to make a more impressive demo.

  • Try to build simple games for paying clients via RentACoder.

3) Study AI

You don’t have to go to college to learn AI, but it can be useful if you do the other things on the list at the same time.

4) Specialize

These days, it takes large teams of multi-talented people to build a game. The secret to get inside the industry is to specialize in a field. AI is already specific, but if you become an expert on a topic it’ll be easier to find work.

  • Make technological prototypes of interesting AI problems, like hierarchical planners.

  • Implement some advanced algorithms like Anytime D* or RPROP.

5) Network

Ultimately though, it helps if you have contacts to get into the industry. You’ll have to work hard to build those once your portfolio is in place.

  • Hang out on international game developer forums, find national ones if possible.

  • Go to local game developer conferences.

  • Write articles about your coolest demos, and publicize them.

  • Apply for jobs directly if possible, or via agencies.

Do you have any advice to start a career in game AI programming?

Discussion 2 Comments

gware on July 17th, 2007

As a programmer my only advise is: - stay FOCUSED * On your goal. Developpers tend to start lots of tools, engines, and ... drop them. Just do them. Don't stop midway. C++ project tend to be big and, sometime (or always at some point), messy. Be focused on your goal, do not fall in the I-can-redo-this-sothat-the-code-will-be-smarter trap. It's very important to show that you can _achieve_ something. * On the quality. As a programmer it's important to show that you can make "great" code : use patterns, sometimes generic programming, use unit testing, know how to debug, how to create good easy-to-use interfaces, refactor when needed, etc. This idea is the same as in the beginning point "master C++" (not only for C++, I believe we could say "master programming") : I just wanted to emphasise it.

gware on July 17th, 2007

As a programmer my only advise is: - stay FOCUSED * On your goal. Developpers tend to start lots of tools, engines, and ... drop them. Just do them. Don't stop midway. C++ project tend to be big and, sometime (or always at some point), messy. Be focused on your goal, do not fall in the I-can-redo-this-sothat-the-code-will-be-smarter trap. It's very important to show that you can _achieve_ something. * On the quality. As a programmer it's important to show that you can make "great" code : use patterns, sometimes generic programming, use unit testing, know how to debug, how to create good easy-to-use interfaces, refactor when needed, etc. This idea is the same as in the beginning point "master C++" (not only for C++, I believe we could say "master programming") : I just wanted to emphasise it.

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!