GDC 2010 - Day 1.2 - Ascending the AI Summit

How much intelligence can be stuffed into an afternoon? A LOT. What follows is a summary of 3 sessions that would make Reader's Digest proud.
Memories of GDC 2010
Monday   Tuesday 1.1   Tuesday 1.2


AISummit: Spend intelligent afternoon with Dave Mark, Steve Rabin. already beat me to punch, downloadable slides to boot.
Blogging about AI while sounding I is hard.

How bad...

... do you want...

... that free phone?

1:45pm - Why So Wary of AI Middleware?


  • Rather than build an enterprise website from scratch, we bought content management middleware. That decision still haunts me.

  • Burrito was further than expected, arrived late to this session.

  • Panel looked smart. Could feel the smartness.


Steve Gargolinksi - (left) thoughtful. succesfully using middleware

Borut Pfeifer - smart. possibly using middleware

Chris Jurney - reflective. abandoned middleware mid-game, replaced with custom

Brett Laming - (right) no-nonsense. doesn't use middleware, no intention of starting

John Funge - host. know nothing about him

Compressed Thoughts

Steve Do your own integration, but keep middleware guys involved. Ask them how to extend their engine so you don't run into traps. Company should provide solid support, stable tools, and a large example game (small demoes lead you down the wrong path). It's not the runtime that gets me excited, somuchas the tools.

Borut Middleware should provide the data pipeline and lower level stuff. Don't bother with flashy stuff you can easily write yourself. Source code a must.

Chris "[AI middleware] integration isn't free, time spent on integration is time you could spend building your own engine". Can't have middleware people do integration for you, you need that knowledge in-house. Have game team integrate (and learn) middleware upfront, when problems are easily solved. Give us source code.

Brett Middleware should give me run time components and tools i.e. build my nav mesh and annotate. Give me the data, then i'll take care of it. "using data is easy... easy-ish."

Patent Tangent

Apparently, AI Middleware companies are starting to patent their stuff.
John asked panel for thoughts about this.
Responses were gracious and thoughtful.

Chris - "distasteful - but I'm not a business person"
Steve - "i don't think software should be patented, but I'm not a business person"
(Must find this business person... and kill him)

3:00pm - Improving AI Decision Modeling Through Utility Theory

Dave Mark - Intrinsic Algorithim

How much is something worth to me? Compare all the potential actions that we have at this moment to each other, use the utility percentage for each action to decide.

Example (changed to reflect personal issues):
Action: Do I buy pants?
Distance - Gap far away, so no.
Warmth - Cold outside, so yes.
Job - Men wear pants, so good chance.

Normalize for point context (otherwise known as percentages)
Utility Value? Distance (0.1) + Warmth (0.9) + Job (1.0) = 2.0
2.0 means nothing by itself.

Action: Do I buy skirt?
Distance - Suzy Shier close, so yes. 1.0    - thank s-curve
Warmth - Cold outside, so no. 0.2    - logit shoutout
Job - Unlikely to land one. 0.5    - linear props
Utility Value? Distance (1.0) + Warmth (0.2) + Job (0.5) = 1.7

Heart says Skirt, Utility A.I. proves pants.
2.0 pants utility percentage trumps 1.7 skirt utility percentage.
In a just system, each value will have different weights.
i.e. I value convenience, which doubles distance weight. Skirt wins! (2.7 skirt > 2.1 pants)

Bonus: If you just bought a skirt, marginal Utilty can handle it
(Distance x 2.0 Convenience + Warmth + Job) x (HowManyDaysAgo/365)

Bonus: Can combine multiple Utility calculations together.

Bonus: Can finally answer "Do I buy slacks?"

Kevin Dill - Lockheed Martin

Referred to page with line drawn down center as "T-Graph".

Can group/distill wants/needs. i.e. If you're buying an apartment, there are many needs. With some key insights, can group them into 4 categories / considerations (cost, distance, aesthetics, soundproofing). Design considerations to be reusable throughout this project, and hopefully the next.

For different NPCs, these considerations get weighted differently. i.e. Family man doesn't mind long commutes and doesn't care about how dull apartment looks. i.e. Teenage kid doesn't care about soundproofing and wants a cool looking pad. Pros become cons, and cons become pros. Amateurs not mentioned.

Harry Reasoner
- Reasoner has a list of possible choices
- Each choice has a list of considerations
- Considerations generate appraisals

"Add utility to what you're doing so you stick to your decision."
Otherwise, NPCs will constantly switch between sniper rifle and pistol while pacing.
Spent 10 minutes talking about how to appraise.
i.e. Having no ammo means veto ALL shooting considerations.
(Notes stop here)


most beyond my ability to understand, let alone blog

Q: This is predicated on a deterministic universe. For example, winning the lottery has great utility, playing the lottery has low utility.
A: Utility can be used if you consider things like the probability of success... same problem with a behavior tree, you've got to do your best guess.
Q: ... or you could apply learning.
A: good luck with that.
Q: Did someone seriously ask the above question?
A: yes.

4:15pm - AI and Interactive Storytelling: How We Can Help Each Other

Starstruck, i forgot to take photos. Luckily, I was able to find substitutes.

Daniel Kline - Crystal Dynamics
Bringing Interactive Storytelling to Industry

Found Daniel's presentation confusing. Hence notes confusing.

