[Parts of this appeared in a paper and presentation I gave during the doctoral consortium at ICIDS 2020. As that session was private and that paper will not be published, I’m putting some of it here as an external archive of the work done.]
I admit, like many people I know, I first ran into the concepts of storylets and quality-based narratives (QBN) from Emily Short’s blogging. At the time, I thought they were a neat idea that others were using, but not useful to me. After all, they were hard to implement in Twine and even harder to make work with Ink. Card-based narratives? Huh. Using qualities to decide if storylets should be displayed? Cool, but not relevant, I decided.
The introduction of TinyQBN during NarraScope 2020 changed things. Being able to use QBN in Twine was a game changer for many people, me included. Suddenly, an approach that needed lots of engine changes (of which Bruno Diaz has noted many) was possible in Twine. This was great!
After investigating it, I decided I wanted to write a paper for ICIDS 2020 based on some research and work I had been doing to try to unite a vocabulary for discussing storylets. I noticed that Failbetter Games (which came up with storylets and QBN) used one set of terms, Emily Short had refined those into another group, and Josh Grams was using other metaphors in TinyQBN. In looking at some blogs posts made by others (myself included), there was a wide range of terms. I submitted my paper and waited for feedback.
Um, actually… Sculptural Hypertext Model
The feedback I got back on the paper pointed out something I had not been aware of previously: there was a thing called the sculptural hypertext model. Now, if you are reading this and have not heard about it, don’t feel bad. It is, to quote someone who has published on it, “a very niche genre.” There have been some academic projects based on it, but it has not really made it out of academia. However, it has a remarkable similarity to QBN and, more importantly to the academic crowd, predates it by a number of years.
In 2001, Mark Bernstein gave a presentation at Hypertext called Card Shark and Thespis: Exotic Tools for Hypertext Narrative. As part of it, Bernstein (2001) discussed an “exotic” model of hypertext called the “sculptural model.” It was named such because it “sculped” away links instead of adding them. It was also, as mentioned in the same paper, a card-based model.
Bernstein (2001) established three key terms:
- Constraints: preconditions that must be met for the card to be available
- Assertions: changes to values when a card is seen
- Text: content shown to user
An author would prepare a number of cards with constraints that had to be met for the card to be played. For example, these might be things like “a knight has to exist” or “the princess has found the sword.” These are things that might happen as part of the story. Some cards could also contain assertions that changed the state of the story when shown or played by the user. For example, maybe they introduced a knight to the story or gave the sword to the princess. Finally, all cards also had text of some sort. They had content that was shown to the user as part of a card being used.
Bernstein (2001) even created a multi-player mode where people could play cards against or with each other, using the cards to guide the narrative structure. Based on the story, these players would either be collaborating or competing based on the assertions in the story and what cards each player held.
Following 2001, a couple projects built on this model. One of the more notable papers added and refined a new key term: context.
- Context: the global state of the story containing values mutated by assertions
A full set of terms related to the sculptural (hypertext) model are the following:
- Constraints: preconditions that must be met for the card to be available
- Assertions: changes to values when a card is seen
- Text: content shown to user
- Context: the global state of the story containing values mutated by assertions
Enter Storylets and QBN
In 2010, Failbetter Games was working on the project that would later become Fallen London. In a development diary, they coin the term “storylets” and describe the model they are using in their project called quality-based narrative (QBN). Storylets are called “chunks of narrative that can be played in any order, as many times as you like” and qualities are statistics that “tell storylets what to do” (original emphasis).
- Storylets: parts of a narrative
- Qualities: statistics used to determine storylet availability
While not explicitly mentioned in the original blog post, state obviously plays some role in how content is used. The post mentions playing content and having qualities decrease or increase as a result. This means that the game is tracking qualities in some global way so that storylets can change it as a result of being played and so that qualities can be checked in some way.
Emily Short has blogged considerably on the topic of storylets, but her 2019 post called Storylets: You Want Them does some great definition building. Short (2019) refines the terms introduced by Failbetter Games into the following:
- Prerequisites
- Content
- Effects on World State
Storylets have prerequisites that determine their availability. This could be modelled after logical parts of the story, allowing only some storylets to be available based on location (as Fallen London does), by player-character knowledge (discovering clues or learning things, for example), or by statistics such as Strength or Intelligence. Each storylet also has content. There is some part of the overall narrative that appears or is activated by the player as a result of interacting with it. Finally, storylets can affect world state. When a player interacts with a storylet, it can manipulate values in some way that can affect the availability of other storylets. This might appear as a player-character gaining or losing an item or access to a certain location as a consequence of their choices.
While Short (2016) has not been the only one to make this connection, one way to think about storylets is in the metaphor of cards and decks. Storylets can be thought of a collection of “cards” from a larger “deck.” A card can be drawn if and only if its prerequisites are met. It then has some content and affects the global state. In this way, analog card-based games can more easily be mapped to a digital environment using storylets as a connecting term.
TinyQBN
TinyQBN uses the metaphor of cards that are drawn from a deck. Grams (2019) uses the tags of “card” or “sticky-card” to mark passages in Twine 2. These are then used with the methods QBN.cards(limit=none) and QBN.available(card) to work with the deck and individual cards, respectively.
TinyQBN terms:
- Deck: collection of all cards in a story
- Card: passage (possibly containing text + code) and its requirements
- Hand: subset of cards from the deck
- Drawing: picking random cards from the deck into a hand based on availability
- Availability: a card is available if and only if all requirements are met
- Requirements: conditional statements comparing variables and values
In Twine 2, passages are combination of tags, title, and content. As they are encoded in HTML, tags are comma-separated values stored as the value of an attribute. This means that TinyQBN, in using tags to store requirements, has to hyphenate them. They thus becomes things like “req-beetles-gt-3”, borrowing from some of conditional operator shorthand that SugarCube uses.
Card-Based Narrative Vocabulary
Part of what my paper and presentation discussed was an attempt to bridge the terminology of sculpturals and storylets. Obviously, in looking at how they are discussing cards in both models, they share in some common nouns and verbs. One could, and I really tried, to present a card-based narrative model that used a revised vocabulary.
My hope was to try to create an attempt at a design vocabulary that could help others build projects based on the sculptural hypertext, quality-based narrative, or some other model. As long as it shared in metaphors and concepts, it should be possible to map many of the following terms to any card-based narrative project.
Card-Based Narrative Vocabulary
Nouns
- Deck: all possible cards.
- Hand: subset of cards based on expressions and other values such as size.
- Card: content and set of expressions.
- Availability: a card is available if and only if all of its expressions are true.
- Expression: statement comparing qualities.
- Quality: a variable or value.
- Operator: set of symbols for denoting a comparison between qualities.
- State: collection of values (usually variables) used for evaluating expressions.
Verbs
- Checking: evaluating a card’s expressions to determine current availability.
- Drawing: checks cards and creates a hand.
- Discarding: removing a card from future drawings.