I really miss conferences! Earlier today, @Yakkafo accidently kicked off a branching conversation I’ve been following across different threads on Twitter about storylets, their use with Twine, and some of the design problems within the space. It’s the type of on-going discussion often only possible when multiple people all come together and start talking about a topic in different ways.
It started with a new Harlowe update. One of the advantages I have (or had, as I am about to step down) of being on the Twine Committee is hearing about updates early. When Leon shared that the Harlowe 3.1 update had storylet functionality in a private Twine Committee meeting back in January this year, I decided I would write up some examples of how to do things. (As some foreshadowing, those very examples might end up in the Twine Cookbook soon, as we have an open issue on adding examples on storylets I’m hoping to write next week.)
Today, Yakkafo started a thread about storylets and Twine and linked to my examples. This soon grew into conversations about solutions with Twine (Josh’s great TinyQBN, my SimpleQBN, and dmasad’s StoryletManager) and me chiming in about the sculptural model (as this was most of the feedback on my ICIDS paper-turned-blog-post from last year). Some time later, Emily Short mentioned King of Chicago (1989) and Stacey Mason pointed to Dragon’s Lair (1983) as prior examples.
I want to explore those two games here some as a form of public notes.
King of Chicago (1989): When a “failure” sparks a model
While I felt silly forgetting that Kreminski and Wardrip-Fruin (2018) mentioned King of Chicago (1989) in their Sketching a Map of the Storylets Design Space article earlier today, it’s an important ‘first stop’ toward what many commonly call storylets today.
In a blog post now only available from the Internet Archive, Doug Sharp (1989) describes the “battle” of interactive fiction from a GDC 1989 talk on the same topic. Within the post, Sharp (1989) mentions a project called King of Chicago and how it is an “honorable failure.” Toward the end of the post, Sharp (1989) writes about a design of a “big bags with smaller bags inside which hold clips, which I called episodes.” Each one of these episodes would:
specif[y] things like who is to be onscreen, chooses background graphics, switches between close-ups and medium shots, drives the character’s animation and facial expression, and feeds dialog to them. The episode script reads a lot like a playscript or screenplay. A single episode might put Pinky and his girlfriend Lola in her bedroom, and have her badger Pinky about earning more money. This episode might take two minutes of screen time.Sharp (1989), Story vs. Game: The Battle of Interactive Fiction
What Sharp (1989) is discussing is a narrative management system. It’s how Façade (2005) would later work, guiding how a story would be presenting elements to players through choosing things like “facial expressions” and “feed[ing] dialog” to them. It’s also some of the same parts that would later arise in storylet design as possible “qualities” or more commonly known as prerequisites.
In the next paragraphs, Sharp (1989) relates the interface between the state (collection of values) and how it affects episode navigation. As Sharp (1989) writes it: “The episode selector looks at all the keys of available episodes and selects the one that most closely matches current game variables. Its method is to look for a least square fit.” Part of the design of storylets, its state and prerequisites design, is outlined in 1989, earlier than even Bernstein’s (2001) introduction of the sculptural hypertext model!
In pulling from the model Sharp (1989) writes about, there are several major concepts:
- Story: Multiple episodes, each govern by character
- Episode: Selection of sequences influenced by player actions within rules of player interactions
- Narrator: decides episode order and when each ends
- Sequences: set of phases (act-like structure within episode)
- Actions: player input
A story starts with an episode, composed of sequences. The player takes actions, which changes the values watched by the Narrator. This affects which sequences are chosen next, if the episode ends, and any future changes carried over into future episodes. When the episodes are exhausted, play ends.
Dragon’s Lair (1983): The start of so many things
On the Dragon’s Lair Project’s website, there is a breakdown of scenes from Dragon’s Lair (1983) as well as some notes about when they appear. While, on face value, interesting but not directly connected to storylets, there is an introduction of some terms used by DLP to discuss Dragon’s Lair (1983): scenes, cycles, and the conditions in which scenes become part of cycles.
“There are three cycles in a full game,” starts the breakdown. A scene is chosen at random from a set, and then each progressive scene is chosen from another set at random. Seemingly simple, with random chance governing which scene of which set is chosen when play starts. However, DLP also notes something else:
The scenes that a player dies on are queued, (an unlimited lives game queues a maximum of 8 scenes for each player), and these scenes are replayed later, immediately after the third cycle, before entering the dragon’s lair (29).Jeff Kinder & Dave Hallock, Dragon Lair Scene Sequencing
There are scenes from a set, conditions placed on how new scenes are chosen, and values used to influence these decisions. This is a micro version of the storylet model with prerequisites, content, and effects! Instead of cards, each scene is its own unit of narrative. Then, depending on actions, values are affected within the state of the game. In other words, the player is interacting within the “content” of a scene and its state (and narrative manager!) is governing which next scenes are shown to the player.
Which is first?
There is a strong argument to be made that Dragon’s Lair (1983) is an execution of a storylet model. It has many of the same parts and operations in the same general manner. King of Chicago (1989), with its “big bags of smaller bags,” is much closer to articulating a fuller model other projects could follow, however. The same can also be said, two years later, with the sculptural (hypertext) model in 2001 and its revision in 2002.
And then there is the storylet model, which dates to 2010.