October 10, 2010

Say what you want: when trees just aren’t enough


Writing nonlinear RPG dialog is a challenge. It is no simple matter to provide conversation options that simultaneously feel satisfying, are diverse enough to let the player role play, and which still fit well within the dialog tree itself.

There are technical limitations to consider. For any given branch, you can only fit so many reply options onto the screen at once. And at least one of those will usually be taken up by an “exit ramp” (a reply that ends the conversation)–as a principle of good design, one ought to include exit ramps at frequent intervals so the player is never trapped in a conversation that she (or the character she is playing) doesn’t want to continue having.

Because of these limitations, some situations simply aren’t well suited to the dialog tree format: for instance, answering a riddle or guessing a password. Passwords and riddles are good to include in an RPG because they allow for different types of puzzles. A locked door in an RPG might be opened by bashing it in, finding the key, convincing someone else to open it, and so on. But requiring the solution to a riddle in order to pass adds another layer to the proceedings. The player has to collect clues and make deductions in order to arrive at a solution. It’s a different type of challenge.

For this to work, the player needs to have an especially wide array of possible replies. The dialog tree format, unfortunately, is not well-suited to such an endeavor.


Consider a password scenario. In Final Fantasy 6, a guess-the-password challenge is handled via a dialog tree, with awkward results. The player is presented with three possible passwords to select from. But this isn’t enough options to make a challenging puzzle. The player could very easily find the answer through trial and error; more easily, in fact, than she could by seeking out and uncovering clues.

It’s possible that this could have been fixed by adding a “[More]” reply option to cycle through a wider range of potential answers, but populating a dialog tree with enough branches of dummy answers to dissuade random guessing is an onerous (and frankly, boring) task for a developer to undertake. It also puts the player in the unenviable position of having to click through an extended menu just to find the right answer once she’s figured it out. There has to be a better way.

And of course, there is. The solution is old–older, in fact, than dialog trees. I’m talking about text input and parsing. The player enters text, then the game checks it against the correct answer. One thing happens if the player provides the correct answer–another thing happens if they don’t. This isn’t all that difficult to add to a game, and it can make a huge difference when used judiciously.

Here is an example from the latest build of Telepath RPG: Servants of God. You can ask Griffin, the leader of the Resistance, what he thinks about some of the other characters in the group. Rather than putting together branch after branch of dialog tree options to account for all the characters Griffin can come to know, then culling them based on whether Griffin has had contact with those characters in the game yet, why not just let the player type in the names herself?

This was remarkably easy to add to the game, and it has saved me a lot of time. Even better, however, is the fact that this method gives a sense of freedom and mystery to the proceedings. The player is confronted with a situation where she won’t know all the possible options that can produce interesting results. So she is encouraged to explore. And ultimately, that freedom to explore is what a good RPG is all about.

  • Im2smar4u

    This a great idea! Does this mean that you can ask about more people?

  • Metrux

    I guess and wnat more people, another thing, yesterday i re-played the game more one time,and in the part to save our parents, there was another member name in the group, wich i couldnt see or use, please, whos he?

  • Zackirus

    Oh goodie, I can see where this is going…

  • Hah! You do this right after I totally wussed out this weekend over including exactly the same thing. In fact, I did it… the programming was easy. It was designing around it *properly* that caused me to keep debating it and eventually opting out of including it. For NOW.

  • Is there some form of journal/codex?

    I believe one of the main strengths of the dialogue tree is that the player doesn't have to break out of the conversation to recall the name of the Seventh High Emperor of Telaron's handmaiden in order to advance.

  • Duskling

    Wow… this is… something. 🙂 Great job!

  • CraigStern

    Great minds think alike, right?

  • CraigStern

    There aren't any in-game trivia challenges in TSOG, so far as I am aware.

  • Im2smart4u

    I played the part where you can type in a name that Giffin will give you info about and it turned out really well. Instead of pressing the “someone else” button over and over, you type the name and go straight to that person's info. I also like how it opens up the ability to ask about more people like Baz, D'Kah, and Cygnus.

  • Bugfartboy

    I like it. I havn't gotten around to looking at it yet, but you get the idea. I like the concept.

  • Pingback: Telepath RPG: Servants of God Update()

  • Flux

    Its a pretty good idea, but not without its flaws.

    You'll have to make sure any time you display a value the player will need to be entered later is spelled correctly, and that the value in code that's compared against the player's input is as well. And yes, I'm quite sure games have screwed this up before.

    Also, any values that can be entered by the player should be easy to remember and spell. No one wants to have to figure out the exact spelling of something like Ghuj'anq'Ulak, or even some normal English words that are often and/or easily misspelled. Somewhat unusual and/or alien names (like Leia or Samwise) may also lead to problems.

    Final Fantasy VI also deserves somewhat of a pass, as it was originally a console game. Text input is awkward without a keyboard. Entering a 7-10 character password using the console's standard text input method probably would have been about as painful as moving through several 'More' options.

  • Im2smart4u

    I worried about spelling too, but the names are relatively short, so it wasn't overly difficult to spell them. Although, it would be nice if you type “Darim” and Griffin knows that you mean “Darime”. Maybe type “Grifin” and he knows you mean “Griffin”.

  • Abahaty

    this is a great idea. i dont know how you do it but every problem i've ever had with gaming you remove. it's truly incredible. never give up!

  • FuzzyDuck

    Reminds me of the keyword system in Wizardry 8 (possible the previous ones too but i didnt play those) which made for a very nice way to find out stuff from various rumours etc & items you'd found around the place, but led to rather disjointed dialogue sometimes while you were basically just fishing for info on anything & everything. Combined with a good dialogue tree system though.. very nice 🙂

  • Devon

    It's too bad text entry was abandoned in favor of ease of use in the last 10 (20?) years. I think a good compromise would be to add some of the predictive text enhancements that have been used in text messaging. This might not work great for riddles, but for things like the character names example you mentioned it would be a great usability feature, and account for spelling problems, and shouldn't be too hard to implement given the limited number of key words in a game.

  • That can be a really nice system.

    But here's a bit of advice from someone who used to hang with the text adventure community: Open ended options like this will go from awesome to lame the moment someone types in something that should make sense, and it doesn't because you didn't anticipate that choice. You'll need at least a line of dialogue for every named NPC, up to and including NPCs that never show up in the game, but who are referenced by other NPCs. And depending on the grammar of how you set it up, you'll need a line of dialogue for places and other things with proper names.

  • Duskling

    Must’ve made the game a heckofalot bigger, now that I think about it.

  • Pingback: Why categorize jRPGs and wRPGs? @ IndieRPGs.com()