SWAT TUTORIAL
More About Attributes
In Attributes, we talked about Actor, Prop, and Stage core traits and characteristics. In Relationship Editor, we touched on Accordance and perceived traits. This tutorial provides more detail on how you can put Weight Traits and Corresponding Traits to use in your scripts.


Weight Traits

In the Actor Editor, you will see that for every Actor Trait, there is a corresponding WeightTrait. WeightTraits are very powerful storytelling tools.

An Actor's Trait tells you what they are really like. Their Weight Trait tells you how they want to be perceived: i.e., how much they value the given Trait. For instance, in our testing storyworld, Fred may be rather hotheaded (that is, he has a somewhat large Cool_Volatile value), but he may want to be perceived as levelheaded. This disparity between your who characters are, and who they wish they were, is at the heart of good storytelling, and you can use it to achieve strong effects. See Corresponding Traits below for an example of how this disparity can be used in scripting.

Also, since WeightTraits reflect the characteristics the Actors value in themselves, as a general rule, WeightTraits can also be used as an indicator of what your Actors value in others. Here's an example.

Let's say Carmina has just learned that her friend Florence has deceived her about something fairly minor. Two different kinds of emotional reactions might be appropriate for Carmina:

(1) By how much will her perception of Florence's trustworthiness change?
(2) How angry she does get about being deceived?

Clearly, Carmina's perception of her friend's honesty will always decrease, if she finds out she has been lied to. But how angry she gets can vary. If she values honesty highly (that is, she has a high False_HonestWeight value—say, 0.4 or so), she might be furious over even a small deception. But if she has a low False_HonestWeight (say, -0.4)—even if she has a high False_Honest!—she does not place a high premium on honesty, either in herself, or in others. In this case, she might get mildly irritated, but would be more tolerant of Florence's fib.

Here is how the AdjustFearful_Angry Script might look:

fib to: fibbee: AdjustFearful_Angry
BNumber2UNumber of:
     False_HonestWeight of:
          ReactingActor

The BNumber2UNumber term says the Actor will never become fearful over being lied to; only angry. The extent to which the ReactingActor values the characteristic of honesty determines how mad a fib will make him or her. Create this script and then test it in Scriptalyzer. Notice how differently the script behaves for a high False_HonestWeight versus a low one.


Corresponding Traits

Here is how to use the Corresponding___Trait set of Operators.

For every invisible core Attribute, there is a corresponding set of related Attributes. For Actors the traits include:

Xxx_Yyy (Core Trait - e.g., Cool_Volatile)
AccordXxx_Yyy (Accordance Trait - e.g., AccordCool_Volatile)
Xxx_YyyWeight (Weight Trait - e.g., Cool_VolatileWeight)
pXxx_Yyy (Perceived Trait - e.g., pCool_Volatile)
pXxx_YyyWeight (Perceived WeightTrait - e.g., pCool_VolatileWeight)
cXxx_Yyy (Confidence Trait - e.g., cCool_Volatile)

For Props:

Xxx_Yyy (Core Trait - e.g., Harmless_Lethal)
pXxx_Yyy (Perceived Trait - e.g., pHarmless_Lethal)
cXxx_Yyy (Confidence Trait - e.g., cHarmless_Lethal)

For Stages:

Xxx_Yyy (Core Trait - e.g., Grungy_Elegant)
pXxx_Yyy (Perceived Trait - e.g., pGrungy_Elegant)

The Corresponding___Trait Operators allow you to cross-reference these different related Attributes. Here is an example.

Assume that you want to create a sequence where Actors can insult each other. Let's assume that the Actors have three different choices. They can call their foe ugly, stupid, or mean. In the Verb insult appearance, the Deikto sentence would look something like this:

Subject - insult appearance - DirObject - 4ActorTrait - 5Quantifier

— where 4ActorTrait is the Attribute that ReactingActor wants to insult, and 5Quantifier is the degree of insult.

To use this script, your ReactingActors have to figure out what they believe their foe is most sensitive about. It turns out that there is a simple way to do this. Storytronic Actors all have a perception of each others' personalities, including how important certain characteristics are to them. These latter perceptions of others' values are the Actors' p___WeightTraits. In other words, Mark's pStupid_SmartWeight for Jonathan is how much Mark thinks Jonathan wants to be perceived as smart.

The 4ActorTrait Desirable WordSocket, then, would look like this:

CorrespondingPWeight of:
     ReactingActor
     ThisSubject
     Candidate4ActorTrait

With this script, ReactingActor chooses the Attribute he or she believes the DirObject is most sensitive about.

(For extra credit, can you figure out what the 5Quantifier WordSocket scripts should look like? As a suggestion, you might tie the intensity of the insult to how much ReactingActor dislikes ThisSubject; that is the pNasty_Nice of ReactingActor for ThisSubject. Or you might use Fearful_Angry. A couple of hints: to make this Verb work properly, all traits that are deemed acceptable for insult will need to be bipolar, and you will need to use BInverse of BNumber2UNumber if you want the Actor to always say something negative.)




Previous tutorial:  Audience Requirements                                                                          Next tutorial:  Quantifiers