Jump to content

  • Log In with Google      Sign In   
  • Create Account


'Best' technique to write multiple choice dialogue


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • This topic is locked This topic is locked
17 replies to this topic

#1 Daan013   Members   -  Reputation: 101

Like
0Likes
Like

Posted 21 February 2011 - 04:19 PM

Hello everyone, I think this is the right place of the forums to ask about my problem, if it is not, feel free to correct me.


The problem is that I can't come up with a clear way to write dialogue with multiple choices ('answers') for the player to choose.

For example, the classic Fallouts (1 and 2) gave multiple choices in dialogue, but if you write this all literally down, it will become a huge expanding 'tree' of choices and the 'answers' of the NPC to the PC regarding those choices, it will become so chaotic and hard to follow that there would be no use of writing it down in the first place.

Does anyone have a simple technique to write these all down in a clear way, or does anyone know how the developers of for example Fallout wrote these ( if they even wrote them before the actual stage of implementing them)?
Merry Christmas and a Happy New Year everyone!You can always contact me:E-mail = Daan415@gmail.comX-Fire = Daan415

Sponsor:

#2 Tom Sloper   Moderators   -  Reputation: 9070

Like
0Likes
Like

Posted 21 February 2011 - 04:54 PM

What I do is give each line of dialogue a label (a name and a number). Along with each line, you can list or show the possible places the game might have to jump to, by label.
A tree might be useful to have as well, if you can come up with a good way to show it. It's OK to make mini-trees, with connection labels to other mini-trees. I wouldn't try to make one huge tree out of it all.
-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find, but note that I do not give private advice.

#3 SiCrane   Moderators   -  Reputation: 9490

Like
0Likes
Like

Posted 21 February 2011 - 05:04 PM

There was one poster here (whose name I forget) who used the Neverwinter Nights toolset's dialog editor for his game. Bioware made the format of their dialog file public and he wrote an importer for that to his game's format.

#4 Leidolf   Members   -  Reputation: 100

Like
0Likes
Like

Posted 22 February 2011 - 10:37 AM

Initial Dialogue:

NPC: "Would you like to make a donation to the church?"

Player Choice:

1.) "Sure!"

2.) "Uh, not today..."


If player selects 1: "Thank you for your donation!"

If player selects 2: "Very well, but please keep us in mind."




Something like that?
You'd have to make a dialogue tree, but not a large one.
Tom said it best.

#5 Jack Mariani   Members   -  Reputation: 117

Like
0Likes
Like

Posted 02 March 2011 - 08:19 AM

Yup, NWN had a nice editor.
Currently, you can try also the editor of Dragon Age: Origin toolset (I know that the Witcher had one toolset too, but I hadn't tried it).

Otherwise you can create a tree using something like "USUAL ANSWER A" to unite the common dialogue lines.

In many rpg there's a ROOT and multple DIALOGUE LINES.

For example player can choose dialogue line A and continue until it finish. When he finish he go back to the root. Some dialogues had multiple level of roots.

If you want to try a software to elaborate a dialogue graph you can try xmind.
Perfection is only a limit to improvement - Fantasy Eydor

#6 Mr-X   Members   -  Reputation: 100

Like
0Likes
Like

Posted 02 March 2011 - 08:22 PM

Make an outline like this one:

http://www.flickr.co...N08/5493426146/

Each number being a option to pick and each letter being a response

#7 Moe   Crossbones+   -  Reputation: 1248

Like
0Likes
Like

Posted 03 March 2011 - 01:54 PM

Interestingly enough, I'm slowly piecing together my own dialog editor. I'm half writing it for fun and half hoping that I'll eventually use it in a Deus-Ex style game. Basically it is broken down into a few basic objects - Conditions, Dialog Nodes, Dialog Choices, and Conversation. A dialog node can have a precondition, some text that is displayed, and 0 or more dialog choices. A dialog choice links to another dialog node. A conversation is a set of dialog nodes. Everything is identified by a GUID, so it makes it fairly easy to jump to a particular dialog node, conversation, or even a dialog choice. It's saved as an XML file, and should (in theory) be easily parse-able.

I really should get around to finishing it...

#8 Kryzon   Prime Members   -  Reputation: 2683

Like
0Likes
Like

Posted 20 March 2011 - 07:41 PM

I think it's best if instead of a dialogue system you would use a more open script system that would include not just messages\user choices but also any sort of game\system events.

The RPGMaker software has a very clean and intuitive way to go about with this, where you have a list of actions; those actions can be messages (textboxes), user choices or game events (like changing a switch, opening a door, receiving an item etc.).

Here's a list of the possible commands available to RPGMaker event-scripts.

To build these scripts the user has a "wizard" interface where you add actions to a script.
It's a very friendly way to approach event-scripting with dialogues, choices and system actions. You can look at the workflow in this RPGMaker tutorial.
Fashioning your own system like this shouldn't be too hard, if you analyse the RPGMaker software carefully.

#9 teutonicus   Members   -  Reputation: 518

Like
0Likes
Like

Posted 21 March 2011 - 02:19 PM

Chat Mapper

It is cheap and good :) Support for complicated dialogue trees, scripts, export to XML etc.

