In another essay, I described a method for creating a webwork of events stretching between a group of beginnings and a group of endings. Now, there was a crucial idea implicit in my description that I would now like to make explicit: the notion of cross-connecting events. My description would not preclude a group of parallel but disconnected storylines connecting a set of beginnings with their counterpart endings. This would get us nowhere as far as interactivity goes; we'd have a collection of stories related by a central theme, but no basis for interactivity.
The trick that opens up the interactive potential is to provide cross-connections between the different threads. For example, if we have a event called "PassionateKiss", why must this event always and inevitably lead to "BosomKissing"? Are there not other dramatically reasonable options of "PassionateKiss"? Look over here, we've got a event called "RememberSpouse" in which the candidate for adultery snaps out of his/her passion and backs away from the impending explosion -- why can't this event fit in just as well?
The answer, of course, is that it can, hence we have a new element to consider: the cross-connections in the web. Any given event might conceivably connect with any other. Of course, the vast majority of conceivable connections are dramatically absurd, so we would dismiss them outright. I'm sorry, but "PassionateKiss" is not going to be followed by "SpillFudgeOnLap". I would expect that, for any typical set of events, only a handful would be dramatically appropriate successors to any particular event. This is fortunate; it greatly simplifies our technology. Having concocted a large and varied palette of behavioral options for our characters, we now need only link them together in small groups.
Thus, if one wishes to visualize this system, it has grown from a bundle of storylines into something more like a tangled network. If a storyline is viewed as a river, then we progress first to a river that branches out into a group of inverted tributaries, then to a river delta with an intertwined network of of channels.
But even this is still fundamentally flawed. Such a design is essentially a tree structure, and tree structures don't work for interactive storytelling, because there are just too many branches required. Nobody could ever build a tree structure large enough to yield a rich and interesting interactive storyworld. We need one more twist in the scheme.
That twist might be described in our waterways analogy as "upstream flow". You see, the insidious assumption built into the tree structure and the river delta structure is the notion of downward flow. Both structures impose a direction of flow on the behavior of the network as a whole. That direction of flow ruins everything. What if we eliminated it? What if there were no such assumption in our design?
In such a case, we would have a radially symmetric network. That is, there would be no overarching aspect of the network that would point in any particular direction; moving in one direction is just as valid, correct, or proper as moving in any other direction.
This property has a major flaw that I'll get to in a moment, but first let me point out its big advantage: It introduces re-usability into our system of events. If you're in a boat drifting down a river delta, you can only pass a particular location in the delta just once. You can only experience a particular behavior in the behavioral pallette just once. Hence, in order to provide a wide range of experiences, the storyteller must create a huge set of events, bigger than anything s/he can create in a lifetime. But by turning the river delta into something like what Rube Goldberg might build if he were given control of the Army Corps of Engineers, we could get all sorts of backcurrents, eddies, and so on. We could float "downriver" in endlessly varying loops. We might pass the same location several times, from several different directions.
Why is re-usability so important? Because it allows us to repeat some of the most common behaviors. How many times in a movie does somebody kiss somebody else? If movies were only allowed one kissing scene, they'd be a lot shorter. Same thing goes for the standard "shoot the bad guys" scene -- Sylvester Stallone's movies would be 30-second commercials if he were allowed only one use of the "shoot the bad guy" per movie. Indeed, re-usability at different levels is fundamental to all communications. We have only 26 letters, yet we re-use them many, many times in any single communication. And words are re-used heavily, too. So why can't we extend the range of re-usability to a larger unit of expression? It would certainly make our task more manageable.
But wouldn't re-usable events seem repetitious and mechanical? Wouldn't they be boring? Well, that depends on the context. We re-use letters all the time, but you don't often hear an author criticized for using too many "g"s. I might sympathize with a complaint that an author used a word like "dynamic" too often, but infrastructural words such as "the" or "for" are hard to overuse. Re-usability does not mandate repetitiousness.
The mechanical impression created by a re-used event depends heavily on the intrinsic atomicity of that atom. An atom that is not truly "atomic" will quickly seem artificial or out of place when re-used, while a well-cleaved atom will readily fit into a variety of situations. The degree of atomicity of a event arises from two factors: the narrowness of its definition and the universality of its applicability. For example, let's consider my favorite sample event, "HeKissedHer". This atom has great universality; it appears often in many different stories. Compare it with the event "HeToreThePhoneBookInHalf". This is not a universal of human behavior. You can have many instances of "HeKissedHer" without seeming repetitious, but after only two or three cases of "HeToreThePhoneBookInHalf", people are going to get bored.
Even so, it is possible to narrow a event down so tightly that frequent re-use might seem onerous. For example, a storybuilder might want to replace the simple, straightforward "HeKissedHer" with a dozen special kisses, ranging from the daily peck on the check to the hydraulic extravaganza. By narrowing the definition of the event, the storybuilder must also narrow its applicability and reduce its frequency of use.
Remember too that contextual factors can strongly differentiate otherwise similar re-uses of events. Four dimensions of context can be applied here. First comes the character context. "HeKissedHer" is only the verb; clearly, "John kissed Mary" is quite different from "Joe kissed Jane". Second comes historical context: "John kissed Mary" at the beginning of a romance, when it's their first kiss, will feel very different from "John kissed Mary" at the end of the story when they are happily reconciled after a painful separation. Third comes audience context: "John kissed Mary" in private is quite a different kiss than "John kissed Mary" in the presence of Mary's father. Lastly comes stage context: "John kissed Mary" in the back seat of the Chevy is different than "John kissed Mary" under the old apple tree.
But now I must return to that "major flaw" that I mentioned earlier, when I was discussing radial symmetry as opposed to downriver flow. It turns out that pure radial symmetry in a storyweb would yield a pure soap opera, an endless sequence of dramatic events with no overarching plot. Purists could well object that a story requires some sense of completion, that radial symmetry would rob interactive storytelling of its closure. Indeed, some might seize upon this example as proof that interactive storytelling is impossible, or at least that interactivity (as required by the radial symmetry) is incompatible with plot, which requires a unidirectional drift or flow.
I do not believe that any such extreme position is justified. There's no reason why our Rube Goldberg river delta, with backcurrents and eddies, cannot retain some overall downriver drift. That is, you are welcome to float upstream for a while, and go around a few loops, but the statistical tendencies of the system will eventually bring you out at the bottom. Alternatively, the system could be designed as a linear series of radially symmetric subwebs. For example, our protagonist could play high school soap opera, then graduate from high school, enter the army, and play army soap opera for a while. Later on, he's discharged from the army, returning home a war hero, a disabled veteran, or something in between, and then begins a young married soap opera.
This is not the only possible structure; with Le Morte D'Arthur, I created a highly symmetrical web that had a time limit imposed externally; at a certain point, the soap opera timed out and the final confrontation began. And almost any combination of such secondary structures should work, too.
All this work establishes only the *fact* of the connections in the storyweb; there remains two other issues, concerning roles and weighting of different connections, but addressing those will be the subject of future essays.