Interview: Andrew Doull on Procedural Games

I had the opportunity to interview Andrew Doull this week, Unangband developer, creator of the Procedural Content Generation Wiki, contributor to the podcast Roguelike Radio, and deep thinker.

We chatted about all things procedural: the role of narrative in procedural games, the impact of the indies, the problems with a Procedural Zelda, and how Roguelikes can teach us unique things about life.

Listen here:  Andrew Doull Interview (MP3).


Games covered includes:


AIIDE 2011: AI of Darkspore

Here’s the slides from the recent talk Lauren Hetu and I gave.  We’re glad so many people enjoyed it.  The talk is split into 2 parts: first, a description of the AI and Ability systems we use for NPCs (similar to our GDC 2011 talk), and second, a remake of the Game/AI 2011 keynote I did about the AI director.

I talked more about “AI is replacing randomness”, and how we can use that as a meme to find new places to make AI Directors.


AI in Darkspore AIIDE 2011

The AI Director of Darkspore

I gave a keynote at Game AI in Paris last week.  Thanks again to Alex and Petri and staff for inviting me.  Excellent conference.  And a big statement to have a design-focused talk as one of their keynotes.  Appreciated.

The keynote was secretly 3 talks in 1:

  1. “What is Game AI?”,
  2. “The AI Director in Darkspore”, and
  3. “Improved AI Design”.

In the first section, I walk through some of the history of AI and why that has failed us, and why we need a better definition for Game AI.  I derive my definition of Game AI, “algorithms that replace randomness“.  I claim there are 3 pillars of game AI: character AI, strategic AI, and AI direction, and correspondingly define AI Direction as “algorithms that replace randomness that manage experiences”.

In the second section, I discussed how we used AI Direction in Darkspore.  I focus on 2 out of the 10 in particular: how we created the random enemy selection buckets and how we layered “spike” and “wanderer” spawn points to add drama and flow to the game.  Unlike Left 4 Dead, Darkspore’s AI Director called for a fixed challenge per level instead of a player-adjusted one.  I discuss how we tackled challenge while still bringing surprise, replayability, and interest to the table.  I showed how we tested the Director, and briefly covered how to tackle the tricky problem of debugging experience management.  Then I go into some of the technical numbers on how the Darkspore AI Director works, and why the numbers are more important then the code.  I call that AI Design.

In the last section, I talk about the importance of AI Design.  I look at how AI Design was actually most of the work, and argue that AI Engineers are the best positioned developers in the industry to make new and interesting kinds of games.  I urge them to look for places where we use traditionally randomness, and see them as opportunities to create better gameplay.  I debate Michael Mateas that AI Engineers need to understand Design in order to make the games of the future.  We talk a little bit about Chris Hecker’s call down for AI Design at AIIDE 2010.  And I share how I’ve found ways to do design in my projects and trained to be a better designer.  Finally, I look at some of the things we left random inside Darkspore instead of AI Directing, and discuss whether or not that might have been a mistake. will be posting the full presentation soon, along with audio and video.  In the meantime, I’ve uploaded the powerpoint slides with notes, as well as a smaller pdf without the notes:

AI Director in Darkspore GameAI 2011 (pptx with notes)
AI Director in Darkspore GameAI 2011 (pdf)

If you haven’t seen it my AIIDE 2009 talk on narrative in AI Director is highly relevant to this talk, expanding on it greatly.

Enjoy!  Please share your thoughts.  I’d love to hear your feedback.

AI Director in Darkspore GameAI 2011 (pptx)

What is Game AI? con.

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.