Tree Structures For Encounter Systems

This is my diagram of a story:

story

The ‘obvious’ way to make this interactive is to give the player some choices; at each point the story, give the player some alternative options. This produces a tree, like so:

standard-tree

A single playing of the storyworld yields a story:

SinglePath

This is what everybody tries and everybody fails with, because the tree requires an enormous number of leaves, far more than any person could concoct.

My solution was twofold: first, I moved to a higher level of abstraction, assembling verbs so abstract that they could be re-used many times. This enabled them to be assembled into what computer scientists call a directed graph:

DirectedGraph

My expectation was that, with a sufficiently flexible set of verbs, I could re-use verbs freely, permitting one verb to handle many interactions.

The second part of my technology is the use of variable interpersonal relationships. As the player moves through the directed graph, executing verbs, those events change relationships, altering the significance and effects of each verb. Ultimately, my scheme boiled down to Pac-Man with verbs for intersections and personal relationships instead of dots, and a much larger directed graph.

But it didn’t work; I couldn’t find a level of abstraction that supplied richness of play that was algorithmically accessible.

So let’s abandon the concept of re-usable verbs and instead consider the idea of using lots of single-use encounters. We will retain, however, the ability to modify personal relationships by traversing the graph. Here’s the simplest scheme:

ParallelEncounters

All encounters are equally likely at any given moment. The player hits encounters in random sequence. This is certainly a simple architecture, but it has nothing in the way of a story arc. In order to have any kind of story arc, there has to be some vertical structuring of the encounters; some should come before others. In fact, for a proper story, there should be causal relationships between encounters. The player must realize that events have consequences, that different choices lead to different results. Therefore, we must impose some kind of vertical structure onto our collection of encounters.

That vertical structure expresses the causalities that comprise the artistic content of the storyworld. If you’re a bad guy, you end up falling down a bottomless shaft (well, if you’re a bad guy in Star Wars). If you’re a good guy, you get the princess, the treasure, or the bubble gum.

Thus, we must structure our encounters along lines like this:

axby

That is, the choices made by the player must somehow influence subsequent events. Some number expressing the import of the player’s choice must be used to determine the path.

Now, this effect need not be manifested immediately, but it the greater the interval between the player’s decision and the consequences of that decision, the more difficulty the player will have understanding the artistic message. If that relationship is intuitively obvious, a long interval isn’t a problem. For example, if early in the story, the player kicks a kitty cat, and late in the game, the player runs into the same kitty cat, who proceeds to scratch the player, that relationship will be easily understood regardless of the intervening time.

This is the method I have always utilized; the critical mathematical expressions I have called “inclination equations”, with “inclination” referring to the likelihood that a particular option will be chosen. Inclination equations have always been one of the most difficult parts of building a storyworld in the Storytron technology.

There is another way to accomplish something similar while simplifying the authoring process. The Encounter Editor I built includes a simple mechanism for specifying the alterations in personal relationships consequent to a player’s choice. We could dispense with all other calculations and rely solely on those personality values to determine the reactions to a player’s choice. This simplifies and unifies the mechanics of encounters.

But there’s another application of those personality values: the selection of encounters to present to the player. Encounters already have three criteria to determine whether they are selected to be presented to the player: turn number, prerequisites, and disqualifiers. I propose adding three more criteria: the three pValues of the antagonist in the encounter towards the player. For each of these, the storyworld author specifies a window of values that are acceptable.

I stop here, because this essay is already too lengthy. In my next essay, I’ll lay out a particular example.