Skip to: main content or site footer.

Introducing Storycrafting

Griz hoped for Archie's attention. She gave him a diamond stick-pin, one of her few possessions of value left from home. Archie, embarrassed by this largesse, disposed of the gift by dropping it off the side of London Bridge.

At the behest of one of the mysterious hooded figures that run London these days, I'm trying to write a love story. It isn't going entirely to plan.

The value of stories — in creating or collecting them — crops up time and again in Failbetter games: from a side activity in the Fallen London early game to the career-spanning Ambitions in Sunless Sea and Sunless Skies. In Mask of the Rose, we've finally made it possible to read the stories that you write. As you play through Mask, other characters will come to you looking for help with stories of one sort or another: Harjit, the local constable, has crimes to solve; Rachel, a novelist, is struggling with a case of post-diluvian writer's block; other, stranger characters have other, stranger concerns. Taking on and fulfilling these commissions brings you into contact with storycrafting, Mask's innovative storytelling sandbox.

Storycrafting is a fairly simple idea (like many simple ideas, it conceals a great deal of complexity). Given a prompt — say, "Tell a story of a Londoner attracted to a denizen of the Neath" — and a set of empty slots arranged in a stylised version of the classic cork-and-red-string murderboard, your task is to fill those slots with characters, motivations, and actions that form the outline of a story that satisfies the prompt. The twist (of course there's a twist) is that, as you do so, your choices are fed into a vast expansion-grammar engine — similar in principle to the outfit-description system we blogged about back in March, but on a significantly grander scale — that takes your choices and weaves the story itself around them. As you make changes to the board on the left-hand side of the screen, the story you're creating updates itself on the right, in sometimes surprising ways.

The arrangement of slots on the board is constant between commissions: each story has a protagonist and a deuteragonist; each follows a kind of three-act structure. The people and ideas you can fit into these slots, though, vary both with the particular commission and your progress through Mask's storyline. You'll start with some available — you already know the residents of Horatia's boarding house, for example, and your chosen background may give you other insights — and learn others through gameplay. Discover a plausible motivation for a character and that motivation becomes available for use on the board.

Of course, not all motives and actions are plausible for every character. Anyone (almost) can fall in love, but not every character can scheme to steal your soul at the same time. Part of the challenge of storycrafting is finding a set of ideas that make internally consistent sense, and the game enforces this. Pick a motive that's inconsistent with a character you've already chosen, and the game will require you to choose another character (or another motive).

In this respect, storycrafting shares a lot of its DNA with solving a sudoku puzzle. Just as a sudoku solution is constrained by certain rules ("digits must not be repeated in a column"), so is a storycrafting commission ("Virginia cannot plausibly be motivated by a sense of simple decency"). At a sufficiently abstract remove, the task is the same: fill empty spaces in a way that satisfies a set of rules.

But where a (well-formed) sudoku has a single solution, storycrafting commissions are designed quite differently. We've gone to some lengths to ensure first that a given commission can be completed with a very large number of possible ideas, and then that the story generator can handle whatever combinations of character and motive you throw at it. A large part of the fun of storycrafting, we've found in internal testing, is throwing together unlikely combinations of ideas, and seeing how the story warps itself to accommodate them. A closer antecedent than sudoku — in fact, one of the reference points when we were designing the storycrafting systems — is something like Oskar Stålberg's wonderful Townscaper, where each block of the city you construct subtly changes its shape to respond to changes in neighbouring blocks.

[This isn't a technical blog, so I'll note in a very brief sidebar that all three of these things are still fundamentally the same thing: constraint networks at different points on a continuum of solution-space size. If you have a certain kind of computer-science background — in which case, my condolences — then this will likely have already jumped out at you as obvious.]

The fictional rewards for fulfilling a storycrafting commission vary. You (usually) get paid to do so, of course: always a strong motivation for writers in the Neath and otherwise. Helping other characters here can benefit you in other, less obvious ways, though: you may end up owed a favour in high places, or be able to use a particularly compelling story to influence events down the line. So it's not just an engaging mechanic in its own right; it's integrated into the broader story in a way that gives it some real stakes.

Storycrafting is quite a hefty feature in Mask — about a sixth of the codebase by weight, the last time we checked — because, in a way, it's doing two things at once. If yours is a puzzle-oriented kind of brain, you'll hopefully enjoy the process of teasing out the underlying rules that determine what makes a valid storycrafting commission. On the other hand, if what you've been looking for is a kind of interactive fanfic generator, we may have what you've been looking for. Either way, I hope you enjoy it!