Are Evolutionary Algorithms Suitable for Building AI in Games?

Alex J. Champandard on November 20, 2007

Last week’s developer discussion covered a controversial topic: the applicability of computational intelligence techniques in games, specifically neural networks. This week, the topic is genetic algorithms (GA) and evolutionary strategies.

Remember, you can win an T-Shirt for posting interesting comments this month! Click here to join in the discussion.

Evolutionary algorithms (EA) fall into the category of general optimization strategies, which can be used to find approximate solutions to problems given a measure of fitness. Approaches based on artificial evolution rarely perform as well as specific optimization techniques on known problems, but they tend to provide satisfactory solutions generally for reasonably-sized problems.

Modern game developers certainly uses specific optimization techniques heavily, in particular for character animation, evolutionary algorithms still haven’t found a regular place in the development process — including for game AI.

  • Are there simply too few problems in games for GA/EA to become widely applied?

  • Do you think applying GA/EA in game design and development requires a specific skillset?

  • Is the evolutionary approach less useful than specific optimization techniques that are already used?

Certainly, the independent game development scene seems less reluctant to apply EA/GA into gameplay and AI…

Be sure to contribute to the discussion by posting a comment below!

Discussion 1 Comments

rcparts on November 23rd, 2007

I have the same experience as Walker: it's very easy to implement GA. And, contrary to some comments, I think it could be very useful in games, as we can see in Nero: It's a kind of RTS game where the units evolve in real-time using genetic algorithms (combined with neural networks, resulting in the NEAT approach). Again, agreeing with Walker, I think that evolving monsters in MMOG's would be very cool (both AI and appearance), and I have already a project on it. Another approach would be to evolve entire stages/maps. The more difficult is it to the player to complete the stage -> more fitness it has (it's a form of competitive coevolution). So the difficult level would grow naturally.

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!