Screen Shot 2017-04-23 at 9.26.07 PM.png

DINE is, as I posted earlier, an unusual interactive fiction system that takes typed input but does not handle it through a parser. Instead, it uses text classification to find a response that is most coherent with the player’s input — a measure that depends heavily on linguistic similarity.

To author content for DINE, the author writes example player inputs (such as “I picked up the photograph”) followed by the response text that the author has in mind. Both the sample input and the actual output are considered when the system chooses a proper response. The system also applies a penalty to any output text the player has already seen.

There’s one final affordance: next to each paragraph of output is a “Huh?” button. Click it to reject the response you were given, and the system will search for the next best fit. It’s not guaranteed to work more with the story than whatever you read last, though.

DINE is not a particularly ideal tool for the kind of experience we associate with parser IF. If you do >INVENTORY twice in a row, you might well get a totally different response the second time — and one that is not especially coherent with the input. Indeed, there’s no way to explicitly author world state, other than as “pages” for the player to land on.

Different DINE pieces handle this in different ways. Olivia Connolly’s “A Quiet Street” offers quite long pages of story between interaction points, and sometimes sets up obvious single tasks for the player to try next, as for instance here, where the game directly tells me what to do:

Screen Shot 2017-04-23 at 10.30.21 PM.png

At its best — for instance, when the circumstances of the narrative made one particular action feel compelling, but didn’t explicitly spell out what that action was — this could achieve a pleasing level of fluidity, as here, where I know that there are strangers approaching the house but that my mother hasn’t seen them yet:

Screen Shot 2017-04-23 at 10.39.00 PM.png

Continue reading

Mailbag: High-Agency Narrative Systems

Today’s mailbag entry (at the request of the submitter, anonymized and edited a little) gets into the question of how to create salience and quality-based narratives and other similar games, given that typically one has to build one’s own.

What I keep getting drawn toward on a personal level is your work–and other people’s work too–on procedural narrative generation. I have enough knowledge of coding to understand states and modeling systems and when to move from one to another on a conceptual level, but at this point I could not make one in any language or engine. I think this is something I would like to learn to do more of...

Obviously I’ll need to learn a language from the ground up. That’s fine. I suppose I’m asking what would be most helpful to focus on–not just in terms of C# or Ruby or Python–but other skills as well… most of my questions/interests are about event generation, procedural chains of causality, etc.

Further discussion with the asker indicated they are talking about the kind of quality-based and salience-based narrative systems I wrote about in the article Beyond Branching; this RockPaperShotgun column about Alcyone also gets into some detail about the state of play in this space.

Systems like this can achieve a combination of player freedom and agency that is hard to reach in CYOA or any other node-based system (I would include ChoiceScript here): there are often dozens of viable choices available.

Meanwhile, because you’re not tied to a specific simulation concept (like the standard parser IF world model), you can adjust the qualities of your QBN to the particular needs of this work. Track your protagonist’s health, her interest in opera, her sense of humor, her tolerance for pain; track her relationships with each of a dozen friends, or a dozen aspects of her relationship with one friend.

On the other hand, the tooling and the design abstractions in this space are not nearly as advanced as they are for parser IF or CYOA/hypertext/stats-based IF, so if you want to work with it, you probably have to build your own.

That’s a topic that could take a number of articles, and there isn’t as much writing in this space to point to as in the parser space.

Continue reading

Ladykiller in a Bind (Christine Love/Love Conquers All)

Screen Shot 2017-05-20 at 9.52.53 PM.png

Ladykiller in a Bind is an erotic visual novel by Christine Love and co, released last year; it won the IGF Narrative category. Consequently, there’s already quite a lot of commentary about it, especially around its handling of queerness and kink; a late-game scene with dubious consent that bothered some players and that Love ultimately wound up replacing; about mechanics that do not make sex the end goal in itself. Andrew Plotkin wrote up his take on it, and the genre of visual novels in general, as part of his IGF Narrative judging overview.

Plenty of interactive erotica exists — and there’s plenty of demand for it, too, as witness the fact that people searching for interactive sex stories form a sizable portion of my daily blog traffic. They’re probably mostly disappointed, but perhaps this entry will console them a little?

But relatively little of what I’ve encountered is as well-written as Ladykiller in a Bind, particularly when it comes to characterization. As Olivia Wood points out, sex scenes avoid being embarrassing by having something to say beyond “here is a peek at the author’s fantasies.” Ladykiller does that. It uses its sex scenes to communicate who the characters are, and shape their relationships with the protagonist; to talk about honesty, fairness, emotional manipulation, self-image, power exchange, and consent. And sometimes the sex conversation feeds back into dialogue about other things:

Screen Shot 2017-05-20 at 8.08.51 PM

