Version 0.01

I only had about three days to work on this, but here are the tasks I handled in this my first cut at the storyworld:

First, I identified all my major characters. Using the Backgrounder, I gave each one a name and made the character active, and set its gender. I then went through assigning preliminary personality traits to each one. I didn't get around to putting in the textual character description, nor did I work on the character faces. I just needed to get my cast operational before proceeding to the real meat: the verbs.

I decided to initiate the storyworld with the "Saxon raid" subnet. It's simple, obvious, and provides some handy interactions. It can be the foundation on which I build. Later on I can substitute more layers underneath it. Having made that decision, the initiating verb was SaxonRaid. This led immediately to AppealForCounterRaid, and then I gave Arthur his first decision: AnnounceCounterRaid, EvadeCounterRaidDecision, and RefuseCounterRaid. However, I then realized that characters would want some input into Arthur's decision, so I inserted some Bystander reactions: AdviseForCounterRaid and AdviseAgainstCounterRaid. I then made AppealForCounterRaid hijackable, and we were in place.(I also had to copy the Arthur role from AppealForCounterRaid and paste it into AdviseForCounterRaid and AdviseAgainstCounterRaid, but that was about one minute's work.)

At this point I stopped and went back and did the housekeeping on all these verbs. I assigned each one a PreparationTime, an ExecutionTime (all equaled 1), and a facial expression. I typed in the verb descriptions, paying special care to specifying each of the secondary objects in use.

You will note that I make heavy use of secondary objects. In general, I believe that you can't have too much information. It doesn't cost anything to use those slots, and they might come in handy down the road. So if I have any uncertainties as to its future utility (and there's still an open slot), I slap it in. Certainly erring in this direction is much better than erring in the other direction: forgetting to include a necessary secondary object. That *really* screws everything up.

I then went through each of the verbs, entering its tinkertoy text. You will note that I didn't fill in all the fields. That's because these verbs all presume Arthur's role, and I can therefore be certain of which fields in the TinkertoyText will be used. If I changed the storyworld so that the protagonist is anybody but Arthur, then there would be big problems with this approach.

Now some comments on the decision scripts. First, you will notice that I even provide Inclination equations for Arthur. This may surprise you -- what's the point of putting in such values when the decision will always be made by the user? Answer: because I want the rehearsals to function smoothly. I need a decent virtual Arthur making decisions for me. Of course, for testing purposes, it would be better to replace the user with a monkey who randomly chooses options. This is not because I consider users to be essentially monkeys; it is because such a system tries out many combinations that I might never think of, thereby exposing cooties all the better.

At this point I realized that I needed a new variable to handle the most important concept in the game, so I created the custom relationship Kingliness. Why did I make Kingliness a relationship instead of a personality trait, you ask. Because Kingliness is not truly intrinsic to the king, but is perceived in the eye of the beholder. That's why one person might think Arthur a great leader, while another thinks him a loser.

Having created the Kingliness relationship, I could now use it as the primary emotional reaction to Arthur's decision. This is important: everything Arthur does must be aimed at getting Kingliness brownie points. By the way, notice the rather odd way I used NumObject2 to keep track of the accumulating body of opinion regarding Arthur's decision. I should probably go back and base that calculation not on the advice of those who are present, but instead on the aggregate opinions of all the characters.

Next I set to work on the reactions to Arthur's decision. If his decision was to reject the appeal, not much happens: a few people have emotional reactions but there is no action taken. I'd like to add some options for this, but that can come later. If Arthur waffles, *everybody* thinks less of him. If he decides to proceed with the counter-raid, then each actor must declare how many of his men s/he will bring to join the army. There are three choices: None, some, or all. Although the decision was easy, there was a lot of work getting the TinkertoyText working well, because these texts are heavily used in rapid succession, so that repetitions are particularly grating. Notice that I concentrated on getting numerous versions rather than lots of appositives. I'll go back and make appositives someday. Notice also that I didn't use the glossary very much. I'm still getting used to it.

I did run into one confusing situation with this subnet: notice that Arthur gets to react to his own decision in AnnounceCounterRaid. Whenever you have the protagonist-subject reacting to his own decision, even if he has no action options to take, then the subject's action will be reported in the top text window. We call this "echoing" because it often yields sequences wherein the user clicks on "I run away", and then sees a text window announcing "Arthur runs away." The solution is to insert some explanatory text that describes any intermediate ev
ent -- as I did in this case.