Notes from Matt Brown's (EA/Maxis) invited talk at
AIIDE 2006,
entitled "The Power of Projection and Mass Hallucination (Practical AI in The
Sims 2 and Beyond)".
The general gist of it is that The Sims 2 is a sandbox world that
provides some small bits of narrative-promotion to try to encourage emergent
narrative sequences to actually emerge, by matching them against pre-authored
snippets that seem desirable. In general, Matt Brown has a very AI-minimalist
style of AI design.
Some points and claims:
- Perception is key: how to seem intelligent, not how to be intelligent
("Big A, little i")
- Complicated behind-the-scenes computation is usually interpreted as
random behavior by the player, so don't bother
- Players have short memories and quickly move on, so your AI should too
- Correlary to the above: Local intelligence is good enough, at least for
something like The Sims. Just focus on making sure everything makes sense
in relation to what comes immediately before and immediately after, and
players will fill in appropriate long-term stories themselves.
- Consistency leads to player storytelling and ascription of personality
- Some randomness helps avoid brittleness; keeps you from getting stuck in
repeated or easily exploitable weird behaviors
- The Sims/NPCs react to player-driven momentum, rather than initiating
much of anything
- Much of the local behavior is organized around story trees
- Story trees are explicitly authored bits of story, very short
- In their experience, the important thing here was the authoring tools,
not the AI: given good tools, a few human authors can quickly create and
maintain lots and lots of story trees. Important features were sorting of
story trees by roles, easy searching/comparison/etc., batch creation/edits,
and variable bindings.
- He was pretty adamant that it's much easier to write authoring tools to
make writing extensional definitions of "good story" feasible than it is to
build a generative system with an internal notion of good story, since
you'd have to do a lot of manual fiddling on the latter anyway.
- Events are matched against all tree prefixes simultaneously, and of
high-matching trees, the events that that tree says would come next in its
story snipped is scored against a model of player interest ("player likes
[x] events") and personality of the NPC, etc.
- Players find it easier to give specific outcomes rather than traits —
answering "likes hiking (y/n)?" is easy, while "x/10 for extrovert?" isn't.
- Focus the player on the details you will actually use; in character
design and personalities, don't try to faithfully model things that don't
matter very much to your game
- Anecdote: They had a complicated model for which urinals Sims would
use: if there's 3, and someone's at the leftmost one, the Sim is supposed
to use the rightmost one, not the middle one, unless they have some sort of
weird personality. It wasn't reliably getting the responses they wanted, so
they ripped it out and replaced it with a random-number generator, which
people were just as happy to make up stories about and ascribe personality
to.
- A bit of an admission in the conclusion: As a sort of aimless "sandbox
game", The Sims only really needs to make sure something interesting
happens, but it hardly matters what. The player is responsible for making
up stories (this is their sandbox after all), so the story-AI part of The
Sims is only intended to provide some prompts and play off what the player
does. That might not be the case in other types of games.
Follow-up: Maxis ended up deviating significantly from this view of Sims
narrative with The Sims 3, bringing in Richard Evans to do a less
AI-lite version of the AI, which included longer-term planning rather than
purely emergent narrative. Evans has given a number of talks on that, which I
unfortunately don't have good notes on, but here (archived)
is a brief writeup someone else did of his AIIDE 2007 talk.