11 March 2010

Polite banter

Dialogue systems in games (most particularly RPGs) have a long way to go before they could be called immersive or sensible. Often, you just aren't given the option of saying what you really want to say. A few (very few) games have broken through this in different sorts of ways. The most memorable for me, perhaps because it was the most spectacular leap from the standard conversation system, is Facade.

This was a game wherein you typed your responses. Not in the sense of Zork or those old Interactive Fiction games, because it is so much more than that. You could say whatever you wanted. At any time you wanted. For the most part, the game's protagonists react very realistically. In a way it is similar to the whole adventure and role playing game dialogue systems (like Mass Effect, Fallout, Monkey Island). In those games you are given a list of choices or responses. Some games even further this by allowing you to do actions within those responses (like intimidate, draw weapon, run, etc.). However it is normally a very short list of things to say. Facade is like this, except the responses are all hidden away from you. And there are hundreds of possible things to say and responses to those things. It's astounding. It feels like however you react to the game, it is understood by the characters. It makes them feel quite real.

I couldn't begin to do something close to Facade's interaction. It took them around 5 years to create a very short game (to play, that is - although there is a ton of replay value).

Instead, I've decided to do something that I feel has been missing from all these dialogue systems. Tone. Emotion. It's generally implied by what is written in the text, but text is sometimes difficult to read into. A response could be laden with sarcasm, or said lightly, or menacingly. It's difficult to tell just from the text itself. It often takes the user clicking on it to find out how the response is actually said. In Mass Effect, they have paragon(roughly equivalent to good)/neutral/renegade(negative or bad) types of responses.

Here's the sort of conversations you could currently have in Fallout 3 (courtesy of http://www.flickr.com/photos/beaty/3023926779/)

The Witcher has similar limitations. In fact, the Witcher, which prides itself on the greyness of it's moral choices often has binary responses to something that could easily have a myriad of ways to respond to. Even worse, in some games, certain responses have the exact same meaning or reaction from NPCs (non player characters, i.e. anyone who isn't you). What a cheap cop-out. If a choice is the same as another, just remove it. Don't pretend we have a choice. Unfortunately the world doesn't quite work in just those sorts of responses. There's a huge swirling mass of grey, a spectrum of grey choice.
Just look at all that grey. So much choice. Do you see? So much grey is available, I even had to limit my screenshot of morality to grey codes #A3A3A3 through #383838.

 I want to be able to have a veritable list of choices. That's for starters. I'm going to try think of as many useful responses as possible to a given situation, question, sentence, whatever. That's not really anything new, however. What I want to do is explicitly include tone within each response. A phrase can easily go multiple ways. So the way it would be to have a basic version of responses listed. You pick one and then apply a tone to it. 

For example:
Phrase: Where is the control room?
Applied tone: inquisitive Do you know where the control room is?
Applied tone: angry Where the hell is the control room?
Applied tone: Concise or stern Control room?
Applied tone: irritated Look, just tell me where the control room is.

or:
Phrase: I have a gun.
Applied tone: nervous I...um... I have a gun, yeah, um...ha
Applied tone: serious I have a gun, I know what I'm doing.
Applied tone: threatening Watch yourself or I might have to shoot you.

I will probably have to limit the number of tones that can be applied to one. But it might be interesting to have an amount of tone that can be applied. It would be interesting to see the difference between a slight amount of anger (similar to the irritated response above) vs a lot of anger (like the angry response). This should be a fluid or fuzzy amount. Too much anger and you freak somebody out. Depending on their personality, they could cower away from you, shout back, lash out at you, run away, whatever.

Of course, this isn't really all that revolutionary. In fact it's just a nifty way of hiding a whole lot of choices away. Instead of reading through a list of 40 possible dialogue options, you get 5. Then you just apply tone to those. Using this approach makes it easier to quickly pick the option you're looking for. The tones you can apply are pre-set per response. I'll be trying to include as many tones that make sense.

As a single written sentence can have so many meanings, this gives a clear indication to the player what the response actually means. No more picking an option meant to berate an NPC and having them smile blithely as though it were praise. You can specifically state if what you are saying is sarcastic or serious.

It would be interesting to have volume (whisper, shout, normal) attached to this, but would become unwieldy and silly and too often ignored. I think volume can be implied by certain tones. So getting really angry at somebody could mean shouting, which would attract attention to you from further away. I won't bother with this, though - it's superfluous for this game.

The dialogue tree could look something like this. The black blocks with white arrows in just return you to the previous (top) list.


Completely off track rambling to follow:

A long while back I was discussing how to have a really procedural dialogue system. The start of that was based on symbols. Symbols meant different things to different creatures. Food could mean "tree" or "rabbit, voles, and insects". The game was about interacting with tribes of creatures in any way you felt. I'm sad we haven't continued with that game because there was so much to it that would be awesomely fun to play. The story was equally procedural, based in a sense, on the insanity of the main character rationalising what you did.

