Page 1 of 1

Long dialog trees

Posted: Tue Jan 09, 2018 10:00 am
by MaximB
Hello,
I wonder, how do you manage long and complicated dialog trees?
Which programs do you use and how do you keep track of the trees?
How do you later implant it in Renpy without being overwhelmed by the amount of options/trees?
Any suggestions?

Re: Long dialog trees

Posted: Tue Jan 09, 2018 10:29 am
by mikolajspy
When I was working on my first game, I used free software Twine to make an layout of the branching.
http://twinery.org/

And when comes to RenPy implementation, you can divide it in multiple files. And of course, make good use of labels (name it, so you can easily know later what was where)!

If each menu is complicated, it might be easier and cleaner to do something like:

Code: Select all

menu Menu1:
    "Option 1":
        jump Option1
    "Option 2:
        jump Option2
     #... and so on

label Option1:
    mc "I chose Option 1 !
    mc "From here, I can choose another ones...
    menu Menu2:
        "Option 1_2":
            mc "OK, thanks, but I have more questions..."
            jump Menu1
     # the rest of options and labels

Re: Long dialog trees

Posted: Wed Jan 10, 2018 2:58 am
by arty
When I started my first attempts at using Renpy, I ended up with insanely complicated dialogue. You can probably imagine that it took me about three miliseconds to get completely lost in my own code.

What you could do is:
1) Lay out the dialogue in a program like yED (it's a free graph software). If your project is big and complicated, you could consider getting a single user license for articy:draft. It's not free (about 70€ per year, although you can test it for free) but I was amazed by how much it helped with untangling complex branching dialogue/story.
2) Once you have your outline graphically laid out, use a code structure like mikolajspy suggested. Look at every branch of your dialogue and make a label for each of them, then just code them out one after another.

I also suggest using sublabels for this purpose. I like to split up my scenes into files and assign a label to each one, then use sublabels inside the file. It looks something like this:

File 1:

Code: Select all

label scene1:
    speaker "Choose one!"
    menu:
        "Option 1":
            jump .choice1
        "Option 2":
            jump .choice2
    label .choice1:
        speaker "Something!"
        jump .afterchoice
    label .choice2:
       speaker "Something else!"
    label .afterchoice:
        speaker "Moving on..."
    jump scene2
File 2:

Code: Select all

label scene2:
    speaker "Stuff happens..."
    label .choice1:
        speaker "You can now simply reuse choice1, choice2, and afterchoice."
    jump scene3
And so on.

That way you can re-use choice1 and choice2 etc as many times as you want inside your project.
Sorry if this was redundant info! Just noticed this and thought I'd point it out! I'm also not super experienced with Renpy so I might be talking out of my a.. here ...

Re: Long dialog trees

Posted: Wed Jan 10, 2018 4:26 am
by Lesleigh63
I use Freeplane to help map the branching options out prior to putting everything in Renpy.

Re: Long dialog trees

Posted: Thu Jan 11, 2018 12:05 pm
by papillon
I just write it in a text program, indenting as necessary. I think I have the right kind of brain to handle branching more easily than others do. I'm aware this isn't exactly helpful advice :D

On the other hand I do rely on printed calendars to help me track the advancement of parallel plotlines.

Re: Long dialog trees

Posted: Thu Jan 11, 2018 9:43 pm
by Katy133
I write the script in Word 2013 and use the Collapsible Header tool (I separate scenes--and sometimes, longer choice routes--under different headers). If I need to jump to a specific scene I'll use the Find Word hotkey (Ctrl+F) and type in the sentence or scene I want to reach.