A Modest Proposal (Pace Jonathan Swift)

I propose to recruit a small group of people willing to put some effort into the interactive storytelling technology (Storytron) that my team built six years ago. I will make available to such people the entire working package consisting of the SWAT IDE (as modified for Siboot) and the Siboot storyworld. Each person’s progress through the scheme will roughly follow this sequence:

1. Run SWAT, load the Siboot storyworld, examine all the features, and try to figure out what it means.
2. Play the storyworld using Storyteller Lizard, and try to figure out what’s happening.
3. Modify single elements of the storyworld to determine their effects on its performance.

Before this can happen, I must needs write a tutorial sequence for learning SWAT via Siboot, a task of at least 20 hours. I do not wish to waste time writing such a document without knowing that there will be a sufficiently energetic crew of starry-eyed neophites willing to follow it through.

Sound interesting? There’s a mob of nasty demons eager to beset and discourage you. This is like nothing you’ve ever seen before; almost everything about the technology is idiosyncratic. You’ll have to master a small dictionary of special terms:

Actor: a character in the storyworld
Stage: a location in the storyworld. All actions take place on stages.
Prop: an object.

Actor Trait: a characteristic of an actor, e.g. height, weight, gullibility, friendliness
Stage Trait: a characteristic of a stage, e.g. temperature, smokiness, noisiness.
Prop Trait: a characteristic of a prop, e.g. weight, lethality, value, color, size.
Quantifier: a number that modifies a trait, e.g. 35 pounds, $455, 27 inches.

PValue: what one Actor perceives to be the value of another Actor’s trait. the PHonest is trust; PGood is affection.

Mood: a characteristic of an actor that automatically falls to zero over short periods.

Verb: the most important component. Something that an actor can do.
Event: a single case of an Actor executing a Verb. It takes the form of a sentence.
WordSocket: a slot holding a word included in the sentence of an Event.

Example: for verb ‘give’. The verb has four defined word sockets: 1Actor, 2Verb, 2Actor, 4Prop. Expressed as: ‘Subject give DirObject Prop’ 

HistoryBook: the record of past events in the storyworld.

Boolean: a true or false value
Number: a regular floating-point number
BNumber: a special kind of number, always between -1 and +1.

Sappho: a scripting language unique to Storytron, designed for less technically-inclined people. Some Sappho scripts:

Sappho Scripts

Here is the main display window:

Almost every single graphical element in this window is active: if you click on it, something will happen. Each of the buttons along the right edge raises a menu of components that can be put into the script immediately to its left. Each of the buttons in the second vertical pane — the buttons with turned-down upper right corners — represents a script; pressing that button puts that script in the third vertical pane. Each button with a tiny down-arrow raises a menu.

The two buttons near the top of the second vertical pane — Properties and Sentence Display — raises a window that requires a lot of programming work. 

The leftmost vertical pane contains the list of verbs in the storyworld. The menus along the top of the main window bring up all sorts of other things.

Here’s an example of the storytelling engine at work:

Siboot Log Lizard

This shows exactly what the engine did at every step of the developing story. It is really a huge tree with thousands of leaves; I have expanded just one series of branches all the way down to two leaves. Each one of the tiny blue icons — the ones with a tiny circle and a tiny line extending from the circle — represents a branch that opens up to reveal how that particular event took place. Every one of those icons that is closed — with a horizontal bar — contains within it an entire tree showing engine operations. My point is that this thing is huge.

Storytron technology is immensely complicated. It can do all sorts of wonderful things, but learning it will not be like learning something simple such as HTML. It’s more difficult to learn than JavaScript. You should not commit to working with this technology unless you are willing to wade chest-deep in a swamp of technology.

Getting Started
If I haven’t managed to dissuade you, then you can start by going through the documentation at www.storytron.com. You should also browse through the Siboot design diaries. It’s a huge list of essays, many of which meander off into the weeds, but they will give you an idea of the thinking that goes into the design of a storyworld. After you have gone through these preliminary exercises, get in touch with me via the contact form at the top of this page.