This blog has moved. Visit Groundswell Games for the latest. Remember to update your bookmarks and RSS feeds.

Monday, March 17, 2008

Open-ended dialog and moody NPCs

I spent quite a few hours this weekend playing Oblivion. It's reasonably entertaining so far; the size of the world and the number of possibilities for gameplay really are impressive.

The thing that continues to amaze me, though, is the amount of dialog in the game. Seriously, they must have had dozens of people writing dialog what must be thousands of virtual inhabitants. Characters' dialog changes based on what's going on around them and their disposition toward you. It's all so well conceived. Unfortunately, it doesn't work.

Here's a little exchange illustrating how I often feel while shooting the breeze with denizens of Cyrodiil (paraphrased for your entertainment):


Me: Hello!
Sour-looking lizard man: What do you want?
Me: I'm new in town. What's with that paranoid elf guy running around town all the time?
Sour-looking lizard man: I don't know you well enough to talk about that.
Me: [Here I tell jokes and boast about my prowess as an adventurer to get the lizard man to like me. Then...] So, about that paranoid elf guy?
Sour-looking lizard man: Oh him. I think he's following me. He looks at me strangely sometimes, and often carries on about a conspiracy. I try not to let it bother me, but he really creeps me out.
Me: Tell me about the town. Did I say I was new here?
Sour-looking lizard man: The town is ok, I guess. Hey, can you help me gather a rare root to throw into a magic potion?
Me: Uh, sure.
Sour-looking lizard man: Great! I think there are some roots near the trees outside town.
Me: Right. Roots near trees -- got it. I'll let you know when I find some. Good-bye.
Sour-looking lizard man: Leave me alone.


Open-ended dialog systems are a great idea. In theory they create a real sense of place and give the impression that you're experiencing a living, breathing world. The trouble is they involve too much filler and not enough coherent conversation. Real conversation is much too complex for games at the moment, so relationships between the player and non-player characters (NPCs) -- or even between NPCs -- get distilled into grossly simplified numerical values like "disposition" or "reputation."

For a class once I created a dynamic dialog system designed to address some of these issues by scoring relationships between characters using several attributes instead of just one (for example, trust, loyalty, friendliness, anxiety). The idea what that everything you said to or did for an NPC would affect those attributes. Over time you would actually build a "relationship" by spending time with NPCs, and the quality of that relationship would have a dramatic affect on what kind of information they would share.

Aside from the obvious practical issue of writing all that dialog, my grand system and others like it face a pretty serious challenge -- there's too much dialog.

The beauty of closed systems (where dialog is delivered through cut-scenes or one-shot statements) is that they can be more carefully crafted. Sure, they may sacrifice "realism," but let's face it, 90% of the words we utter are unbelievably mundane. Anyone reading this knows it's certainly true about me. A truly open-ended, flexible dialog system would be prohibitively expensive to create and populate with content.

I haven't given up on Oblivions NPCs yet. Right now I find their moodiness kind of endearing, but who knows how long that will last. I'm fickle like that.

No comments:

Post a Comment