Conversation systems for parser games

I’ve been playing through a large amount of XYZZY winners/nominees as well as IFComp winners and others. I’ve seen a lot of different conversation systems. The main systems seem to be:

  1. Menu-based
  2. Ask/tell about a hidden list of topics (sometimes shortened to ‘talk about’)
  3. Ask/tell about an list of all topics (or of most topics; this is common in TADS)
  4. A combination of the above (like Best of Three or Pytho’s mask)

I’ve been thinking for a long time about ways of making conversation more like the rest of a parser game. My initial idea was to take a pre-existing conversation game (like Glass) and represent it as a hero sailing a boat in an underground cavern, with different directions corresponding to possible topics; as you travelled, you’d hear the conversation play out around you.

I dropped that idea, but now I have an idea that I’m trying out that seems actually kind of fun. I’m modeling conversational topics as inventory objects which you ‘pick up’ in conversations or by examining things. Speech is handled by ‘giving’ topics to characters, which can release new topics. Some topics disappear over time, like responses to questions. Standard Inform responses actually work really well for this (if you don’t implement a response for a topic, it will say things like ‘Sally doesn’t seem interested in that’ if you try to talk about it).

I wanted to try this, because one of the key tropes in parser games is not knowing what items will be useful then, and feeling like you can try anything at any time.

I was scared to try and implement this, so I decided to make an Ectocomp toy game based on it, and it’s been surprisingly easy to code, as Inform is great at picking up things, giving them, listing them, changing what’s in your inventory, and performing actions based off of what items are where. It’s also very easy to integrate items and conversation, where showing items to characters provokes new topics. I’m about halfway done with my time, so it will be pretty small.

I was wondering if anyone else would be interested in trying this kind of conversational system, where you have an inventory of topics. Currently, my items appear in the inventory like this:

[code]>i
Items:
A pumpkin
Conversational options:
Greeting-“Hello! My name is Chris.”

And conversation works like this:

give greeting to woman

“Hello! My name is Chris!”

“Hi, Chris. My name’s Pat.”

[New topic: About Pat]

i
Items:
A pumpkin
Conversational options:
Greeting-“Hello! My name is Chris.”
About Pat-“So, what do you think about Pat?”[/code]

(Where here, you gain the ‘Pat topic’ to discuss with other characters. If you try discussing it with Pat, they give you a funny look).

I really like this idea. One snaggle is that you don’t want the player to have to constantly press ‘I’ mid-conversation. Ways around this:

-You could always have your inventory in a display window.
-You could list current inventory topics after you make a conversation action
– That could get cumbersome if you collect loads of topics so a more sophisticated version would be to display a handful of topics after any conversation action
— An additional accommodation would be to give the player the option of turning these prompts off.

  • Bite the bullet and just accept that the player can see quite a bit back in their trancript at any one time so shouldn’t have to spam ‘I’ after every conversation snippet.

This is more or less what Resonance (point and click adventure) uses. It works really well.

Resonance sounds cool; I’ll check it out.

Joey: I’m thinking of including a carry-all similar to ‘long term memory storage’, where you put topics you don’t need right now. Also, I have you notified of changes in your inventory mid-conversation. I like your ideas a lot!

The “topics as inventory” is an idea I’ve had for a while, and is very minimally prototyped in one of my current games. I’ve also thought of the character “equipping” a mood or affliction that would color the conversation as well.

Hanon, ‘equipping’ a mood sounds really cool.

… f—in[’] brilliant.

i’m in awe of this stroke of genius.

…isn’t anyone else going to bring up the notebook in Discworld Noir?

Fine, I will.

That looks remarkably like the notebook in Discworld Noir. :slight_smile: A growing list of topics (“notes”) which the PC, Lewton (very well voiced by Rob Brydon), can then ask anyone about.

And since they’re sort of inventory items, they could also be used with the world, scenery, objects, or with other notes, to gain new insight by cross-referencing information.

I think most people who’ve played Discworld Noir agree it’s one of the things that make the game memorable.

Chunky Blues did attempt something similar, too.

Personally, I don’t like seeing those topics under “inventory”. It mixes the abstract with the concrete, and I don’t think that’s a good idea unless the game plans to do something really fancy with that. But I’d love a separate command, maybe “t/topics”, for this.

“Giving” an NPC a conversation topic… I really dislike that. It smells of “I wanted to make a point-and-click, where you click the topic then the character, but I made IF instead”. It doesn’t really make much sense, I don’t think.

EDIT - Hey, I just remembered Laura Bow 2 did the same thing, but it was only as conversation topics. You couldn’t use the notes on the world around you.

I was thinking that as well! That was such a good mechanic.

Very good! That’s an elegant way of prompting people on new conversation topics without overwhelming the player with too much every turn.