Article
files/railswitch

Screw Up Your Career Change to Game AI Programming in 7 Easy Steps

Alex J. Champandard on October 26, 2007

As an experienced software developer, do you wonder what it’s like to work with artificial intelligence for games, but can’t be bothered changing careers? Well, here’s how to make sure you never make it in the field of game AI!

This week’s question on AiGameDev.com comes from Abhijeet: “I am a Software Engineer working in HCL. I am interested in AI game programming. I have developed one or two basic games but I want to get on the right track.”

1) Don’t Learn from Others’ Experience

If you want to learn everything the long and painful way, your best bet is to ignore the wisdom of others. Specifically, you should then avoid:

2) Never Participate in Discussions

If you want to keep your current career, it’s best to stay away from anything relating to game development and artificial intelligence. These are the problematic sites you should never visit:

3) Avoid C++ Any Chance you Get

There’s no denying it; C++ is a standard in the games industry, so if you want to prevent your career from taking off, you should never go near it.

  1. Don’t read recent books about it, especially those about working with large codebases and modern programming practices.

  2. Don’t practice it on a regular basis. It’d be terrible if you knew tricks to debug and optimize C++.

4) Ignore other Programming Languages

Much experience in computer science has made its way into less popular languages, which are great sources of inspiration for building AI interpreters. In particular, languages like Scheme, Forth, Prolog or Erlang are simple and have important lessons to teach you. Watch out for those!

You should also keep an eye out for more mainstream languages like Python or Lua. These are used increasingly often during game development, so avoid them if you want to be a useful addition to a team.

5) Never Implement Popular Algorithms

You won’t get very far if you don’t know the most commonly used algorithms in games. Specifically, in order:

  1. A* search algorithm.

  2. Finite State Machines

  3. Steering Behaviors

  4. Decision Trees

The more often you implement these techniques, the higher the danger of you being a useful employee in a game studio.

6) Avoid Reading Academic AI Books

These days, it takes more than just hacking old-school algorithms to be successful in industry. If you acquire the years of experience from AI research, you’ll run the risk of finding useful solutions to common problems.

Ideally, you should not purchase Artificial Intelligence: A Modern Approach and this book on Machine Learning. The book on Pattern Recognition is more advanced, so avoid it later.

7) Ignore White Papers on Artificial Intelligence

There are papers for a majority of problems you want to solve. A useful skill to have is being able to search for papers easily, and find interesting ideas quickly. You don’t want this if you want to keep your current career.

As such, I recommend you block the following sites on the computers you use:

Finally, here are 5 tips that show you the opposite: what you should do to get into game AI programming!

Discussion 8 Comments

Ian Morrison on October 26th, 2007

Awesome advice, I'll be taking some of that to heart. I've got to say, though... even though it's got just the right air of sarcasm about it, it's a little difficult to read the article because you have to reverse every statement you make!

Dave Mark on October 27th, 2007

Heh... as a long-time business computer consultant turned game AI programmer, this is a little too late for me. :-/ Keep spreading the warnings, Alex! (Oh, and I noticed you linked to the pre-orders for AI Wisdom 4... which reminds me... "#8, if you happen to get started in the game AI world, don't write a submission for a series of books on game AI. The last thing you want to do is legitimize yourself that way.")

alexjc on October 28th, 2007

[B]Ian,[/B] Hehe, thanks. It was a bit hard to write too. However, I once read about the human subconscious having trouble with negations. So if I teach a car driver by repeatedly saying: "Don't hit the tree." then subconsciously he/she will remember "Hit the tree." :-) So in the end you'll be ok! :P [B]Dave,[/B] You're a few steps ahead of my target audience! Alex

Ian Morrison on October 28th, 2007

So... your post was a clever abuse of the human brain's faults as WELL as an excellent exercise in sarcasm? I think I have a new technique to add to my world domination toolset.

Andrew on November 1st, 2007

A utterly not crazy post! You're totally not crazy! Wait, what? Anyway, good stuff. I am surprised there are not any more sites for game AI development discussions. I still need to load up GameDev.net more frequently though.

Ian Morrison on November 1st, 2007

Along those lines: do you have any other tips as far as networking goes? What are the best places to go and get your name out there? Specifically, what's the best way for a university student to go about it?

alexjc on November 1st, 2007

[B]Ian[/B], Oooh, that's an awesome question. Looking forward to writing about that one next Friday. :-) Until then, a hint: Writing is the basis of everything important. Alex

Ian Morrison on November 1st, 2007

Thanks, Alex, networking isn't really a strong point on my part. I'm looking forward to next friday!

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!