[I7 extension] Simple Chat version 4 - beta

Back in November, Mark Tilford asked me to take over maintaining the Simple Chat extension. Since then I more or less forgot that the extension had become incompatible with current Inform 7 releases, and I failed to do any maintaining. Until today! I took Mark’s Version 3 (which was compatible with the newer Inform 7 releases, but was never released to the Inform 7 website), and added some changes of my own.The result is Version 4 beta.

Note that code written for Version 2 is not necessarily compatible with Version 3, and code written for Version 3 is not necessarily compatible with Version 4. Unless you have been messing with the inner working of the extension, however, the changes you need to make are probably quite trivial. Most importantly, version 3 changed “active” to “sc-active”; version 4 changed activatedness from a relation to a value of chat nodes and added “sc-inactive”, “sc-once” and “sc-shown-once”; and version 4 got rid of the use options handling whether or not the player can escape from the conversation by typing “0”. (Earlier incarnations had both use options and phrases to handle this, which interacted in a complicated way. We now only have phrases by which the author can turn the showing of “0” on and off. For most games, a single “When play begins: …” line will be enough.)

Change log for version 4:

  • Code cleanup.
  • Use options were removed. (They led to a confusing double functionality.)
  • Implemented activatedness as a property of chat nodes, rather than as a relation between chat nodes and property values. Added sc-inactive, sc-once and sc-shown-once for easier control of when chat nodes are shown.
  • Added a ‘parser message’ to the routine which asks for a number: some players did not see that the command prompt had changed, or did not understand what it meant.
  • Rewritten the documentation.
  • Reworked and replaced the example games.
  • Increased the maximum number of nodes in a single menu from 9 to 20.
  • A number of changes to the internal workings of the extension.
  • Easier internationalisation.

The sc-once and sc-shown-once values now make it easier to write chat nodes that can be chosen only once, or that will be a possible choice only once, without having to deactivate them by hand.

If you are happily using version 3 or a hacked version 2, and are unwilling to change to a potentially incompatible newer version, I would suggest that you do implement the ‘parser message’. (You need to copy the I6-inclusion of Version 4 and replace the I6-inclusion of your own version with it.) I know of at least one IF Comp 2010 judge who thought the game had crashed when it stopped accepting normal input, and showing a helpful error message in such circumstances seems like a good idea.

I’ll upload the extension to the Inform 7 website in a few days (at which point it will not longer be beta), but anyone willing to check it out in the meantime is very welcome to do so.

I also would be delighted to know whether I was right in translating “or 0 to say nothing” to “oder 0 um nichts zu sagen” and “ou 0 pour ne rien dire”.

After an entry of 0, an empty line would be nice. Here’s the output from the first example:

Sounds like a good idea; I’ll do so.

quite late to write this, but thank you so much for updating this extension and taking care of it, I’ve several games which relies on it, and I couldn’t easily compile them with the latest Inform7.
Thank you also for handling the various languages (German, French).

Which games of yours use Simple Chat? The only game using it that I remember is Cry Wolf.

at least those ones (all in French):

on some of them, it’s only for a quick menu requesting a choice, but on “Les heures du vent” (ifdb.tads.org/viewgame?id=ykwpwo9rx51a12pr ), it’s heavily used for all the talks.

I’m glad it’s useful to you!