You could, for example walk through a desert for ages, dying of thirst, while the narration said things like: "But he knew what he was looking for was just over the next rise", "His tiredness is nothing to the import of the journey" and so on. If you just ran up and killed an innocent villager, the game would say something like, "He saw the gleam in the villager's eyes. Acting swiftly to deter the murderous wretch, he stabbed out with his rapier". Everything in the game's view was correct. The path you chose was the exact path you needed to choose. It would even possibly go so far as to show why you were right. Perhaps the villager would have hidden weapons on them, caked in blood and around the corner you would see bodies of all their previous victims.

You could unite tribes or convince them to wage wars on each other depending on how much you'd manipulate them into trusting you. You could, for example, make them trust you by helping them defeat an enemy that you'd encouraged to attack them. And all of it would be rationalised.

The magic system worked much like visual programming language, and in fact the first prototype of this my friend did is part of what inspired my own customized visual language for the level editor.

I'd still be keen to do something like this one day.

5 comments:

  1. Hey,

    Just read up on Facade. Looks like an amazing system. Also, an amazing amount of work for such a short game. It does leads one to question whether or not a full length game with the same system of interaction would even be possible given the inherently exponential effect of the players actions.

    ReplyDelete
  2. That guy in the chicken suit who does almost anything worked through continuous development - they got people to try it out, and any phrase that wasn't in the database, they'd add. http://www.bk.com/en/us/campaigns/subservient-chicken.html

    Whoever's in the chicken suit only does one action then returns to the default state. There is no follow up or branching choice from there, nothing is affected by your previous actions.

    Facade gets around the branching options by keeping linearity as much as possible - you can't really adjust the story much.

    ReplyDelete
  3. I haven't played Facade, it sounds awesome, though a ridiculous amount of work to develop.

    Personally I don't like dialogue, period. I used to have the patience for it, I really enjoyed Fallout2's dialogue and Starcontrol2's. I played a bit of Oblivion once, since then I don't think I've played any game that has dialogue. (although I may have played Psychonauts since then, which had good dialogue so that was okay).

    Of course dialogue can help create an engrossing and consistent world. Part of my problem with dialogue is that I very rarely see my attitudes represented. It always feels like the game forcing politeness on my character. This makes sense in a stealth game, but it is really lame in any game where feeling powerful is the main gameplay experience (where I really want the responses available to go along the lines of "Give me all your stuff or die"). If the game is meant to enforce civility I want the gameplay to enforce it, not the dialogue.

    Of course Sideline, from what I understand, is all about enforcing civility (because as a geriatric there genuinely is a lot to fear), but I still wouldn't want to have my suicidal anger censored, so making IRRITATED or CONCISE options (and maybe even an ENRAGED WITH ELDERLY FURY option) really appeals to me.

    A game that had dialogue that did really impress me recently was "Digital: A Love Story". Although it didn't exactly have dialogue as you never got to see what you were saying, just the responses. Personally I think the tone of voice is more important than the content of what the player is saying. And removing the content of the player's dialogue (like in Digital) feels freer even though it is exactly as prescriptive.

    In almost every game I've played that has dialogue each NPC has only one purpose at any point in the game. Ie. One piece of information that the player needs. It makes sense to me just to have a "Question" button and a "Threat" button. That's really all game dialogue boils down to.

    Obviously some games go further than just "Question" and "Threat", (although some games don't even have the "Threat" part, like Torchlight or Diablo, and this works fine), and sometimes having many options works well (Facade sounds impressive and there is potential for really exciting experiments in this area, like a Scribblenauts for dialogue). But in most games that have dialogue the dialogue amounts to time not spent killing or amassing power, and therefore is time spent unenjoyably.

    ReplyDelete
  4. Oooh Oooh. There was a game that used symbols for dialogue once. I remember playing a bit of it on the SNES back in the day.

    Unfortunately it was pretty terrible, though kind of facinating. The player would travel from star to star speaking to aliens for some reason. Kind of Starcontrol like I think. It made talking itself a puzzle... certainly makes sense to be speaking to aliens or foreigners because otherwise players might wonder why the symbols are better than English (arguments for Elegance of Design only go so far with users I have found)

    ReplyDelete
  5. "Digital: A Love Story" is also one of my favourite ways dialogue is handled. It's much more immmersive when you're almost completely free to craft your own responses.

    The threat/query approach has worked in other games but I always feel it's a bit limiting particularly as I'd like to show just how much information you can get out of somebody with differing responses. Also, it's fun to make the NPCs lie to you if you annoy them enough (or if they are just feeling malicious, or out to save themselves).

    ReplyDelete