Plot Control

Laura Mixon and I have continued our discussions on plot control. Here is my current thinking. We don't need to make many changes to the existing design, as it is robust enough to handle the problem. All we need is a special verb that we might call "PlotPoints". It can have up to 16 roles assigned to it; each role can have up to 16 consequences. Each role acts as a distinct plot point. There's just one special thing about this verb: every hour on the hour, the engine triggers a substory containing this verb and no subject and no objects. Each of the roles will be examined and might trigger.

 

My intention is that the role activation equations can be based on critical values assigned by the storybuilder. For example, the storybuilder might create a variable called "Karma". This variable is then calculated in any way she desires. Let's say it is initialized to zero and increases with good acts and decreases with dastardly acts. Then each of the 16 plot points can be based on Karma reaching a certain value. The storybuilder can also have a timeout role that triggers if too much time has expired.

 

Note that the system can be extended in a variety of ways. First, a plotpoint can be treated as a gateway to other verbs, so that the storybuilder can fan out to a variety of options for each consideration. Second, plotpoints can be logically more complex; the Karma role, for example, could trigger if the Karma value passes its threshold, but then consequences could be selected based on more detailed considerations. Or, if the storybuilder wants more complex logical evaluation, the Karma plotpoint can trigger another verb with its own set of roles, each with its own activation equation.

 

Everything hinges on the storybuilder's ability to define a good set of variables that characterize the player's progress. I suspect that I will need to support this effort with some standard functions and variables. The storybuilder can then assemble these into interesting combinations.

 

"All too easy", said Darth Vader as he pushed the button to activate the deepfreeze machine.