Hybrid interfaces: Texture; Contrition (Porpentine); Spondre (Jay Nabonne)

Lately we’ve been seeing more and more work that falls somewhere between parser-based IF and hypertext: in the past six weeks or so, I’ve run across two new games and a creation tool that push the boundaries in various directions.

Jim Munroe and Juhana Leinonen recently released Texture, a system designed especially to produce touch-based IF that will play well on mobile devices. Texture features the idea of applying verbs to passages of text:

Screen Shot 2014-12-16 at 11.55.07 AM

When a verb is used on text, it replaces that text with something new, or else moves forward to a new page, mimicking the change-or-advance link distinctions in many Twine games. (With Those We Love Alive actually makes this distinction obvious by coloring these links different colors.)

The pairing of verbs and nouns means that navigation is a bit less obvious than in most pure hypertext Twine pieces, allowing for puzzles. The back end is still extremely simple, though, so although it might appear to be a system that would compete with the parser, in practice there’s no way (yet) to build up an extensive world model. The verbs that are available may change from page to page, and the author is handcrafting each verb-phrase interaction.

To the best of my knowledge there aren’t any released pieces yet that use Texture, but I’ll be interested to see what comes of it.

Continue reading

Procedural Text Generation in IF

In the Missing Tools discussion some time ago, one of the things people mentioned wanting more of in IF was procedural text generation, which here is meant specifically as the ability to have the computer describe complex world model states or story events without having to hand-author every possible variation.

This is an area where there’s a lot to learn from work going on in academic research, but as far as I’m aware there’s relatively little communication. As I mentioned in my ICIDS writeup, James Ryan at UCSC and Dr. Boyang Li at Georgia Tech’s Entertainment Intelligence Lab are doing work on a) how to better represent a richly complicated world model and b) how to procedurally alter narrative features such as the tone of narration. One of the things we particularly don’t seem to do in hobbyist IF, perhaps for lack of resources, is experiment with large word databases such as WordNet or crowd-sourced work in particular areas like that used on Scheherazade.

Speaking for myself, I’ve also tended to stumble towards solutions in this space based on trial and error and the needs of my own projects, rather than having a strong grounding in the relevant academic work. Most of what we’ve needed — and most of what we’ve done — is pretty much work in the shallowest end of this pool.

And, of course, text generation for parser IF comes with special additional challenges, in that the player usually expects to be able to refer to any generated noun or noun phrase element; therefore if we generate a description of a thing as “blue”, the system also needs to remember how we described that object and accept the input “blue” to refer to it.

Here are the things I’m currently aware of. Unfortunately, I’m inevitably more aware of the internals of my own libraries and games than I am of other people’s work, so if I left out something cool that you did, please by all means say something in the comments: I am eager to know about it. In particular, there may be a lot I don’t know about under the hood in Kerkerkruip.

Continue reading

Oxford Tools Meetup

As promised, some highlights from today’s Oxford tools meetup:

Eric Eve took us through a demonstration of adv3lite, his slimmer library for TADS 3 for users who don’t want or don’t need all the features of adv3. It’s designed to be intentionally moderate in what it models, not intended to grow to encompass all possible features. Among the things he demo’d: adv3lite

  • does away with some high-end but perhaps less frequently needed features of the adv3 library such as postures, sections of a room, and complicated connectors between rooms
  • provides Inform-7-esque handling for scenes (albeit with a TADS syntax)
  • has a concept of regions and “sense regions”: this provides a way of doing sense passing that is a bit less fiddly than the one in the main adv3 library, in that information about a particular sense can be passed throughout a contiguous area
  • offers a more advanced conversation engine than adv3, including intelligent behavior about whether typed input should be directed to the parser or should be treated as conversation towards the NPC
  • handles six tenses and all persons/numbers for story narration
  • handles three-object commands, and commands with text input strings as one of those (e.g., “write ‘hello world’ on paper with blunt pencil”)
  • does not use the transcript function of adv3, but has an alternative way of collating reports for actions on related objects so that they can be printed together in an attractive way
  • can be used even without roughly half of its component modules for a VERY stripped-down library experience

Graham Nelson showed us features of the upcoming build of Inform, with the target release date of April 30, 2014. These include:

  • indexed text is no longer a different type from text, which means that anything that can be done with indexed text (the manipulation of regular expressions, etc.) can now be done with any text property in a game
  • floating point numbers are now handled natively in Inform
  • Inform now does global named constants, and has a sleeker way of defining global variables
  • Inform is able to put the story into various tenses and persons, so it is possible to change the story text output to, say, third person plural past tense, if you wish (and to change this during play); this was previously possible only with custom library message extensions
  • Inform now provides richer facilities for doing adaptive text in general so that extensions can also easily be written to change their tense and person
  • Inform has built-in algorithms for conjugating English verbs to help produce adaptive text smoothly
  • A new “responses” system provides a way to override any library message text or any message from a properly formatted extension, without having to replace the entire rules in which the text appears
  • The first groundwork has been done towards creating international versions of Inform, including some experiments with French verb formation; this does not constitute a total translation of Inform so far, but is necessary preparation with a view towards eventually translating the whole system
  • The supporting materials have been extensively revised, the index panel improved, and a full index for the documentation provided
  • There is now a panel in the IDE for Extensions, including an App Store-like system called the Public Library for downloading them from the Inform website. This panel allows the author to view which extensions are installed and which are in the library; to install or update extensions with a single click; and even to download the entire Inform extension collection at once, if that’s desired
  • The Mac IDE has been overhauled quite a bit, with Toby Nelson (brother of Graham) also working on it: the search box much improved, syntax coloring sped up so that typing an open bracket no longer produces a major stall, and various longstanding glitches removed