#10 mazebot   Members   -  Reputation: 99

Like
-1Likes
Like

Posted 25 March 2011 - 02:44 AM

Finally found the topic I was after.
Iv searched for a bit for a program/software to write out multiple choich/path dialogue. Iv not played fallout - but what had in mind was what had Mass-Effect guys done to layout the dialog?

The game im trying to design will have a Zelda- Link to the past Graphic design. What Moe is making sounds like what im after in terms of just a simple editor to layout the text, and make sure it flows that way i image. If anyone knows of any software for this.

The code I have at the momnet I would want it to access simple text files which contain:
Condition
Script
Respons
Effect
GoTo

every thing optional excpet the Script bit. This saved in thousands of tiny text files, all named approprilty. Then i forgot about XML. Though off the top of my head not sure how to jump within text file(the xml file) in Java. as im design game for java?
So any direction about my fist question of software to layout my dialog?
Thanks

#11 Tom Sloper   Moderators   -  Reputation: 9070

Like
0Likes
Like

Posted 25 March 2011 - 01:31 PM

If anyone knows of any software for this.
So any direction about my fist question of software to layout my dialog?

Technical questions like this might get answers in one of the technical forums. And did none of the above links give you any good ideas?
-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find, but note that I do not give private advice.

#12 landlocked   Members   -  Reputation: 103

Like
0Likes
Like

Posted 19 May 2011 - 12:17 PM

This is a hurdle I've encountered as well. I don't want to hard code responses to NPC to save on overall time. However, I want responses to make sense and be tailored enough to sound genuine from whatever NPC you're talking to. I've thought about a generative process whereby you would select "how" you want to respond (kind, hateful, greedy, etc) and depending on the NPCs attributes (if they're in a good mood, generally of a grumpy disposition, suspicious of others, etc) would determine how they'd respond. But, I'm trying to make a generally open world. If your game is more script like what Tom suggested (labels or mini trees) sounds like a common sense way to go about it. If it weren't for the complexity in what I'm trying to accomplish I'm sure I'd settle for something very similar myself.
Always strive to be better than yourself.

#13 Ijayarider   Members   -  Reputation: 103

Like
0Likes
Like

Posted 19 May 2011 - 09:46 PM

Chat Mapper

It is cheap and good :) Support for complicated dialogue trees, scripts, export to XML etc.


Just want to add that I checked this out and it's quite good :) I'd recommend it.

#14 Elovoid   Members   -  Reputation: 108

Like
0Likes
Like

Posted 08 June 2011 - 09:40 AM

This is a hurdle I've encountered as well. I don't want to hard code responses to NPC to save on overall time. However, I want responses to make sense and be tailored enough to sound genuine from whatever NPC you're talking to. I've thought about a generative process whereby you would select "how" you want to respond (kind, hateful, greedy, etc) and depending on the NPCs attributes (if they're in a good mood, generally of a grumpy disposition, suspicious of others, etc) would determine how they'd respond. But, I'm trying to make a generally open world. If your game is more script like what Tom suggested (labels or mini trees) sounds like a common sense way to go about it. If it weren't for the complexity in what I'm trying to accomplish I'm sure I'd settle for something very similar myself.


This is quite an interesting take on a dialogue. SunAndShadow offered a well written definiton of possible dialgue options in this post.

I know that generic ai generated dialogues may easily end up repetitive and “heartless” so there are many things to consider.
I liked the idea of diplomacy in Vanguard (as it was planned / marketed before we actually saw what it turned out to be) and actually influencing the way an NPC reacts to me by being snappy, sarcastic or simply nice sounds like a good way to get more emersion in an rpg. Writing out the complete dialogue options for every possible combination for every NPC… I don’t think so. I’d imagine that with enough planning it should be possible to implement a system where not only what I say but as well how I say it affects the reaction and following dialogue.

Possible Requirements:
  • Attributes for wit, charisma and empathy
  • Skills for diplomacy, negotiations, discussion skills, haggling etc
  • Factions, politics, racism etc

1) Player A starts a dialogue with NPC B (default mood unless otherwise declared for the encounter)
2a) NPC B reacts based on personal preference towards the player, the player’s race and form of greeting as well as a set of NPC specific properties (being a merchant, guard, noble or whatever)
2b) NPC B checks if he is biased for/against the player (did they meet before, how did the confrontation go/end etc) and if not set he get’s an attitude towards the player based on the given situation [see 2a)]

3a) Player A can choose from a set of dialogue options based on the reply of the NPC as well as the role of the NPC (being a merchant, guard, Quest NPC or whatever)
3b) Additionally Player A can choose from a set of general dialogue options based on Quest status, special items in his inventory etc
3c) Player A can choose to set the “mood” to nice, angry, demanding, bullying or neutral (either for one reply or the rest of the dialogue)
4) NPC B reacts as in 2 based on mood, input from the player and global influence as well as his attitude towards Player A