"Hecker says interactive storytelling isn't for us..." (he's wrong?)
Interactive storytelling is about managing experiences.
Interactive storytelling is searching.
Can do this search at design time, or run time (A.I.)

Games can be divided into 3 Genres:
Rollercoaster - Half Life, Metal Gear
Experiment - Civilization, Mario, Far Cry 2, NetHack
Challenge - Street Fighter 2, Defender, Left4Dead

Experiment games fall between Rollercoaster and Challenge.
They have the most choices and options.

8 Cases where Storytelling A.I. could be used for stuff (beyond animation):
1. Act   2. Bark   3. Hint   4. Guide   5. Calibrate   6. Pace   7. Surprise   8. Storytelling
Left4Dead proves most can be applied to the challenge genre (much to Daniel's surprise).
I'm afraid Daniel needs to take it from here.

Michael Mateas - University of California, Santa Cruz
Procedural Narrative

Can't help but wish that story progression was more rich and dynamic (based on history, events, etc.). There are off-the-shelf drama management techniques we can use today, it's not pie in the sky. View interactive story as an action selection problem "pick the next story out as a function of the history".

Policies can apply chess-like look ahead search to drama management. Looks at history, projects possible story futures, then picks the best story "move" (beats/missions) that maximizes future expected goodness.

Drama management makes story graph links virtual.
Story generation makes story nodes virtual.
In the academic world, there's a long history of story generation.

World and Character Simulation

Unleash characters in a world, whatever they do is the story.
Older text based story generators (Cavazza and Mead, Talespin) showed how.
Presented a behavior tree about Ross getting Rachel to go out with him.
With a single diagram, Michael produced 10 seasons of Friends.

Limits: Boring stories. No rising action.
Mateas has yet to see a character based system that results in interesting stories.
Obviously, Mateas has seen Friends.

Author Modeling

Author goals and plans (for the universe) that make no sense to the characters.
Author is trying to ensure characters are unhappy.
Characters are unaware of this, and don't want this.
i.e. A pig that wants to be a sheepdog while society wants to eat him.

Create a ton of story fragments with prerequisites.
Pick pieces that meet current pre-reqs, which leads to more fragments.
Since hand authoring these pieces is impossible (you're basically building a behavior tree),
use Wide Ruled - a text-based interactive story authoring and generation tool.

And who could forget Scott Turner's Minstrel which not only generates stories,
but riffs on the stories it generates.
Apparently everybody.

Expressive Processing is a book worth reading.

"Much of the work that has to happen is knowledge representation and modelling (design),
rather than algorithmic work (technical)."

Emily Short - God of Interactive Fiction
Interactive Dialogue

"I love games, but I hate shooting things.
  This is not because I'm a nice person, it's that I'm no good at it."

My Ideal Conversation

  • characterizes the protaganist and NPCs

  • allows significant choices, but doesn't overwhelm the player

  • feels like a well-formed scene

  • doesn't make the NPC feel like a machine

  • (essentially a conversation I've never had in real life)

"Dialogue Trees Suck" (applause heard)

They encourage mowing the lawn (not missing any spots while mowing).
Mowing the lawn not very enjoyable and doesn't feel like a conversation.

(Strongly recommend downloading Emily's slides.
  She has some great diagrams that are beyond blogging justice... as you'll soon read)

Quip - an actual line of spoken dialogue i.e. "it's sure hot out today"
Subject - what is the dialogue about i.e. Weather
Scene - what are we trying to accomplish

Sample Game: Glass - a fractured fairy tale

Player is a parrot, can squak subjects that influence the conversation.
Allows player to shape the action of the Cinderella NPCs.

Subject-Structured Subjects connected with other subjects
i.e. hoedown related to marriage related to heirs
Goal-Seeking NPCs have an agenda of moving the conversation from one subject to another. NPCs pathfind between subjects... do I sense an AISummit theme?
Quips as Connectors   i.e. Parrot squaks marriage, NPC segways from hoedown to marriage
"Do you think Theodora's grotesque dancing will attract a suitor?"

Sample Game: Alabaster - also a fractured fairy tale

The Queen wants Snow White's heart. Snow White might deserve worse.
Gameplay is about getting info out of the characters.

Quip-Structured - quips are related to other quips (closer to a dialogue tree).
i.e. "Where are my keys?" leads to "Where is my car?"
When quip structure gets exhausted, NPC pushes story forward by changing subject.
Showed diagram of Alabaster quip structure... ouch.

1 Quip is related to many subjects
i.e. Quip "Where are my Uncle's pants?" can lead to quips related to uncle or pant subjects, regardless of quip tree hierarchy. Choose next quip based on history of subjects introduced, and you've got dynamic conversation more flexible than dialogue trees allow.

(I really think dialogue should be spelled dialog)

5:15pm - AI Developers Rant!

(While unable to stay for this session, I like to think it was civil)

hallowed halls, teeming masses, no free phones

Latest Jobs

Sucker Punch Productions

Hybrid (Bellevue, WA, USA)
Senior Programmer

The Pyramid Watch

Game Designer (RTS/MOBA)

Sucker Punch Productions

Hybrid (Bellevue, WA, USA)
Senior Technical Combat Designer

Digital Extremes

Lead AI Programmer
More Jobs   


Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer


Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us


Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more