Inform 7 is used in a number of contexts that may be slightly surprising to its text adventure fans: in education, in prototyping game systems for commercial games, and lately even for machine learning research.
TextWorld: A Learning Environment for Text-Based Games documents how the researchers from Tilburg University, McGill University, and Microsoft Research built text adventure worlds with Inform 7 as part of an experiment in reinforcement learning.
Reinforcement learning is a machine learning strategy in which the ML agent gives inputs to a system (which might be a game that you’re training it to play well) and receives back a score on whether the input caused good or bad results. This score is the “reinforcement” part of the loop. Based on the cumulative scoring, the system readjusts its approach. Over many attempts to play the same game, the agent is trained to play better and better: it develops a policy, a mapping between current state and the action it should perform next.
With reinforcement learning, beacuse you’re relying on the game (or other system) to provide the training feedback dynamically, you don’t need to start your machine learning process with a big stack of pre-labeled data, and you don’t need a human being to understand the system before beginning to train. Reinforcement learning has been used to good effect in training computer agents to play Atari 2600 games.
Using this method with text adventures is dramatically more challenging, though, for a number of reasons:
- there are many more types of valid input than in the typical arcade game (the “action space”) and those actions are described in language (though the authors note the value of work such as that of BYU researchers Fulda et al in figuring out what verbs could sensibly be applied to a given noun)
- world state is communicated back in language (the “observational space”), and may be incompletely conveyed to the player, with lots of hidden state
- goals often need to be inferred by the player (“oh, I guess I’m trying to get that useful object from Aunt Jemima”)
- many Atari 2600 games have frequent changes of score or frequent death, providing a constant signal of feedback, whereas not all progress in a text adventure is rewarded by a score change, and solving a puzzle may require many moves that are not individually scored
TextWorld’s authors feel we’re not yet ready to train a machine agent to solve a hand-authored IF game like Zork — and they’ve documented the challenges here much more extensively than my rewording above. What they have done instead is to build a sandbox environment that does a more predictable subset of text adventure behavior. TextWorld is able to automatically generate games containing a lot of the standard puzzles:
Yesterday Graham Nelson spoke to the Oxford/London IF Meetup about what he has been doing with Inform recently, what has and has not been successful (in his view), and where the project is going next. The slides and text are now available here.
Because the talk is intended for a mixed audience, it does explain some things that readers of this blog may already know well, but by the later part of the talk is introducing some new elements.
Vorple’s functionality goes beyond the (still quite cool) work that furkle did to support the front end of Worldsmith. A version of Vorple has been around for some time, and the prototypes for it existed as far back as the IF Demo Fair, but what’s been available so far has been compatible only with the Z-machine, a format so small that it’s increasingly hard to generate any viable Z-machine games with Inform 7 at all. Meanwhile, Hugo Labrande has maintained a Vorple version suitable for use with Inform 6.
There are some extra details available at the announcement post here.
The new edition of Vorple opens the following possibilities for games that are being played online or in a browser (which, these days, is more and more of them):
- Authorial control over fonts and typography on a level that has generally been difficult or impossible
- Hypertext games programmed and driven through Inform, something that was previously possible but tended to come out looking rather clunky
- Parser IF that makes attractive, dynamic use of illustrations, maps, and even videos
- Games that remove text after it has already been printed to the screen (something that was just about impossible with former non-Vorple Inform interpreters); this means that one can, among other things, remove error messages from the scrollback, or change the game’s printed history to reflect changes in the protagonist’s mentality
- Tooltips and modal dialogue boxes to do things like offer definitions or confirm player choices outside the main narrative
- Help menus other than the horrid nested, keypress-driven things we’ve been suffering with since 1994
- Probably many other things I have not thought of yet.
I’ve had the chance to play with the extension set as Juhana tested it for release, and it is really cool.
In addition, those in range of London are welcome to join us for the IF Tools meetup May 31, where Juhana will Skype in to talk to us about the Vorple project, so those interested can get a first-hand introduction.
The following was posted as a comment on another post to which it was not related; I’ve removed it from there to space of its own. It concerns the status of Inform 7.
I’ve set aside a couple of days this week to work on a problem that I understand to be a concern for a number of authors, namely that there are various very useful Inform extensions that have never been updated to be compatible with 6L38.
I’ve already made updates to the following, so that they either already have been or soon will be submitted to the Inform Public Library (the repository that holds 6L38-compatible extensions and allows them to be installed and managed directly within the IDE, though you can also browse it less attractively online):
Simple Graphical Window
Consolidated Multiple Actions (being beta-tested before submission, as it’s complex)
Hypothetical Questions (also being beta-tested)
I’ve also done some minor tweaks to Postures and Approaches, both of which had been updated but were presenting difficulties for some users.
It’s hardly practical to try to address all extensions that aren’t yet converted, but if people have particular requests that are serious stumbling blocks for them, then please let me know and I’ll try to fold these into my schedule. I’d like to direct my attention especially towards things that either a) someone is using and the need for that extension is preventing them from updating to the current Inform version or b) someone would really like to use in a current 6L38 project, but can’t. (As opposed to “I was browsing the extensions website and this old extension looked kind of interesting in theory even though I have no actual plans to run it at the moment and so far as I know neither does anyone else.”)
If it helps, the older extensions site is here. You may also like to look at a description of how to do basic updates for 6L02 (which usually also works for the current version 6L38) or forum thread explaining how extension filing works.
I should also add that we have volunteers working on a system for a more systematic storage of multiple extension versions, etc.
Sam Kabo Ashwell has some wonderful posts on the experience of This War of Mine (1, 2) and The Long Dark: the atmosphere, the emergent narrative, the experience evoked by their systems. This bit from his review of The Long Dark particularly struck me:
Having been lost in the Northwoods before, I can say with all confidence: the biggest, scariest threat you face is that you will walk for days and days and never, ever see a single trace of human influence. Never encounter anything shaped by humanity into something that facilitates transport, shelter or food. As moderns, we are hugely, continuously dependent upon the work of other hands. That fear, the fear of a totally non-anthropic environment, is something that is almost impossible to make interesting in the purely human-made context of a game.
David Welbourn is one of the quiet heroes of the IF community: for years he’s been helping to maintain ifwiki, assembling the eligibility lists for the XYZZY awards, and creating loads of high quality walkthroughs and maps. He has an enormous amount of patience and an encyclopedic knowledge about many corners of IF history. If you have any regular contact with the IF community, you’ve almost certainly made use of some of his work, even if you’re not aware of it. I’m delighted that he now has a Patreon, which will help him with scanning and internet costs and make it easier for him to continue.
Rowan Kaiser, Austin Walker, and Alex at While !Finished wrote a series of articles on choices in Dragon Age: Inquisition, and in particular about which of those choices are emotionally resonant:
One of the most difficult choices in the game, for me, happened in the Solas romance storyline, which is only available to female elf Inquisitors and therefore a minority of players. Near the end, Solas reveals the true meaning behind the Dalish elf’s face tattoos: they were originally slave markings, from when elves enslaved other elves. The Inquisitor can let Solas remove hers, or she can keep them. Does the knowledge of their origin taint them? Or are they a part of her and important to her, no matter what their original meaning? What does she believe?
The discussion of IF fanfiction brought up that there actually is some on archiveofourown: I found an alternate ending for Galatea and a prequel to Alabaster (which digs even deeper into some of the mythology around Eden and Adam’s wives before Eve). There’s also a wonderful story set in the 80 Days universe that explores some of the background of automata with souls, and the lion-like automaton of Burma, one of my favorite figures in the game. And here is an Inform game about a Fallen London character.