Storytron > Swat > Immersive tutorial (Part 1) > A First Look at Script
A First Look at Script
Does Script look weird? That's because
it is weird. It's also very powerful - Script to a storybuilder is like a full
set of colors to a painter: you can do anything with it, provided you know how.
And to explain the "how" part, you first need to know a little about
the "what" part. You can read about it in the overview. I highly
recommend you read the article "More
about Dramatic Principles and Components" before continuing.
Here's a short rundown: In
Storytronics, Actors interact by performing Sentences such as "Bill Tell
Wanda that Bill love for Wanda big", or "Robin Shoot Carl".
Whenever an Actor performs a Sentence, all those present, including that Actor,
may want to react to that Sentence. But not everyone will want to react in the
same way. For example, if Robert stole Mary's wallet, they would both want to
react - Robert would want to run away, and Mary would want to get her wallet
back. In Storytronics, we would say that Robert has assumed the Role Thief, and
Mary has assumed the Role TheftVictim. Each of them will then react to the
Sentence according to the Role he or she has assumed. Of course, different
Sentences call for different Roles. For example, if Robert gave Mary a flower
instead of stealing her wallet, she would more likely assume the Role
GiftReceiver.
Unlike in real life, in Storytronics
Actors don't create Sentences freely by mixing and matching words. Instead, a
Sentence's Verb determines that Sentence's form. The Verb also determines which
Roles Actors can assume in reaction to the Sentence. For example, suppose the
following Sentence happens in a storyworld:
Fred Tell(Actor) Dick
that Jane Smart small
In English, this would mean "Fred
tells Dick that Jane is pretty stupid." Here's what goes on in the minds
of both Fred and Dick:
"Ooh! A Sentence! I want to
assume a Role! Let's see, the Verb is Tell(Actor), so I need to go over to that
Verb to see what Roles I might assume…"
Since there's only one Role for this
Verb, our heroes Fred and Dick don't have a lot of choice. Either they assume
this Role or they don't react at all. Of course, not every Role fits every
Actor. For example, we said earlier that if Robert gave Mary a flower she'd
probably assume a Role like GiftReceiver. But what Role would Robert assume? I
think he wouldn't assume any Role - after all, why should he react to his
giving Mary a flower? I'd expect him to wait passively until she reacts.
Therefore, each Role has what we call
an AssumeRoleIf Function. This is a Script Function that allows an Actor to
determine whether to assume this Role. We've already looked at the AssumeRoleIf
Function for the DirObject Role. Here it is again, with an English translation:
Here our heroes' paths diverge. Fred
looks this Function over and thinks: "Is the following true? Am I the same
Actor as the DirObject of the Sentence just performed? Well, of course not! I
was the Subject of this Sentence, Dick was the DirObject! Guess I can't assume
this Role, then." Dick, of course, finds that this Role suits him like a
glove, and promptly assumes it.
NOTE: A Role's name has no effect on which
Actors may assume it. Only the Role's AssumeRoleIf function decides which
Actors may or may not assume it.
By the way, note that the player's
freedom of choice does not extend to Roles. In other words, while the player is
free to make many kinds of decisions (explained in the following chapters), he
or she cannot choose which Roles to assume. This decision is made for the
player automatically, using AssumeRoleIf functions, just like for the
computer-controlled Actors.
Assuming a Role is only the first step
Dick takes to react to Fred's Sentence - now that he's assumed a Role, Dick
must decide what, exactly, he wants to do. We'll discuss that in the next
chapter.
Next:
Adding Options
|