Afterwards, there was some discussion about the “what do you want in a tool” question of the last few days, and several people agreed that they felt there would have been more answers about commercial IF if the question had been differently framed.

We talked about the desirability of being able to publish IF to mobile device apps more easily, for which none of the parser systems currently have an easy solution. We also talked a bit about Inform potentially building choice-based games, and about the rise of such games in general.

Thanks to everyone who came, and especially our presenters. The next meetup will be April 8 in London, on dialogue and character modeling.

What people said about the Missing Tools (and some that aren’t missing at all)

A few days ago I asked people in several forums to tell me what IF tools they wished existed. Here is a collation of the major themes. (This misses out a handful of very specific requests about what specific existing systems should do — it’s more an attempt to put together some general patterns.) I also got some interesting feedback about tools that do exist but aren’t widely known or used, so I’ve written that up too.

Continue reading

The Missing Tools

This Sunday (March 30, 2:15 PM) the Oxford/London IF Meetup group is having a meetup with guest presentations by Graham Nelson (Inform) and Eric Eve (TADS 3’s adv3lite library), and general discussion about what kinds of tools and toolsets we’d like to see in interactive fiction.

In prep for that, I’d like to open this question more generally: what do you wish you had an IF tool to do? What are you longing to write if only you had the right toolset to do it?

Various Projects

Screen Shot 2013-10-20 at 6.24.07 PM

Microdot Reimagined is a parser IF game for sale from Potassium Frog. The starting premise is that your brain has been colonized (sort of) by a professor from the recently destroyed alternate-universe land of Microdot. He needs you to help him reimagine the place in order to bring it back into being, which means exploring a lot of spaces and solving some puzzles.

Stylistically, this is IF of the old school. Microdot Reimagined is executed in Inform 7 and playable with Glulx, and it’s got some nice tweaks, such as stylesheet improvements and cover art. In respect of gameplay, though, it retains the aesthetics of 90s or even 80s IF. There’s a short bit of narrative introduction, but the story such as it is does not seem overly pressing during at least the first part of the game. The map starts with lots and lots (and lots) of rooms accessible at the outset, and a variety of objects to collect from different rooms. I’ve played enough IF that I’m usually able to hold a layout of several dozen rooms in my head, especially if those rooms are introduced (as they usually are in modern IF) in clusters rather than all at once. So I almost never make maps any more. Microdot Reimagined, though, was big enough and thematically varied enough that as I wandered around all its opening space, I soon began to regret not taking notes.

The jokes are wacky-satirical — sort of Douglas Adams lite. Here’s a sample, which will probably give you a pretty good idea of whether the sense of humor matches yours:

>x magazine
It’s Celebrity ROFL Magazine! This is just so amazing. I cannot understand why anyone would not want to feature in this fabulous celebrity catalogue of doom. Let’s take a look at the epic stories in this week’s issue:

Lard-packing with the Basingstoke Twins – “Celebrity Twins Elsie and Vera Basingstoke go on a Lard-packing expedition to sun-drenched Spudthorpe!”

Sir Abacus Timmy’s society wedding – “Kneepad Magnate Sir Abacus Timmy weds his Social Media Advisor, Jennifer Twitterbook-Davies!”

Plus there’s a sixteen page photo spread on the Monks of Ecstatic Gloom and their new swimming pool. This is so awesome!

I confess I got stuck after about 60-80 minutes of play, which is one reason this isn’t a full-scale review; but as far as I saw, the puzzles were mostly of a get-X, use-X style, except that the items in question were widely spread all over the map, so this was still nontrivial.


Enrico Colombini — one of the early greats of Italian text adventures — has released a short book about how to create an ebook with puzzles, given that the ebook’s only state is the page number and puzzles often require tracking some variable state.

This is a very specific purpose, but the explanations are clear and detailed, and may be relevant to anyone who is planning such a project. Another approach, of course, might be to use inklewriter’s Kindle conversion software, but that’s only useful if you are using exactly the right platforms; Colombini’s advice applies more broadly. It is published in both English and Italian, and comes with a short sample of a puzzle — a wolf/goat/cabbage cross the river puzzle — executed in ebook form.


Screen Shot 2013-10-20 at 11.34.52 PM

Strip ‘Em All is an interactive comic strip puzzle, in which the player can reorder frames of the strip and sometimes alter the content of specific frames. Any change you make in one puzzle frame can have ramifications for the rest of the strip, as well. The puzzles ramp up in difficulty very quickly, and I found some of the later ones very difficult indeed. In several cases it’s not really obvious what order two panels need to follow because the dialogue really makes sense either way; in some, a complex series of panel changes and strip rearrangement is required.

This may sound reminiscent of Dan Benmergui’s Storyteller, but in practice it’s quite different: the text of speech bubbles is written out in advance, and the storylines are much more specific. Where Storyteller is backed by a generalized engine for working out the possible meanings of juxtaposed symbols, Strip ‘Em All is really about hand-rolled puzzles with one right answer.

That said, one of the interesting aspects of this puzzle is that it’s about exploring the interior space of the characters and the way they think as much as it’s about plot events and actions. Often one can hover over characters’ heads in order to see additional thought bubbles, which may be functionally hints about what is really going on. Sometimes a character changes states of consciousness, and all the panels change too as a result. So while I think it could have been better hinted, I found this fairly interesting.

One word of warning: the page includes quite a few ads.


Finally, a couple of interesting things to read: Jon Ingold gives a good interview in Haywire magazine on text gaming and in particular Sorcery!, and Liza Daly recommends some of her favorite interactive fiction from the last year.