Dialogues visualization/management

Users who are viewing this thread

Is there any tool that can help, in any way, to manage the dialogue organization? How do you guys keep up with the increase in dialogues any decent mod has experienced?
 
Keeping track of dialogs is easy if you use keywords in the dialog tags and/or in comments. You may also consider breaking up the dialog file into several files if that helps. Tools are awkward.
 
I quote here from the other topic, as it is more appropriate I guess ^^

Lumos said:
koteko, you're better off relying on your memory and getting really damn well used to working with the dialogues. Besides, it'll help you out in the long run. :razz:

Sure I do: my code is pretty well commented and the dialog branches packed together and "tagged" with the depth of the current "node" in the tree, so I can easily move around without problems. I am a bit compulsive about having a seamless and tidy code, but I'm too lazy to cut&paste the original dialogues while reformatting them.

And however is not a good way for the maintance of code on the long term. For example I do something like this:

Code:
# Root: player option from "pre_talk"
[
    anyone|plyr,

    "option_talk",

    [],

    "Do you like me?",

    "ask_if_like_me",
],

# A: first possible answer, it doesn't branch 
[
    anyone,

    "ask_if_like_me",

    [
        # conditions check for this option
    ],

    "Yep a lot. Let's get married.",

    "pre_talk",

    [],
],

# B: second possible answer, it goes deeper and requires the player to choose something
[
    anyone,

    "ask_if_like_me",

    [
        # conditions check
    ],

    "Nope..and do you like me?",

    "ask_if_you_like",

    [],
],

# BA: first player option for branch B
[
    anyone|plyr,

    "ask_if_you_like",

    [
        # conditions check
    ],

    "Mmh not really. We're cool.",

    "pre_talk",

    [],
],

# BB: second player option for branch B
[
    anyone|plyr,

    "ask_if_you_like",

    [
        # conditions check
    ],

    "Yes! You broke my heart.",

    "pre_talk",

    [],
],

[.....]

Seems pretty clean, just an organised way of writing comments, nothing strange. But what if I add/delete a new branch or options on the same branch? I would have to update also the "letter order", and that is annoying -> I'm sure I'd forget often. A visual tool would load the dialogue tree at startup, organise it appropriately, and let you focus on having decent content.

So, it seems weird to me nobody has developed some small utility that let's you graphically compone, watch and modify dialogues and transforms them into tuples and lists..I'll probably end up doing it myself, sooner or later :razz: but considering how slowly I am developing my own mod, well..

But anyway, thanks for the support people :razz:
 
Unnecessary OCD, seen this a number of times. You'll end up endlessly reformatting the code and making superfluous tools instead of doing what you set out to do in the first place. This will really happen, so keep your eyes on the ball if you want to do anything.
Also, too much spacing, pack those lines more tightly to be able to see enough in one screen. Native code does this well. Just get used to it.
 
This is pretty... spacious, but if it works for you... I'd recommend the same as Vader though, keep them tight together and you'll be able to handle a lot more code on the same screen than you would otherwise. I, for an example, have got my dialogues set up like this:
vA7tMvc.png
Yeah, they're in the middle of a major re-write, so I'm sorry for the missing reply token and the screwed up spacing in the second "paragraph", but you get the idea. (Well, I'm not sure that this is optimal, but I find it really nice and comfortable to work with - one line of speech is generally one line of code, and it feels easy to navigate.) :smile:
 
Uhm I see. I guess I'll give it a try, or maybe it'll come naturally after a few more dialogues, if I find my way not compact enough. For now, I feel much more comfortable like this :razz:
 
The way I try to format my dialogs is to keep the dialog text easily readable, because that's what reminds you of the nature of the dialog.
For example, like this:
[someone, "dialogtag", [
      condition block code
      ],
  "The learning curve is too steep, that's why I get frustrated and distracted.", "nextdialog",  [
      execution block code
      ]],

Or with simpler dialogs:
[someone, "dialogtag", [simple check or nothing],
  "The learning curve is too steep, that's why I get frustrated and distracted.", "nextdialog",  []],
 
Computica said:
Do you all know how to start a dialog conversation that consist of more than 2 characters?
Yes, we all do. :smile:
You alternate between anyone, anyone|plyr and anyone|pther(trp_third_wheel). You can use someone particular instead of "anyone".
 
produno said:
I'm pretty sure that can't be used on the world map though.
The dialogs starting on the world map are actually run in a conversation scene, same as others. As long as you have all the conversation partners spawned in that scene, it works the same.
 
produno said:
I'm pretty sure that can't be used on the world map though.
Dialogs always on a scene. Even event triggered dialog (from world map, like a companion with us approaching his/her home town) will set up a scene first. Just spawn the 3rd character too on setting up the scene.
 
Back
Top Bottom