Tales of the Rampant Coyote
Adventures in Indie Gaming!


(  RSS Feed! | Games! | Forums! )

Saturday, June 10, 2006
 
Elements That Make More Believable AI
I attended a GDC session a few (read: MANY, as it was called CGDC back then) talking about using Deception in Game Design. I still have a bunch of notes from that session, though the context is now hopelessly muddled with my own experiences and ideas. One of the parts that stood out was a list of things to do to make AI characters more believable in a game.

Since I've been talking about that a bit (it's been a little bit of a holy grail for me, since High School), and it was the topic of Raph Koster's blog I referenced yesterday, I thought I'd bring up some of the points from that lecture and a few of my own thoughts on identifying elements that make more believable AI characters in games.

Software Sucks at Simulating Humans
There are many, many problems in a game universe that are "very hard" to solve with computer software. Simulating people in a general situation is one of them. We still haven't made a program that can pass the generalized Turing Test (and I really don't forsee us doing so in my lifetime), so creating truly believable AND fully interactive characters in-game is still an impossibility.

In fact, it seems the more realistic you make them, the more their flaws stand and make them less believable. There's a difference between realistic and believable. Slinging a fireball is not realistic. But if you do it right in a fantasy game, it's entirely believable. The point is not to make games (or characters) more realistic, but more believable.

#1 - Give The AI Perception
Apparently this is the most important. This comes down to letting the AI recognize what's going on around it. I think this goes a little bit beyond just perceiving, but actually making inferences as to what is happening. This is as simple as the AI noticing that the player is trying to steal from them. Or as complex as the AI trying to infer intention out of the player's actions, or to try and figure out WHY certain things are happening.

#2 - Give the AI Emotion
The next most powerful way of making believable AI is to give them the appearance of emotion. Again - this can be as simple as getting them mad at you if you try and steal from them. Or it can be infinitely more complex. But our brains respond so well to perception of emotion that we will attribute emotion when none is there to inanimate objects.

#3 - Give the AI Memory
This is sort of a subset of perception - but giving the player a memory of past interactions with the player is a powerful tool for making them seem more 'believable.' Specifics are better than generalities here. If the AI won't trust you (emotion) because it remembers (memory) that you tried to steal a pot from them (perception), you've got something close to a believable character in the game.

Another way to extend this even further is to have the AI communicate with each other about events - particularly those involving the player. Now, it's pretty common these days in RPGs to have non-player characters (NPC's, AI-Controlled characters) parrot back major plot events that the player triggered or performed. This is cool and all, but it feels artificial (especially when people in far-off cities seem to know all about it the moment it happens). But having the AI characters talk about little incidental gossipy stuff - perhaps even something that the player only witnessed - is even cooler.

#4 - Give the AI Some Kind of Personality Quirk
This wasn't part of the lecture, but this is something I'm interjecting. The human mind loves to categorize things, and it takes very little for a person to be pigeonholed in the minds of others. Just think back on your High School experiences for endless examples. One little sentence was all it could take for someone to get classified as a geek, or a snob, or a ditz. If you give your AI characters just one small but noticeable quirk, it is often enough to make them stand out and for the player to attribute all kinds of emotion and subtext to conversations where none really existed.

As a "ferinstance," I'm gonna draw upon Oblivion again, since I've been playing it and it's fresh in my mind. There's a dark-elf alchemist in Skingrad who, as part of a passing conversation, asks if you know the penalty for necrophilia in this country. If you ask, "Is it a first offense," she says, "Let's say.... no." Well, that made that character come alive... she's a scary-weird lady, but in spite of that, I find myself looking forward to doing business with her, because she's unique and interesting. That's all it took.

The Player's Perception Is Everything
As mentioned in the last post, the player's perception is everything. Doing a good job of these four items is a tall order, even going to great lengths implementing Raph Koster's full ecological and AI models. And I'd still like to try something like that. But there are also some ways of faking it that will usually get you a lot more mileage for a lot less effort. Which was actually the entire POINT of the GDC lecture - how to make the game feel more realistic by faking it more.

Labels:



Did you enjoy this post? Feel free to share it: del.icio.us | Digg it | Furl | reddit | Yahoo MyWeb

Comments: Post a Comment

Links to this post:

Create a Link



<< Home

Powered by Blogger