Word Types

Fundamental to the design of any symbolic language for interactive storytelling is the determination of the word types that the language will use. The set that was established for Storytron was as follows:

Characters
These are the easiest word type to define and use. The symbol need only show the face of the character.

Verbs
While this word type is functionally simple, any language will include a great many verb s and so much care will be required in creating these verbs. One very useful tool is a determinative or radical. Determinatives are like graphical suffixes that clarify the meaning of an otherwise ambiguous symbol. Just as ‘baker’ is somebody who bakes and ‘bakery’ is a place where baking is done, determinatives can extend the meaning of words.

I used a variety of graphical indicators in my symbolic language for Siboot. Every word was presented inside a circle, but the circle had to fit inside a square on the screen display. I used this outermost area to indicate negation; a black outer shell indicated the negation of the normal meaning of the icon:

This can also be accomplished with a “reversal” modifier attached to a word, like so:

reversed-agree med hr

Another application of the concept of determinatives is the use of the speech bubble to indicate the contents of a speech act:

speech-bubbles med hr

Thought bubbles can also be used as determinatives:

thought-bubbles med hr

Props
Any physical object is a prop. A ‘prop model’, analogous to a personality model, is necessary for storyworlds, but an extensive prop model is not appropriate for drama. Who cares what the Maltese Falcon weighed, or what the diameter of the One Ring was? This is dangerous territory, because most designers have a background that includes extensive reliance on props for the interaction in the game. You must NOT forget that props do not provide much in the way of dramatic thrust to a story.

Stages
These are the locations on which characters interact. The only traits we need to assign to a stage are its name and which characters are there; there is nothing else about a stage that is dramatically significant. Darth Vader could have told Luke his parentage just about anywhere. Sometimes a stage does play an important role, as in The Lord of the Rings. Frodo had to drop The One Ring into the volcano. But this was really just a device to force Frodo to traverse a lot of territory, experiencing many adventures along the way. It was the adventures that made the story interesting, not the volcano.

Traits
Traits are like adjectives; they describe or modify nouns (Characters, Props, and Stages). Traits are broken down by the type of noun they modify: stage traits are distinct from prop traits which are distinct from character traits. Traits do impose a dilemma upon the designer. On the one hand, they reflect numerical values; we seldom need boolean traits such as “virginal” or “broken”. The most common use of traits is as manifestations of the variables in the personality model. We need to know how Bad_Good a character is, or the pFalse_Honest value of one character for another.

The dilemma arises from the fact that we cannot specify actual numeric values in our traits. We don’t want to tell the user that Amy is -0.13 Bad_Good. This problem is solved with: 

Intensifiers
Intensifiers specify the magnitude of any trait. They can also be used to modify some verbs. For example, a rejection of an offer can be expressed with differing levels of emphatic strength. Some verbs, such as ‘gossip’, ‘tell’, or ‘admit’ can’t take intensifiers. 

There must be an odd number of intensifiers so that we can have a ‘zero’ or ‘neutral’ intensifier. I have experimented with differing numbers of intensifiers and have settled on seven as the best range. This permits adequate resolution without forcing too much resolution on the user. It also keeps menus reasonably short. But the number 7 is not adamant.

Intensifiers must have labels. The temptation is to use index values (-3, -2, -1, 0, +1, +2, and +3) but my preferred scheme is [very negative, negative, slightly negative, neutral, slightly positive, positive, very positive]. These labels seem to work well in almost every case. It is also possible, when providing a text translation, to assign custom identifier labels to each trait. Thus, intensifiers for Bad_Good might be [evil, bad, off, OK, nice, good, saintly] but I found this tedious.

Uncertainties
This is a word type that I experimented with in Siboot. It was made necessary by the ability of characters to lie. To cover their tracks, they could declare a degree of certainty or uncertainty to their statements. This permitted some useful subtleties in gossiping behavior, but I found that the player was unable to keep up with these subtleties. I recommend that this word type be avoided for the short term. 

Adverbs
Some people have suggested a word type for adverbs. For example, they would like to be able to differentiate ‘kiss’ as ‘romantic’, ‘sexual’, ‘friendly’, ‘fatherly’, and so forth. I see no need for such a word type, as the differentiation can be made in the verb itself. Instead of the single verb ‘kiss’ with adverbial modifiers, we simply have multiple verbs: ‘kiss romantically’, ’kiss sexually’, and so forth. This does raise a problem in that the adverb must be integrated into the symbol for the verb as a determinant. Nevertheless, this approach is simpler both in terms of user interface and computationally.