The story is very much a fantasy, with a cast of super-attractive, wealthy, popular just-barely-18-year-olds. And the framing plot is ridiculous: the protagonist is a girl cross-dressing as her twin brother and hoping that none of his friends, enemies, and exes on the ship will notice. Nonetheless, the sex scenes detail emotional states that are relatively rarely shown in media. I don’t just mean the BDSM aspects here, either. There’s a storyline about a character who is relatively inexperienced and also doubts her own attractiveness, who gradually alters what she wants to consent to as she becomes more confident, and this played out quite plausibly.

That’s not to say the game is, or is trying to be, an encyclopedia of all possible sex formats. There are some places it didn’t go, at least during any of my playthroughs: the BDSM scenes I saw delved deeper into the bondage and submission aspects than into the masochism side, for instance. And, unsurprisingly, the scenarios skew towards issues that arise early in a relationship or for relatively inexperienced partners. At one point the older Maid does comment on the comparative immaturity of all the characters — an acknowledgement that would have felt like a lampshade, except that of course these characters are immature. They haven’t had time to become anything else.

But never mind about sex. Let’s talk about conversation mechanics.

Continue reading

Mailbag: Writing for Versu

g_ending_2@craigtimpany writesYou’ve covered Versu’s architecture, but I’m curious what that was like to write for… In particular I’ve been wondering how very non linear tools affect a writer’s flow.

For those just joining, Craig is asking about Versu, a system focused on agent-driven narrative. Versu and the games made with it are no longer available, but there’s information available about the system, including several papers at the Versu website, and past posts of mine here about the conversation system and about what it was like to convert Galatea to the Versu format.

During the first portion of its development, Versu content was driven through Praxis, the language that specified social practices and truths about the world state. Praxis is very powerful and allows the user extremely detailed control over what is true about the world, and what all the agents want; and the baseline implementation of conversational practices, among others, were written in Praxis. However, writing extensive dialogue in Praxis was essentially wrapping conversational elements in code — a high-friction way to compose, and one that discouraged revision. To address that, we developed a DSL called Prompter. I am not going to re-describe here everything about how that worked, since the attached papers go into detail.

But the core point to know is that, within Prompter, one wrote scenes. Each scene could have some opening text; some parameters about what was allowed to happen in that scene (e.g., “no one dies in this scene, but Veronius is allowed to have sex”); a body of dialogue that can be spoken only in that scene and nowhere else; and then one or more ways that the scene can end.

Using that information, the system would follow its own rules about how conversation and social actions could chain into one another, improvising a particular performance around the scene parameters the writer had set on the page.

Continue reading

Mid-May Link Assortment


Spring Thing has closed and the results are now available: congratulations to Bobby and Bonnie, Guttersnipe: Carnival of Regrets, and Niney.

The Machine Learning for Creativity workshop is accepting papers until May 16 and will be held on August 14; the speaker lineup has people who are interested in computer-aided storytelling or various forms of generative narrative.

May 17 in the Boston area, PR-IF is meeting and will be looking at some new interactive narrative projects created by Nick Montfort’s students, among other things.

PCG Workshop 2017 has a call for papers out. The theme is “PCG in context,” with the tagline “Exploring the biases, and potential to subvert bias, in procedural systems. Proposals are due May 22.

May 31 is the IF Tools Meetup in London, where we will talk about innovations in interactive fiction tools, presenting several different systems, including Juhana Leinonen talking about the new Glulx-compatible version of Vorple; Robin Johnson talking about the JS system underlying Detectiveland; Andrew Gordon talking about DINE, an experimental interactive narrative project at USC; and me talking about the tools we’re developing at Spirit AI, which are designed for commercial application but have a connection back to interactive fiction history.

June 1-3 is Feral Vector, a delightful indie games festival in a really beautiful setting in Yorkshire, which usually includes talks, workshops, and hanging around on the grass eating and drinking with fellow devs. Last year there was also a LARP in the woods. I can’t go this year, but I’ve really enjoyed it both times I went. Not specifically IF-focused, but a good time.


June 20, the London IF Meetup is gathering at the Eaton Square Bar to play In Case of Emergency, a mystery storytelling game assembled and run by A Door in a Wall. Atypically for our events, there is a small fee of £5 to participate.

June 28-30, I will be speaking at Gamelab XIII GAMES & INTERACTIVE ENTERTAINMENT CONFERENCE in Barcelona, about artificial intelligence and games.

The British Library is running an Interactive Fiction Summer School as a weeklong course in July, with multiple instructors from a variety of different interactive narrative backgrounds. More information can be found at the British Library’s website.


Texture has added a feature allowing authors to embellish their stories with image files; that link is actually to an example of this at work, namely…

New Work

