Getting a job as an AI programmer for games

Started by
2 comments, last by Shaarigan 6 years, 9 months ago

Hello! I love programming, but my biggest interest is in AI programming, especially for games. My question is, what is the baseline requirements to get a job as an AI programmer for video games? What should I know how to do before I apply? I can do some simple things like pathfinding and creating a checkers bot. What should I be expected to know at my first AI programming job?

Advertisement

The main thing I'd suggest keeping in mind is that you might be artificially limiting your options by trying to find an entry-level job which also is a dedicated AI role. Entry level is hard enough to break into as it is, and AI is a specialization that typically involves some baseline experience in making games.

Your best bet (IMO) is to get a good title or two shipped first as a gameplay programmer, and pick up the AI as you go. Once you have the basics of shipping code under your belt, you can start looking into the specialization. You should ideally be conversant in all of the following:

  • Decision making systems (scripting, utility-theory, behavior trees and similar architectures, planning, state-search, machine learning [ugh], and so on)
  • Path planning algorithms and data structures
  • Perception modeling (sight, sound, etc.)
  • Animation techniques at least at a high level (know what a blend tree does, how to play animations, etc.)

I'm sure there are more things. Pick up a good game AI text and you should at least be comfortable talking about every subject in there.

Hopefully that explains why entry level and AI specialization is a hard combo :-)

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

AI is in general needed for most games, the smaller ones like mobile games might need a much simplyfied AI where larger games as for PC and Console systems may need a much larger AI. It depends primarily on the type of game; a Candy Crush wouldnt need any kind of AI where a Horizon Zero Dawn needs a massively performance optimized Ai system.

Starting as general or gameplay programmer you might get into this kind of profession if you want. There are always studios without a profesional Ai team or increasing there teams (if existing) to enter. You should also know Behavior Trees and FSMs as they are used mostly in game AI for achieving a good balance between gameplay and difficulty. Especially Unity3D and NodeCanvas, and Unreal Engine 4 and its build in Behavior Tree system are commonly used when not working in a company with a custom engine (and propably custom AI system) so you should know how to use both, add new actions and performance optimize your AI in there architecture. Unreal Engine may be a bit easier to go for because of there open source and architecture where Unity3D is a kind of lifetime job to get optimized when your AI grows too much

Also commonly used; Path Finding algorithms aka a* and co. There are always reasons you need a path following, path finding in your AI as same as some kind of memory mapping to let your AI remember certain important points. There was an article on this topic a while ago here on GDNet

This topic is closed to new replies.

Advertisement