18
\$\begingroup\$

Although graphics is my main area of focus, I've been dabbling with Game AI concepts for quite some time now; from simple A* path-finding to intricate Perceptrons..

My question is this; Does anyone have any examples of successful (or perhaps more interestingly, failed) implementations of some higher-level AI concepts in large-scale commercial titles?

By higher-level, I mean methods of simulating intelligence that are usually found in Pure AI.. For example..

  • Neural Networks
  • Genetic Algorithms
  • Decision Theory

I understand that as well as a financial budget, developers also have a budget of memory usage (with AI often taking a back seat). Many of these methods are costly to implement and provide limited returns.. I am just intrigued to find out if anyone knows where or when any of these (or any other high-level concepts that I've forgot to mention) have been deployed in any well-known games :)

I also know that in this industry, trade-secrets are a fact of life ;) Aside from the AAA titles, if you have any of your own success-stories (or disasters) it would be nice to hear them! :D

\$\endgroup\$

5 Answers 5

19
\$\begingroup\$

Generally speaking neural networks and genetic algorithms are not used in games, and apart from recent interest in using neural nets for deep learning, not that often outside of games either.

The main reason these are taught in AI academia is not because of their practical applicability but because they are quite easy to explain as teaching devices - both have mathematical and biological analogues that allow a student to understand how they could work.

In the real world, you typically need reliability and predictability. The problem with learning methods is that if they learn 'in the wild' then they can learn the wrong patterns and be unreliable. An NN or a GA could potentially reach a local maximum which is not guaranteed to be good enough to provide the gameplay experience required, for example. Other times, it might end up being too good, finding a perfect strategy that is unbeatable. Neither is desirable in most entertainment products.

Even if you train offline (ie. before launch, and not during gameplay), an apparently good looking set of data could be hiding anomalies that, once found by a player, are easy to exploit. A neural network in particular typically evolves a set of weights which is quite opaque to study, and the decisions made by it are hard to reason about. It would be difficult for a designer to tweak such an AI routine to perform as desired.

But perhaps the most damning problem is that GAs and NNs are generally not the best tools for any game development task. While good teaching devices, anybody with sufficient knowledge of the subject domain is generally better equipped to use a different method to achieve similar results. This could be anything from other AI techniques such as support vector machines or behaviour trees through to simpler approaches such as state machines or even a long chain of if-then conditionals. These approaches tend to make better use of the developer's domain knowledge and are more reliable and predictable than the learning methods.

I have heard however that some developers have used neural networks during development to train a driver to find a good route around a racetrack, and then this route can then be shipped as part of the game. Note that the final game does not require any neural network code for this to function, not even the trained net.

The 'cost' of the method is not really the problem, incidentally. Both NNs and GAs can be implemented extremely cheaply, with the NN in particular lending itself to pre-calculation and optimisation. The issue is really that of being able to get something useful out of them.

\$\endgroup\$
5
  • 3
    \$\begingroup\$ Outside of games GAs have been immensely successful at coming up with esoteric solutions to engineering problems, e.g. Dr. Adrian Thompson's early work on genetic circuits resulting in "useless" subcircuits that affected the flux in such a way to make the rest work. The problem is that effective esoteric solutions are not valuable in games as in engineering. The really hard problem of game AI is to make the AI have a comprehensible strategy, not merely play well. \$\endgroup\$
    – user744
    Commented Sep 6, 2010 at 15:05
  • 4
    \$\begingroup\$ I've used GA to tune AI driver variables. But as you mentioned this was done offline with a tool to generate the tuning data. The game didn't ship with active GA, just the numbers that had been derived during development. \$\endgroup\$
    – wkerslake
    Commented Sep 6, 2010 at 20:58
  • \$\begingroup\$ @Joe - yeah, I love GAs myself. I think they're quite an effective way of exploring a problem space in a way that is quite intuitive to the person tweaking the algorithm. I have also used them for real-time decision making but it's hard to argue that they were more efficient or more effective than the alternatives. \$\endgroup\$
    – Kylotan
    Commented Sep 9, 2010 at 10:38
  • \$\begingroup\$ +1 for the domain knowledge. Also don't discount the business case: Weeks of programmer time to create and tune and maintain a racing line NN could be less cost effective than a simple max tool to lay a spline and a few days of designer time. \$\endgroup\$
    – tenpn
    Commented Apr 19, 2011 at 7:34
  • \$\begingroup\$ The problem is more that to learn something useful, you need a large neural net which takes a lot of computation power. If you have a small net, it is cheap to train like you said, but has no chance to learn sophisticated behavior. Another problem I see is that you need a huge amount of training examples for ML, so you can't train during game play since it would take way too long for the enemies to become clever. On the other hand, reinforcement Q-learning looks like a good technique for that. A trick would only work once against this AI. I'm not sure whether games have used that though. \$\endgroup\$
    – danijar
    Commented Aug 2, 2015 at 14:30