Jim Munroe has released Data Doesn’t Lie, with illustrations by Luc Allenet de Ribemont. The game is a frequently-fatal gauntlet with ways to lose on almost every page. That’s a somewhat player-unfriendly structure for a Texture piece: in this engine, you can’t save state or undo the last move, so I had to replay a number of times in order to explore the narrative space completely. But I enjoyed doing so, and the protagonist’s confusion is narratively appropriate.

I very much liked the images, too. These work like book plates, interspersed between the textual interactions, providing a lot of hints about this world, and a lot of emotional inflection, which one wouldn’t otherwise get. Unsurprisingly, what this most reminded me of was Jim’s Inform game Everybody Dies, which also uses images as a comment on the action.


Jeremiah McCall has shared a selection of historical IF written by his students for educational purposes, largely in Twine.


Betsy Sykes Mysteries – Volume 1 is an Android text adventure game with a noir flavor.


6 Swords is a fantasy game designed to be played by voice with Alexa.

Articles and Podcasts

apocalypseheadBruno Dias has written a detailed postmortem on his game Don’t Mind My Apocalypse Head, with an emphasis on how he focused the systems and limited the parser mechanic to achieve a systematic storytelling method. He describes the game as a puzzleless story, though in fact it is manipulable to multiple endings and some of those endings could be difficult to find. So arguably that aspect is a matter of terminology.

He’s also written a post about Inform 7’s value as a prototyping tool, and about the concept of “parserless parser” — what games might look like if they drew on the features of a parser IF world model, but with a more accessible UI, perhaps driven by Vorple.

Astrid Dalmady’s Cactus Blue Motel got written up in NDR, a literary magazine put together by the MFA Program in Creative Writing at Louisiana State University.

At Rock Paper Shotgun, I wrote about IF games of linguistic experimentation, and a few curious related pieces, such as Lighan ses Lion.

Jimmy Maher’s always excellent Digital Antiquarian blog includes a post this week on letters from players of CRPGs back when they were newly released — including contemporary gripes about Wizardry, Bard’s Tale, and Ultima games.

On Script Lock, Rob Morgan and Aleissia Laidacker talk about AR experiences and narrative, and especially Rob’s work at Playlines. Playlines create interactive mixed reality experiences, where players interact with one another and also the story beats that are connected to particular points in space.

There’s also a good bit of the podcast at around 1:20 in about how professional wrestling is a training ground of narrative and particularly how to hold off from gratifying the audience too soon. (See also: Slammed!)

And speaking of Aleissia Laidacker, she also has a talk here:

…about how to do systemic design with modular elements. She’s talking about these strategies in the context of graphical games, but the same kind of thinking is useful for any type of system, even fronted by text.

Other things

Max Gladstone’s Craft Sequence was nominated for a Hugo for best series — and that sequence includes two Choice of Games works, Choice of the Deathless and Deathless: A City’s Thirst — another step in recognizing interactive SFF works with some of the same recognitions given to non-interactive forms.

Loose, Tight, Flat, and Bumpy Stats in ChoiceScript Games

coglogo2Previously, I wrote about setting, checking, and gating content in stat-heavy choice-based games such as ChoiceScript content.

In that post, I didn’t get into the question of stat distribution: over the course of the game, how possible is it to reach particular stat distributions? Can you reach the top and bottom of each personality stat (raise it to 95+, or lower it to 5-)? Can you do this easily/immediately, or only with persistent (or even perfect) choice selection? If you run a bunch of random plays and look at what levels the random player can reach for a given stat, is the distribution reasonably bell-curve-like, or is it more flat or multi-modal?

If it is easy to reach the ends of the stat spectrum, I’ll refer to this as having a loose stat system: plenty of buffs or nerfs are floating around the system and it’s easy to get to one end or another. A player doesn’t necessarily have to play with purpose in order to achieve a particular character build. The problem here is that the resulting experience may feel fairly low-agency, because there are so many ways to get a particular stat profile that it seems like the player’s particular choice blend doesn’t matter all that much.

The extreme case of a loose stat spectrum is on where being at the ends of the spectrum isn’t even that unusual: by the end of the game, the distribution looks nearly flat, with little or no bump at the middle. This is a very unresponsive stat system, and it’s not going to reward the player at all for playing one personality stat consistently.

The opposite is a tight stat system: buffs and nerfs occur less frequently or in smaller increments, and it takes time to reach very high or very low levels. The problem here is that the game may feel quite difficult, especially if there are special endings or consequences associated with the extreme ends of the spectrum; it may be that most players never manage to reach ideal outcomes without relying on wiki guides to help them map their choices. This is especially frustrating if there is one “main” outcome that is boring/losing and all the special/winning endings require near-perfect execution.

Continue reading