What if you could take the idea of a combat system, and use it for your NPC conversation system?
We all know dialogue trees are a drab workaround to letting a game's main character partake in conversations with the game's make-believe world.
Aren't you sick of that? Can we try to find a way around that somehow? Isn't it worthwhile at least to experiment, see if there is indeed some better way?
Craig Stern has this to say about dialogue trees in his article:
...This emergent quality makes combat a tempting choice to form the backbone of a cRPG, since it offers a much higher ratio of entertaining possibilities relative to development time spent than a more static system (such as, say, dialogue trees) would.That was actually what led me to think about this whole idea in the first place.
If combat systems were designed to be so emergent (you can explore so many decisions and tactics) while only an economic amount of programming is required, why can't we try the same idea for conversations?
So how is it going to be? For starters, we can take this:
and turn it into this:
Its a very superficial take, but you get the idea, don't you?
When you choose "Attack", you see your character swing his sword and the enemy takes a hit. Then the enemy takes his/her turn.
When you choose "Insult", you perhaps would hear your character say a pre-recorded line of (insulting) dialogue, chosen partly in context and partly in random. And you'd see the expression on the other person's face, and see/hear his/her reaction.
I'm not proposing some sort of procedurally generated lines of dialogue. I certainly don't think our best technology so far can do it reliably.
What I'm thinking is scripts will still be made, its just that instead of choosing exact lines to say, the player "macromanages" the conversation.
Looking at that, its not such a radical idea, really. Many games experimented with this style before.
In Indigo Prophecy, instead of choosing specific lines of dialogue to say, you choose some topic, and your character automatically shifts the conversation to go there.
Same goes for Mass Effect to an extent.
Update: A whole list of other games with similar ideas by reddit include: Monkey Island's Insult Sword Fighting, Leisure Suit Larry, Deus Ex: Human Revolution.
But instead of choosing contextual topics at hand, what I want to see is a fleshed out system with rules akin to combat and everything that supports it: the importance of movement, targeting, stats, skills, perks and whatnot-- but for dialogue.
Skills and perks... all of that sounds overkill for a conversation system. But its worthwhile to study if some things can be translated here.
Interrogations in L.A. Noire comes very close to what I'm getting to.
Here was another impetus for me to jump-start the idea. Tonio Barmadosa has this to say about behavioral game design in this article:
Very interesting indeed. I can't help but draw an analogy with a totally different field, called Pickup Artistry. Pickup artists pick up hot babes in night clubs using methods from Behavioral Psychology. They push a girl's psychological buttons in order to create attraction, qualification, comfort and eventually seduction.We're getting somewhere here aren't we? "Picking up" can be thought of as a game. But one thing to note here is that you are not the player anymore, at least not purely. You also partake the role of umpire. You hand out the rewards to the player (i.e. the hot babe/guy) when you deem so. You make the player feel like s/he worked hard for something.
They use the exact same techniques, for example, being unpredictable and pushing and pulling all the time, which is equivalent to variable ratio reward / punishment.
This is, of course, for seduction, but I think we can work out how it plays for other goals.
Goals for why we "talk" to NPCs may include:
- To get useful information1
- To get useful feedback (as in suggestions, criticisms)
- To progress in the story, main storyline or otherwise
- For romance, as noted earlier
- To coerce, persuade, or fool them for your advantage (bribes, taunts)
: And this can even be while in a hostile environment. Black Widow's first scene in the recent Avengers movie, is where she fakes naïveté while actually collecting information from the enemy.
Let's see all of our tools at hand in a combat system.
In a combat system, the very first thing you want is a way to assess the enemy and the surroundings.
Practically, this means a health bar, maybe a grid to see how far they are, fog-of-war, etc.
In a conversation, maybe you can have a hostility/friendliness meter on your NPCs. Maybe even an irritability meter, or a boredom meter akin to The Sims.
Your high-level options then fall somewhere along these lines:
- Inspection: assess the enemy
- Aggression: extinguish the enemy (attack)
- Conservation: survive/outlive the enemy (heal/defend)
- Subversion: weaken the enemy from within (poison, slow, etc.)
- Augmentation: strengthen yourselves (buffs)
- Concession: surrender, truce, agreement, etc. (forfeit, load game, etc.)
Let's say that's our "victory condition".
For a goal of "find out why he's hiding", the enemy is not "he", it's his reluctance to say his reason for hiding.
These could be some examples of how it would pan out:
- Inspection: asking questions
- Aggression: pressuring, convincing the person
- Conservation: defending your argument
- Subversion: intimidating, lying
- Augmentation: make yourself sound credible
- Concession: bribery, bargaining with the person
I'm particularly interested in how spatial movement of combat can be translated to a conversation system. Perhaps that can represent the topic of conversation?
The same way attacking the rear of an enemy can deal critical damage, perhaps pushing the topic of conversation to something the person is uneasy with will make your persuasions "deal critical damage".
Even with having these commands and "movement" options, I think the end result of the player inputting such commands should still show two guys talking, complete with dialogue text, and prerecorded lines of dialogue if need be.
In this manner you could say in the end this is actually more complex than a simple dialogue tree system. It is, but imagine how this could change your game (I'm actually content with just text dialogue, but having audio dialogue will definitely make it harder).
If the player is losing, he'd usually just load a saved game, but what if he can bargain with his enemy?
What if the player can talk to a merchant to drop his guard or distract him?
It can open up more emergent possibilities.