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.
Free Candy For Everyone » Blog Archive » AIIDE 2007: Richard Evans talks Sims 3
Mark J. Nelson, 2006-06-21. Comments welcome: [email protected]