So, as I was saying, Game AI is randomness-replacement computation. Let’s look at some examples.
1. Civ Rev Combat. As Sid Meier now famously said at GDC 2010, Civ Rev’s combat is not random. It was a sub-par experience. They (and many other games) replaced it with an algorithm that makes it appear fairer. I claim this is a well-designed, typical AI algorithm.
2. NBA Jam Announcers. Like many sports games, NBA Jam has a really frequency of announcer voice over. Which voice over should play? When? How often? Which should take priority (or interrupt) what? These are all decisions about doing better then just picking a random voice. In fact, they’re decisions about doing better then even the most appropriate voice for that action – it’s a combination of actions and consequences, very similar to typical character behavior. I claim this is AI, too.
3. Map Generation in Civ IV. I’m not a map generation expert, but Soren Johnson has told me it’s not random. In fact, it follows quite a bit of rules, and was a key factor in making Civ IV and V unique and interesting games (due to resource spacing). Could have been random, though. But much better with AI.
4. Facial Expressions. There’s a really common debate about where Animation stops and AI starts, particularly on NPC characters. This definition answers that question – where the algorithms could have been replaced by randomness. Thus the content and blending of an animation are not AI, but the decision on which animations to sequence is AI. Facial Expressions are a good example – they could be random, but it’s best if they vary to reflect your mood, in a non-robotic way.
Why define all these systems as AI?
- Because, at their simplest, they are defined by if/then rules. This is a common building block of Game AI.
- Because, as you look deeper, all these systems share common elements. Particularly in AI pieces. Hooks, architecture, the use of State Machines and Decision Trees – as each system gets less random they start to use very simple tools.
- Because player’s perceive them as AI. Even when there is no AI, players will attribute randomness to the computer’s “AI”. Perception dictates they are AI.
- Because it fits industry common practice. Particularly on the AI programmer/Animation programmer point.
What about Procedural Narrative? I think that’s AI too (in fact, all non-random procedural content is Game AI under this definition). But I think it requires another post.