Etc pp


Things to keep in mind:
  • Each node has to be general, a placeholder for the actual response.
  • There should be a set of default reactions for each node that the dialogue can draw from.
  • Each NPC can get a special set of reactions for each node/situation that overrides the default if set.
  • Special NPCs should have some basic functionality that the player can access without to much hassle (Quest NPCs, guards, merchants, shop and inn owners etc)
  • Certain NPCs should refuse to interact with a player unless he is able to “overcome” the negative attitude the NPC has against him (global and personal factions, gifts, a certain way to start the conversation, special knowledge to bait the npc into a dialogue.
  • It would be nearly impossible to write all the things a Player might say... if appropriate it would be better to generalize (give snappy retort, agree, mention [important fact from quest chain], laugh etc)
  • It would be necessary to be able to define both a custom root, custom nodes and custom settings/parameter for special NPCs that override the default to make sure he interacts with the player in the right way.
Another thing would be that if your task is to "retrieve" an item from NPC B and he "refuses to part from the item" the game should be able to offer an alternative ("pickpocket the item" or "retrieve it from his cold dead hands"... ) which -- if this includes more options than a) ask, b) steal or c) kill and more situations than "get Item XY" -- is a massive requirement for the game design and will possibly kill quite a budget to get it right.


It would be a massive task to build this moloch of a dialogue handler and it would make it “a little bit harder” to create a complete dialogue set for special NPCs but every new NPC would have a base functionality that could be expanded, adjusted etc. Sounds like a huge task but a possible way to create more interesting interactions with NPCs for socializers and with good planning, it might be possible to build a diplomacy system on top of the dialogue handler that enables NPCs to react to player behaviour, skills, attributes, race etc to decide if he is allowed to pass the gate or buy the magic potion etc.

Just my 2 cent

#15 artes   Members   -  Reputation: 102

Like
0Likes
Like

Posted 08 August 2011 - 03:31 PM

This is precisely what I'm working on right now for my dating rpg, which is almost completely dialogue oriented. It's the first time for me, but I've at least created a system that works. I did something similar to what Moe did, with a text file instead of XML, but I might change it to XML. I don't know what GUID means either.

Interestingly enough, I'm slowly piecing together my own dialog editor. I'm half writing it for fun and half hoping that I'll eventually use it in a Deus-Ex style game. Basically it is broken down into a few basic objects - Conditions, Dialog Nodes, Dialog Choices, and Conversation. A dialog node can have a precondition, some text that is displayed, and 0 or more dialog choices. A dialog choice links to another dialog node. A conversation is a set of dialog nodes. Everything is identified by a GUID, so it makes it fairly easy to jump to a particular dialog node, conversation, or even a dialog choice. It's saved as an XML file, and should (in theory) be easily parse-able.


The dialogue in itself is not so difficult to construct, but there will be a future problem for me when the dialogue also changes various other things in the game, like stats, what happens, and where characters go, if music should be played, and so on. I'm not sure how I will take care of the increasing complexity when more and more different kinds of effects comes from choices made. I will need to make my system more flexible.

In my stystem there are two different kinds of objects that I call topics (dialog nodes) and options (dialogue choices). A topic object can have a number of option objects, and a character can have a number of topic objects. When the player clicks on the character, the character chooses one of her topics depending on time, place, relationship and so on. If she runs out of topics she has a default topic, like "I'm bored" or "I'm really busy right now". The player can choose an option, which links to the next topic, and that can also have other repercussions like lowering the relationship variable.

#16 artes   Members   -  Reputation: 102

Like
0Likes
Like

Posted 09 August 2011 - 08:51 AM

Another difficulty that I don't know the solution to is if I want to have a dialogue with two NPC:s at the same time, with them also exchanging words with each other. I don't think I'll implement this in my game, but it would be cool. Has anyone else done something like this?

#17 Amrac   Members   -  Reputation: 95

Like
-2Likes
Like

Posted 17 October 2011 - 07:29 AM

Hi everybody,

I'm following the forums for quite a while, but haven't posted so far. But now that the project I'm currently working on as a designer is in Beta I would be really interested in your opinion. So why am I posting in this topic? Because our project - articy:draft - is also focused on making the writing of non-linear dialogs easier and more comfortable. It comes with a very flexible graph editor and provides a XML export.

So I'm pretty sure that it could be an interesting alternative for some of you. If you try the Beta you can send me a PM with some feedback if you like. I would love to know, if it fits your demands. :)

#18 Tom Sloper   Moderators   -  Reputation: 9070

Like
0Likes
Like

Posted 17 October 2011 - 08:23 PM

Ancient thread necro'd by a near-spam. Closed.
-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find, but note that I do not give private advice.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS