Read Chris Crawford on Interactive Storytelling Online
Authors: Chris Crawford
The first step in this effort is creating a
personality model
, which is a data structure containing all the information needed to define a character. Differentiating between personality modeling as it’s used in psychology and interactive storytelling is important. In psychology, personality modeling is a scientific endeavor to determine the elements of human personality; it can be used to evaluate real people. The needs of interactive storytelling are quite different, however, so the use of psychological personality models is limited. There have been some attempts to apply psychological personality models to interactive storytelling, but they have yielded dull results because real people aren’t as highlighted in their personalities as actors in drama. They make prudent decisions where characters in stories make bold ones; they hedge their bets where story characters throw caution to the wind; they stay well within the envelope of socially acceptable behavior where the characters in stories deliberately push the edges of that envelope to explore the human condition.
The factors used in a personality model for interactive storytelling must meet four crucial criteria: They must be complete, concise, and orthogonal, and they must be tied to behavior.
The factors that make up a personality model must completely address all the behaviors you want to evoke in your storyworld. If your storyworld is to include sexual behavior, you must have factors such as lust and sex appeal. If your story-world is a children’s storyworld without any sexual elements, you can dispense with these factors. If your storyworld is a macho-guy action world with lots of action and only a token sexy chick, you need only one or two factors concerning romantic interaction; in a chick-flick storyworld, you’d need many more romantic variables.
Lesson #21
The personality model must cover the behavioral range of your storyworld.
Some storybuilders are tempted to develop a huge personality model containing every possible factor and trait imaginable. Whenever a design problem arises, they throw a new personality trait into the model, and poof! The problem is gone. This approach ultimately comes back to bite them because as more personality traits are added, determining which traits should be applied in any given situation becomes more difficult. A good personality model must be small enough to keep inside your head at all times. If you have to consult it every time you use it, you’ve made it too big.
Lesson #22
Keep the personality model as small as possible.
Variables in a personality model must not overlap; if they do, you’ll always face difficulties in knowing which one to apply. Suppose you have built a personality model with the variablesGood-Humored
andFriendly
. These two factors aren’t identical, but they do overlap somewhat. That overlap can cause endless problems. Suppose an Actor with these traits encounters a stranger under inauspicious circumstances. In calculating the Actor’s reactions to the stranger, the storybuilder needs to take both factors into account. It’s difficult to imagine any situation in which one factor would apply but the other factor wouldn’t. If you can’t imagine such a situation, then there’s no functional difference between the two factors. They should be collapsed into a single variable.
A simple geometric analogy might help those who never endured vector analysis. Imagine getting around in a city with streets laid out in a regular rectangular gridwork, with numbered avenues running north to south and lettered streets running west to east. If you are at the corner of 3rd Avenue and B Street and you need to get to 8th Avenue and D Street, you know you must go 5 blocks south and 2 blocks east. That’s the only combination that will work.
Now suppose you live in a city with a three-way street grid, as shown in
Figure 11.1
.
You could get from one point to any other point by a number of combinations. For example, you could go from the corner of 1st Avenue and A Street to the
corner of 4th Avenue and C Street by going 2 blocks east along γ Road and 1 block southeast along C Street or, if you don’t want to travel along Greek-lettered roads, by going 2 blocks northeast along 1st Avenue and 3 blocks southeast along C Street.
Of course, no city is organized in this way because it’s silly. You don’t need three sets of roads when there are only two main sets of directions (north-south and east-west). You want to collapse those three sets of roads down to two sets. In the process, you get roads that are at right angles to one another, and that’s what I mean by
orthogonality
.
FIGURE
11.1:
Three dimensions of streets on a two-dimensional surface.
This idea of orthogonality is just a formalization of the concept of conciseness. If two variables are orthogonal, they have nothing whatsoever in common. Hence, orthogonality is really a means to achieve conciseness.
Lesson #23
Achieve conciseness through orthogonality.
Personality models aren’t built as an academic exercise; they’re used for the pragmatic purpose of determining Actors’ behaviors. Every personality trait in the model must be created with an eye toward the behavior it might control. Spirituality might seem like an important personality trait, but if your story-world doesn’t include spiritual behavior, this trait is useless and doesn’t belong in the personality model. The personality model must be created after determining the storyworld’s basic content. After storybuilders have answered the question “What does the user DO?” by creating a list of verbs accessible to the Actors, they can start to build a personality model that permits Actors to discriminate among those verbs.
Lesson #24
The personality model mirrors the behavioral universe of the storyworld.
It’s possible to take Lesson #24’s admonition too far, however. Some behaviors can be so difficult to define that it’s tempting to create custom traits that directly control the behavior, even though you have no idea what that trait might mean. For example, suppose you need to decide the behavior of Actors who might engage in kissing. What factors would determine their proclivity to kiss somebody? The wrong answer is to create a special variable calledProclivity_to_Kiss
. Instead, look deeper into the human soul; think more abstractly. What fundamental personality traits lead to a proclivity to kiss? Sensuality seems like a good choice; affection for the other person should be another factor. You’re better off controlling behavior with these fundamental variables than tossing in a special-case variable every time you feel stumped.
If you can’t derive behavior from fundamental personality traits, either you don’t understand the human condition well enough to design storyworlds, or your personality model is incomplete.
Lesson #25
Don’t create special-case personality variables for individual verbs.
Five broad types of variables could be used in a personality model:
intrinsic, mood, volatility, accordance
, and
relationship
. The first type includes the intrinsic personality traits associated with any character: greed, lust, pride, and so forth. The second type, mood, includes the variable emotional states people are subject to, such as anger or joy; these personality traits change with time. Volatility variables govern the readiness with which mood variables can change; accordance variables govern the readiness with which relationships change. The last variable type includes the relationships each Actor has with all the others.
I call the first four variable types
first-person variables
because they are represented in many data structures as entries in a one-dimensional array of Actors:Greed[ThisActor]
,Anger[ThisActor]
, and so on. The fifth type (relationships) I refer to as
second-person variables
because they are represented with two-dimensional arrays, such asAffection[ThatActor, ThisActor]
orTrust[Joe, Fred]
.
This notion of first-person and second-person variables might strike you as odd, but in fact it makes a great deal of sense when you approach it in a larger context. For example, in a relationship such as trust, couldn’t you say that trust is really one person’s perception of another’s honesty? Could you call fear one person’s perception of another’s potential to wreak damage? This way of thinking about personality variables offers a remarkable benefit: It can be extended usefully to three dimensions. A third-person variable would then be one person’s perception of another’s perception of a third person. Although that might sound like an mouthful of egregious indirection, third-person statements are made every day: “No, Joe wouldn’t ever trust Marcie.” The speaker is expressing his perception that Joe holds a negative perception of Marcie’s honesty.
Accordance variables represent the degree to which an Actor readily perceives high values of another’s intrinsic variable. The most obvious example is the concept of gullibility—the willingness to accord trust to another. Its opposite, suspiciousness, is a proclivity to accord small amounts of trust to others. Another example would be timidity, the degree to which one Actor accords power to another Actor. The concept of accordance might seem abstruse, but when you write formulae for relationship changes, the need for these variables leaps out at you. If Actor A insults Actor B, how angry will Actor B become? Some people have thick skins; some people are easily antagonized. Storybuilders need some means for expressing this important personality difference, and accordance variables fill that need. Every relationship variable needs an associated accordance variable.
This way of organizing a personality model imposes some constraints on a system of variables, but these constraints clarify the operation of any personality model. Thus, if you have a personality trait ofHonesty
, the second-person perception of that trait in another is the relationship known asTrust
.
What other personality traits could be considered? The obvious choice is love. A bewildering array of terms are available: love, affection, caring, friendship, warmth, and many others. For reasons that will become clear later when I present my entire system of variables, I prefer to useVirtue
as the intrinsic variable,AccordVirtue
as the accordance variable, andPerVirtue
as the relationship variable.
Just a minute, here. These terms you’re using don’t fit the concepts. Affection, love, or whatever you call it is motivated by much more than virtue. Kinship matters, as does parallelism of goals and interests.