Brian Crick

Tinselfly Update: Dialogue

I’ve started implementing a dialogue system for Tinselfly, based in large part on the keyword-based dialogue in Ultima V.

The basic idea is, when you engage an NPC in conversation, you’ll type in single words and, if the NPC you’re talking to recognizes your word, they’ll respond with a single sentence, or maybe two, of dialogue. It’s not really a tree; nor is it a text parser; it’s more just a list of stimuli and responses… though certain words could lead to short trees a couple levels deep. You’ll learn new keywords to try by paying attention to the exact words your conversation partner is using.

(You can see every scrap of dialogue for Ultima V at the Ultima Codex. Most characters… don’t have very much dialogue at all.)

Yeah, it may seem a bit weird and archaic, using mechanics from a game made in 1988, but I think it has potential.

* * *

Dialogue makes me nervous. I’m not, you know, a very talkative person. I only get like three quarters of the dialogue in movies. My understanding of dialogue and dialogue writing is kinda limited. But, I’ve ordered a book on dialogue writing for written stories, and my wife, awesome published author that she is, will be helping. So I’m feeling a bit more comfortable now.

I’ve had to take a break many times during this project to learn new technical skills that I have to have, to complete this project. Dialogue is no different. I don’t have the skills I need here, and I either need to learn them or find people who can help.

* * *

It may seem backwards, but now that I’m building this, I’m getting a clearer picture of what I want. So here are my goals, and how I think this system might work.

  • Conversations should be short. In addition to the shortness of the rapid-fire stimulus -> response structure, I’d like a mechanic where your character tires of conversation quickly; she’s not a very social person. So the more you talk, the more energy you lose.
  • The player must not be encouraged to exhaust all possible options during conversation; I want them to think about what is worth saying and what isn’t. This could also be solved by the conversation fatigue mechanic — and the emotional weighting thing below.
  • The player should be encouraged to internalize the idea that specific words and concepts are pretty important to the story. By making the player remember the keywords and manually type them in, I think I can do that here.
  • The player should develop a sense that some words carry emotional weight for their character. Certain words you hear should cause your character to gain a positive or negative status effect. Certain words you type — whether or not you press enter — will cause you to gain a status effect. And the same should go for the NPCs. You should learn that there are certain words you just shouldn’t say around certain people.
  • The player should feel that her character’s close friends are just easier to talk to than other people. I could have less of a conversation fatigue penalty with certain people. I could also have a mechanic where close friends can essentially read your mind — they can react to your typing words before you press Enter on them. Could get annoying if done wrong, but I think it’s worth exploring.
  • NPCs should be able to strike up conversations with your character, of their own volition. I’m not quite sure how this would work, unless they’re asking simple questions where it’s obvious what exact words to use for answers you might want to give.
  • If you hear two NPCs talking to each other, it should feel like the NPCs are using the same dialogue system you are. Which I think I can do by, well, using the same code, with NPCs picking sorta-random keywords to use on each other.

Copyright © 2017 Brian Crick.