Negative Lessons from Storytron

November 12th, 2010

I have learned quite a few lessons from the problems with Storytron, many of them negative: what doesn’t work. Here I sketch out some of the most important negative lessons:

1. Authors should not do programming
I think I pushed authors too hard with Sappho, the scripting language built into SWAT. The language had all sorts of wonderful features, but programmers were frustrated by its limitations and storytellers were intimidated by its power. It fell into the nether zone between techies and arties, and as a consequence, nobody could make it work right. Any system I create cannot rely on authors doing anything remotely like programming. Therefore, I have decided to limit authorial input on decision-making to the control of coefficients in pre-established linear equations. All formulae in the new system will take the form Ax + By + C. where x and y are attributes and A, B, and C are coefficients that the author can control. That will be the extent of authorial control over behavior in the system. I used such a system with Balance of the Planet and it seemed to be effective.

2. Authors should not create verbs, roles, or options
The concept of a network of verbs is too messy for most people to deal with. Figuring out all the connections and all the roles and options is simply too much work and it’s too easy to get confused. Therefore, I must provide the entire verb set and all the roles and options for that verb set. This in turn will require me to confine myself to generic verbs. This must be a very basic verb set, something that covers all the basics of human behavior, without getting too specific. It must be large enough to span the vector space of dramatic behavior, yet small enough to be comprehensible.

3. Authors need a better way to control text.The textual capabilities of Storytron were too limiting. I think that the designer must choose between an iconic approach and a textual approach. The iconic approach encourages users to apply imagination to figure out what the language is saying, and therefore forgives some unavoidable grammatical clumsiness. This was the trick I used with Siboot. The textual approach seems more natural to most people, and can provide more detail, but will inevitably be subject to grammatical infelicities. Scripting the text, as we did with Storytron, is too clumsy. A simpler method, using nothing more than text variable substitutions, is called for. However, the heavy use of appositives as was done with Tinkertoy Text in Erasmatron is inadvisable, as most people quickly recognize such apposition as a mechanical ploy.

BNumbers: the jury is still out.
I have not yet decided about the merits of the BNumber system. On the one hand, the concept was certainly confusing to most people. The use of linear equations would seem to preclude use of BNumbers. However, I remain enamored of two advantages of BNumbers: 1) the bell-curve nature of their behavior, which closely reflects dramatic situations; and 2) the fact that you needn’t worry about comparing numbers; they’re all on the same scale. I like the idea that Bad_Good and False_Honest are measured in similar numbers; if we start mixing Bad_Good values in the range of 500 with False_Honest values in the range of 5, we’ve got a serious mismatch that will only cause headaches. I addressed this problem in Balance of the Planet by placing upper and lower limits on the values of the coefficients. I would much prefer to keep all values inside the range -10 to +10 or perhaps -100 to +100; people can appreciate such values. I might be able to rig all the formulae to insure that all the values remain inside those ranges -- but it will be a tricky matter.