Read Chris Crawford on Interactive Storytelling Online
Authors: Chris Crawford
Having decided
whom
to Gossip with and
whether
to Gossip with that Actor, the entering Actor must now determine
what
information to share. Obviously, the Actor wants to start with the most important headline, but the importance of an Event to a particular Actor isn’t merely a matter of the Verb’s intrinsic importance. The importance (that is, theImport
value) is modulated by the Actor’s closeness to the Subject and DirObject of the Event. In other words, learning about the murder of some nameless person on the other side of the planet probably won’t evoke much interest from you, but your brother murdering your wife would be intensely interesting to you. Hence, the personalImport
of any Event is the product of that Event’s VerbImport
multiplied by the magnitude of the relationship variables the Actor feels for the Subject and the DirObject.
Which relationship variables should be used for this calculation?
This question breaks down into two subordinate questions: Which variables should be used, and should their absolute values or signed values be taken into consideration? (Absolute values are only the size of a number; signed values keep track of whether that number is positive or negative. For example, the absolute value of -27 is 27, and the absolute value of 27 is 27.) You could confine your considerations to a single salient relationship variable, most likelyAffection
; this is certainly justifiable. My preference is taking all relationship variables into consideration because people remain interested in gossip even about those for
whom they feel no affection. For example, if a company executive is caught in a compromising situation, employees gossip about it, even though they might have no affection or disaffection for that executive. The power the executive holds over employees creates a relationship that might not involve affection, but nevertheless commands their personal interest.
The second subordinate question is easier to answer: You should use the absolute values, not signed values, of relationship variables. In other words, people are just as interested in gossip about those they hate as about those they love. Gossip is rendered boring by the
lack
of a relationship with its subject, not whether that relationship is negative. Here’s the result of these deliberations in mathematical form:
PerVirtue, PerTrust
,
andPerPower
are explained in
Chapter 11
, “Personality Models.”
A few other considerations go into the process of deciding which headline Event to talk about. One is whether the listener already knows the information. This consideration provides a perfect example of the difference between physical reality and dramatic reality. In physical reality, you don’t know what events another person knows, which leads to all those boring and pointless sequences of “Did you hear that…” “Oh, you did? Never mind.” You don’t need this kind of clutter in your storyworld, and you don’t have to put up with it because the computer can look inside Actors’ minds and establish what they already know. Therefore, your Gossip system should automatically eliminate from consideration any information the listener already knows.
After all these momentous calculations, the actual consummation of Gossip is disappointingly simple: The engine sets theIKnow
flags for all Events in the Tale to betrue
for the listener, and the listener can enter these Events into his headline list. There’s no need for explicit conversation to take place between the Actors, unless one of the Actors is the player.
In terms of drama, the yin of information demands the yang of disinformation. Where would storytelling be without the protagonist misled by some dastardly lie? Any Gossip system must include provisions for lying.
In terms of the data structures I have presented, a
Lie
is nothing more than an Event that never happened. It contains all the same data: Subject, Verb, DirObject, and so forth. But one tiny addition must be made to the Event data structure to accommodate lying: aTruth
boolean flag indicating whether the Event is true or false. Normal Events have this flag set totrue
, meaning that the Event is real and true, but Lies will have this flag set tofalse
.
Creating a Lie is simple to implement but difficult to plan. First, the liar has to make the decision to lie. Several motivations, discussed in the following sections, might apply.
The simplest motivation for lying is to wreak some injury upon the victim with a besmirching lie. The first task is to determine whether the goal is damaging the victim’s relationship with a particular Actor or damaging the victim’s overall reputation with the overall cast. In each case, the liar selects the most salient relationship (that is, the relationship with the highest value) to attack. Next, the liar must search through the storyworld vocabulary to find inclination formulae requiring the desired perceived value of the intrinsic variable (Integrity
orVirtue
, for example) the liar wants to sully. The best of these inclination formulae (that is, the inclination formula with the strongest reliance on a negative value of the target intrinsic variable) identifies the Verb that should form the basis of the Lie.
Here’s an example. Suppose that Al wants to hurt Oecolampadius with a Lie. The values of Oecolampadius’s personality traits are as follows:Virtue
27,Integrity
81, andPower
19.Integrity
has the highest value, so that’s the one to attack. Al next searches through all the scripts of all the Verbs, looking for an inclination formula usingIntegrity
in a negative sense (that is, lowIntegrity
increases the chances of selecting that Verb). He discovers an inclination formula for the VerbBetray
that looks like this:
Inclination[Betray] <= PerVirtue[You, Subject] - Integrity[You] / 2
This inclination formula indicates that only a person with very lowIntegrity
would chose the verbBetray
. Hence, Al choosesBetray
as the verb for the Lie.
Having decided on the Verb, the only remaining problem is to select an appropriate DirObject. The danger here is that the DirObject will almost certainly know that the Event never happened, so the liar must select a DirObject who is remote from the overall cast or isn’t trusted. The simplest solution is for the liar to use himself as the DirObject—if this accomplishes the relationship alteration the liar wants. For example, a female liar could easily besmirch a male victim in the eyes of that victim’s girlfriend by claiming that the male victim slept with her. However, the liar can’t use himself as the DirObject in some situations. For example, if the liar wants to impugn the victim’s benevolence, but everybody knows the victim hates the liar, then circulating the lie that the victim insulted the liar will accomplish little.
After the DirObject has been selected, the liar need merely create the falsehood as an Event with Subject (the victim of the lie), Verb, and DirObject. The liar then inserts the Lie into the HistoryBook, setting theTruth
boolean flag tofalse
and theIKnow
flag for himself totrue
. At this point, the liar can simply let the normal Gossip mechanism take over, trusting it to spread the word to the appropriate people as opportunity permits.
A more common motivation for a Lie is to misdirect its victim in some manner that causes beneficial Events for the liar. Drama usually requires that the lie induce its victim into some undesirable situation. For example, Princess Fiona tells Donkey to go into the forest and find a blue flower; she does so to dismiss Donkey, not for medicinal reasons. Sad to say, these lies require complex inference engines. The technology exists, but integrating an inference engine into a storytelling engine is not a first-generation problem. (Indeed, the entire issue of Gossip might be fairly characterized as second-generation technology. After all, it’s entirely possible to deliver decent interactive storytelling without any Gossip systems.)
I address the possible uses of inference engines in
Chapter 15
, “Anticipation.”
A liar might want to deflect suspicion from himself for some improper action by explicitly denying it. The question is, what is the probability that the Lie can be exposed by external means? This in turn depends on how many people know the truth and whether they can be trusted to keep it secret. A high probability of exposure suggests that it’s best to own up to the crime; otherwise, make like a politician and lie, lie, lie!
Another form of mal-information is revealing a Secret, which is a true Event that the Subject wants to remain unknown by others. Jane tells Mary “Don’t tell anybody, but I’m pregnant by Fred!” Mary then tells Adrienne, who tells Marcy, who tells someone else, and pretty soon everybody knows the news—much to Jane’s chagrin. Telling, keeping, and revealing secrets are crucial elements of drama, yet managing the mechanics of this behavior is complex.
I attach to each Event a boolean flag labeled, amazingly enough,Secret
, that indicates whether the Event is expected to be kept secret. The Secret is “owned” by the Subject of the Event, and an Actor’s respect for the Secret is determined by his or her relationship with the owner.
Here’s another interesting example of the distinction between dramatic reality and physical reality: If Fred and Jane have sex and Jane gets pregnant, the physical reality might be reported as “Fred impregnates Jane” because the active role is normally attached to the male. But if the story context makes Jane’s pregnancy the important factor, the Event should be recorded as “Jane becomes pregnant by Fred.” Jane is, in terms of the drama, the more important Actor, so she should be treated as the Subject. Moreover, this way, she owns the Secret.
Any Event worthy of secrecy will be known by only a few at first, perhaps just the Subject or DirObject. Indeed, for some Events (for example, “Mike decided to kill Adam”), only the Subject has knowledge of them. What causes the Secret to spread?
Realistically speaking, most people would keep these secrets to themselves. But this is drama, not reality, so it’s important that the Secret’s owner divulge it to somebody else. That’s how you get the dramatic pot bubbling. Perhaps nothing will come of it—but it could just as well lead to all sorts of dramatic mayhem. What fun!
This dramatic effervescence arises from a kind of “trust gradient.” Jane trusts only Mary, but Mary trusts Adrienne, so Mary tells Adrienne, who trusts and tells Marcy, and so forth. In each case, the bean-spiller advises the recipient to keep it a secret, but the recipient divulges the information to a trusted friend to gain the benefits of sharing Gossip.