Survey of Storylets-based Design

Sketching a Map of the Storylets Design Space” is a paper by Max Kreminski prepared for ICIDS 2018, an academic survey of the storylet design space. I wanted to point my blog readers towards it, as it covers a lot of interesting territory in the quality-based narrative/salience-based narrative area (and in fact references my post on structures beyond branching narrative). Those of you interested in ways of structuring IF with more procedural complexity than a branching narrative may find it interesting.

The paper offers an overview of major storylet-based tools and works from both indie and academic experiments new and old, including StoryAssembler, StoryNexus, The King of Chicago, Reigns, and Ice-bound Compendium. It does not discuss Varytale, but then Varytale has been unavailable to play with for some years now, so there may not have been an accessible version for Kreminiski to look at since beginning their research.

Kreminski identifies four dimensions for looking at storylet-based systems: how preconditions for storylets are defined; whether individual storylets can ever be repeated; what sort of content is contained within a storylet (linear text? replacement grammars? branching content?); and finally, the “content selection architecture”, or how storylets are chosen as eligible for display.

Screen Shot 2018-08-29 at 11.10.31 AM.png

Kreminski also built a storylet system and a small prototype game of their own, a piece called Starfreighter. (It’s available on itch, if you want to look at it yourself.) The scenario is a fairly standard space-trading story, in which you accumulate crew and cargo and travel through a procedurally generated graph of solar systems. There are several cool presentational aspects here, including the way that you can select place names in your storylet and get extra information and see the location highlighted on the map. The actual content is not very deeply developed — there’s enough here that you can travel from port to port, do some trading, and have your hull damaged repeatedly by space debris, but it doesn’t dramatically develop very much more than that.

The structurally interesting bit about Starfreighter as a storylet system is that it looks not just for specific qualities (like Fallen London‘s “if your Connected: the Duchess is greater than 10”) but for resources that fit particular qualities, and subsequently binds those identified resources to the storylet for purposes of producing the narration. So for instance you might have a storylet “sell [cargo] on [planet]”, which would become available if you had any cargo (say, a crate of exotic matter) and were on any planet (say, Uinox), so that the storylet text would then be realized as “sell crate of exotic matter on Uinox.”

Continue reading