7
\$\begingroup\$

Applications of "academic" AI in games tends to be a lot more subtle than the types of things one normally thinks of as AI in the game sphere. A lot of my Game AI professor's focus back when I was in school was AI for camera control. His other area of interest was AI narrative management which is as far as i know still limited to academia for the most part. A notable example of this later area would be facade.

The main issue for "academic" AI, in games, is that they are solving different problems. You often don't want to satisfy requirements, in game; you just want to satisfy. As it has been worded previously: you don't want to to be easy, but you don't want your AI opponent to be too difficult, either.

That being said, Lionhead's Black and White series of games did use AI similar to what you are talking about with the question above and was at least successful enough for them to make a sequel.

I remember reports of radiant AI from "The Elder Scrolls IV: Oblivion' being an example of this vein of behavior originally as well but it had to be dumbed down because of strange unexpected behavior like NPCs killing each other over food.

\$\endgroup\$
2
  • \$\begingroup\$ GA is also used in the creatures series: en.wikipedia.org/wiki/Creatures_(artificial_life_program) but not as successfull as the previously mentioned black and white or Oblivion \$\endgroup\$
    – lathomas64
    Commented Sep 7, 2010 at 16:17
  • \$\begingroup\$ Thanks for the answer.. It's interesting as you mentioned how balance in Game AI is crucial, as with pretty much every aspect of game development, it must be fun before it's realistic/believable. An AI that is too 'clever' is no fun at all, no one likes a smart-alec :) \$\endgroup\$
    – Bluestone
    Commented Sep 7, 2010 at 19:02
1
\$\begingroup\$

They are hard to debug, so a glitch (possibly caused by accidental over optimization) cannot be fixed easily. Because of this, any neural network used it games should learn in real time during gameplay. However, they have been used, for example the game NERO.

\$\endgroup\$
1
\$\begingroup\$

Forza uses neural networks for car AI. From what I have heard, they did all the learning ahead of time before they shipped the game, so its a static neural network at runtime.

A buddy of mine on the project told me about it, but this article also talks about it: http://gamingbolt.com/forza-5-developer-best-explains-cloud-technology-create-ai-agents-to-win-for-you

\$\endgroup\$
1
\$\begingroup\$

Since you asked for examples in industry, here's one for you: The earliest title I know of that used neural networks was Fantasy Empires, a D&D TBS / action game released 1993. Apparently they used these to drive what the dungeon master figure would say and do in an "intelligent" but "non-predictable" fashion... if you've played the game a lot, you might disagree! The animated dungeon master figure offers guidance on your gameplay style, based on your recent actions, from a collection of static sound bites, using the NN. I assume it is a very simple network indeed.

(see page 57 of the manual for details)

enter image description here

\$\endgroup\$
2
  • \$\begingroup\$ This might be an interesting example, but for someone who hasn't played this game it doesn't help much. Can you maybe elaborate what game mechanics were controlled by the neural network, what the intention seemed to be and give some examples of good and bad results it produced? \$\endgroup\$
    – Philipp
    Commented Nov 10, 2015 at 13:27
  • \$\begingroup\$ @Philipp Your point duly noted - ETA. The results weren't so much "bad" as simply that the analog nature of neural nets seemed to be wasted in being quantised to a very limited set of output actions. \$\endgroup\$
    – Engineer
    Commented Nov 10, 2015 at 15:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .