Best currently supported menu-based conversation tool

Hello, hello. I’ve noticed a bunch of recent games, like Zozzled, Vampire Ltd. and Rope of Chalk, which all use a similar menu-based conversation system where conversations are conducted via a menu and you pick a response with a number. These are all Inform 7 games, so I figured that it was likely that there was a common extension to do this, but after searching around, I couldn’t find one.

Well, let me amend that - I couldn’t find one that was hosted and maintained by the author.

Zozzled and Rope of Chalk appear to be closed-source, but the author of Vampire Ltd. helpfully included the source code in the submission, which leads to a thread (Michael Martin's Quip Based Conversations - #2 by matt_weiner) where somebody has edited and re-uploaded Michael Martin’s Quip-Based Conversation and Reactable Quips. I gather the original, and possibly Michael himself, has dropped off the internet at some point. This other thread (Menu-based conversation extension? - #2 by tayruh) recommends a different but also no longer supported extension, Hybrid Choices. Neither of these are currently being distributed by their authors and neither of them are in the extension library.

Also I saw in the documentation for Threaded Conversation that you might be able to paste a menu on top of it, but then on the discussion thread (Threaded Conversation by Chris Conley - #6 by Ruber_Eaglenest) somebody asks how to do it and the answer is basically write a custom integration, at which point I might just try rolling my own.

So, couple of questions. First, how can I tell how these extensions are licensed, if at all? I note that all currently available extensions via the license library are said to be under CC 4.0, but the individual .i7x files don’t for Michael Martin’s don’t have any licensing terms, which in a practical sense probably is under “nobody cares and Michael Martin’s almost certainly not gonna break down your door 'cuz you used an extension he wrote once and then dropped” but, still.

Second, do people usually use an extension for menu-based conversation (either of the above, passed down through the grapevine, or one I missed), or is it common to roll your own? If so are there any examples that I could follow? Especially, does anybody have an example of pasting a menu on top of Threaded Conversation, because that seems cool and it not being a random download off the forums appeals to me. Though I’m definitely not above using random downloads off the forums if that’s just How Things Be Done.

I don’t understand that phrase.

I can pass you the source code for Tuuli, who use Threaded Conversation.


Not CC, CC-BY. The distinction is important.

All extensions that have ever appeared in the Public Library are guaranteed to be under CC-BY of some version (most likely 3.0, but 4.0 is reasonably compatible anyway).

Extensions published elsewhere intended for general use (such as in the github) can be reasonably assumed to also be CC-BY by default unless explicitly otherwise specified in their file. (This is the “default” license for I7 extensions, as specified in the manual.)

Extensions specific to a particular story are more murky and are generally under whatever license the story itself was published as. If that’s not specified, then you generally have to assume an “all rights reserved” copyright until the author explicitly says differently.

There’s no need to get “a random download off the forums”. Just go to the Github and get everything (follow the instructions at the bottom). You now have all the currently known and public 6M62-compatible extensions, including most of the ones you mentioned above.

Standard “I’m not a lawyer” disclaimers apply but IMHO that’s not a reasonable assumption. The licensing of the official extension library isn’t enough to imply the licensing of all extensions published everywhere else. It’s reasonable to assume that you can use public extensions that don’t have licensing information in hobbyist freeware games without problems, but personally I wouldn’t use them in commercial games without asking the author for permission.

Anyway, in this case the Michael Martin extensions were originally published in the old extension collection so they’re explicitly licensed CC-BY.

Oh, that was just a way of saying building a menu on top of Threaded Conversation, as it suggests in this line in the documentation: “Threaded Conversation supports this kind of conversation interface, though there are also ways to alter its output to produce something closer to bare ASK/TELL or a menu system.”

Oh! Sweet, thanks. I had assumed that the extensions on the GitHub would line up with the hosted in the Extensions Library ( since they both appear to be run by the same group. What’s the difference between inclusion in the GitHub and inclusion in the Extensions Library site? Or, are they meant to be equivalent and have drifted out of sync somehow?

Originally the github was for more experimental extensions not yet intended for general use, while the library was more like the Public Library with curated extensions. Over time the latter fell into disuse and the former gained more “final” extensions, so at least for now the github is the place to get “everything”.

Or at least that’s how I understand it, I wasn’t around for all of its history.

Oooook, I think I understand.

I used Include Quip-Based Conversation by Michael Martin.

That inside uses Threaded Conversation.

Take a look at Tuuli at itchio, if you like how the menu based conversation works, then you can use Quip-Based Conversation.

Here’s my understanding:

The official public library (integrated with the Inform IDE) was for extensions that the authors formally submitted for public use, with the understanding that they were “donating their work to the community on the basis of the broadest form of Creative Commons license.” Public library extensions had to follow certain rules so that people could work with them more easily.

The github repo was more informal. It was originally for experimental/in-progress extensions, or for collaborating to revise public library extensions that needed updates.

The site came later than both of the above, and was, I think, going to try to track all of the extensions (public library extensions and experimental ones). But it’s not up to date, and its maintainer has talked about taking the site down to avoid confusion.

More recently, the polished extensions that were formerly in public library got added to github. So you can now use github to find pretty much everything. But there’s no obvious way to tell which extensions are polished, former-public-library extensions ready for public use, and which are not.

I know Zozzled uses the extension “Hybrid Choices” by Andrew Freyr. I uploaded the most recent version here because the latest was on the I7 extensions library available from the website which hasn’t been available for a while.

Thanks for all responses, folks.

I will say that the maintainer of the extensions site is pretty right that about the confusion, in that I got pretty confused. It’s a pity if keeping it up to date is impractical, the tags are really helpful!

Ah! Yes, between Vampire Ltd. and Tuuli I I think I’ll try using Quip-Based Conversation, thanks.

Thanks! Between Quip-Based Conversation and Hybrid Choices, it seems like Quip-Based Conversation is a lot more bounded, so I’ll give that a try first. Appreciate the link, though.

1 Like

Hybrid Choices might be more than you need but it’s mind-bogglingly cool in that you can switch at will between parser interaction and choice page text and menus that can interact with and be affected by the world model and I7 rulebooks. I had a great time with it in Fair using I7’s text randomization with the choices and choice-page text.