Read Chris Crawford on Interactive Storytelling Online
Authors: Chris Crawford
WordNet includes additional information, such as classes of words (nouns, verbs, adjectives, and so forth) and some additional relationships among words. The project continues to develop as researchers expand the database to include ever more useful information.
Another example of a semantic network is the Visual Thesaurus
3,
it presents the synonyms of a word, and their synonyms, as a three-dimensional structure. It’s visually striking and screams with potential.
Many researchers are exploring the potential of semantic networks. Elizabeth Figa and Paul Tarau at the University of North Texas, for example, have explored the possibilities of using semantic networks for interactive storytelling.
See
Chapter 19
, “Research,” for more on Figa and Taura’s work on using semantic networks for interactive storytelling
.
Wouldn’t you need a superpowered machine to parse all that data?
Nope. WordNet is distributed in a form that runs on a modern PC. Its operation isn’t optimized for speed, but it still runs plenty fast for our purposes. Remember, inverse parsing takes place one word at a time, between player inputs. The code can fiddle around with the parsing problem for, oh, half a second before a player would notice the delay. Half a second represents a billion machine cycles on a modern PC. A computer can parse of a
lot
of information in a billion steps.
A sublanguage for interactive storytelling has one gigantic advantage over natural language: It’s visual rather than auditory. Auditory expressions are one-dimensional, but visual expressions have multiple dimensions (horizontal, vertical, color, texture, and animation). The visual expression of natural language, writing, remains one-dimensional in structure even on a two-dimensional page.
Failure to take advantage of the computer’s multidimensional capability would be a mortal sin against the Muse of Design. I first used a graphical language in 1986 with my game Siboot. My sublanguage used icons that were linked into sentences, as shown in
Figure 10.2
.
FIGURE 10.2:
Linking icons in Siboot.
In this screenshot, the lower-right pane shows a short sentence: “Wiki greets Vetvel pleasantly.” Wiki is the catlike icon, and Vetvel is the horned icon. The verb “greet” is in the center, and the adverb “pleasantly” modifies the verb.
Player input is handled in the upper-right pane; it shows a complex sentence the player has almost completed. (This is an example of an inverse parser at work.) The almost complete sentence says “Vetvel offers to tell Wiki what Gardbore’s shial-value is if in return Wiki tells Vetvel…” The notion of the deal is communicated by the central handshake icon. The verb “tell” shows up in two places. Vetvel’s “tell” is modified by the icon for Gardbore (the long-eared creature), which in turn is modified by the value for “shial” (a critical quantity in the game). On the right side of the sentence, Wiki’s “tell” hasn’t yet received its modifier and so has a hanging connector. A list of icons shown at the far left could be used as modifiers; each icon represents a character.
An important concept used in this sublanguage is the notion of
autofilling
. The sublanguage’s software is intimately connected with the game’s database (as it must be if it’s to be useful). The software knows what words fit into which situations, so it can prune the menu of available words to display only permissible words. In the preceding example, the software has restricted the set of choices
to include only those secrets that Wiki has available to trade. It can even exclude secrets Wiki has to trade that Vetvel already knows, so wouldn’t be interested in.
The big benefit of sublanguages is that they focus players on what’s possible and make it impossible to conceive of utterances that aren’t permitted. The sublanguage contains the rules as well as the substance of the storyworld—a powerful feature.
But wouldn’t it be difficult for people to learn a new language just to play a storyworld?
Don’t underestimate the facility with which people pick up languages. The average tourist can start picking up the rudiments of the local language after only a week. If people can begin learning complex natural languages so readily, imagine how easy it would be to learn a narrowly defined sublanguage.
The sublanguage in Siboot has a vocabulary of about 80 words—too skimpy for interactive storytelling. Larger vocabularies require more complex software. Fortunately, computers’ graphical powers have improved dramatically in the 17 years since I designed Siboot’s sublanguage. It’s no problem to use word icons that are 64 pixels wide rather than the 32 pixels I had to use for Siboot. Doubling the icon’s size quadruples its theoretical expressive power. In addition, I had to use black and white for my icons, but now you can use 24-bit color; that alone increases icons’ theoretical expressive power by a factor of 24. In other words, 64-pixel icons on modern computers are about 100 times more expressive than the icons I used for Siboot.
Basic English was created about 80 years ago in an effort to provide a simple, easy-to-learn variant of English
4
. It uses a small, carefully selected vocabulary design to cover all situations and contains about 1,000 words, with only 18 verbs: come, get, give, go, keep, let, make, put, seem, take, be, do, have, say, see, send, may, and will.
With this system, many more verbs can be assembled by combining verbs with nouns. Thus, the verb “attack” becomes “make an attack”; “cry” becomes “have a cry.” By reducing verbs to the absolute minimum, the designers of Basic English were able to simplify the language. Unfortunately, the system makes heavy use of
prepositions to extend the meanings of verbs in ways that make sense to people but aren’t so easy for a computer to understand. “Dedicated” is translated as “given up to”; “die” is “go to death.” I suspect that a reworked version of Basic English could be developed into something useful for interactive storytelling, but first someone must build a better system for handling verbs. With that done, the next task would be creating a large semantic database defining what all the words mean. This is a huge task, but certainly not an impossible one—and after the system was built, it could be used in a wide variety of products.
A lush garden of resources on pictorial languages flourishes on the Web. Some of the more interesting are discussed in the following sections.
Bliss is a symbolic language developed over several decades in the mid-twentieth century
5
. It was applied as a language for handicapped children in an experiment in Canada, with impressive results. It has since been expanded, revised, and refined. The language is built from 120 “key symbols,” which then combine into more than 2,000 words.
Figure 10.3
shows a sample.
FIGURE 10.3:
In Bliss, “much good feeling person” equals “friend.”
Timothee Ingen-Housz has created a beautiful graphical language called The Elephant’s Memory
6
. It uses a brilliant set of icons that work well together.
There’s a catch: Although the language is a tour de force in graphic design, Mr. Ingen-Housz’s genius is not all-encompassing. The language has 156 words, and there seems little chance of it growing beyond that. Words that are easily drawn, such as “elephant” or “rabbit,” are present, but the language lacks many crucial words.
The delightful term
conlangs
is a contraction of “constructed languages” (as opposed to languages that evolved naturally). Believe it or not, plenty of people love creating their own languages. Few of these languages have any relevance to the problems you face in creating a sublanguage for interactive storytelling, but these efforts will certainly broaden your thinking. To find out more, just search the web for “conlang” or visithttp://www.langmaker.com/.
Another resource for pictorial languages is athttp://vlado.fmf.uni-lj.si/seminar/28jul99/PicLang.htm.
One way or another, your interactive storytelling engine must communicate with your players. Every computer program creates a tiny sublanguage that it uses for communication with its users. You could cobble something together with menus, dialog boxes, pushbuttons, and so forth; after all, this is what people have been doing for decades. But for interactive storytelling, the range of expressions your players will require is so great that it’s worth your while to go whole hog and create a formal sublanguage.
WRITERS MOVE BETWEEN TWO POLES:
plot and character. (These poles, by the way, correspond to process and data.) Plot-style writing aims to develop an interesting plot and then create the characters to make the plot work. The other strategy is to create interesting characters and then see how they interact, expecting a plot to arise from the characters’ natural interactions. The plot-style approach is described in
Chapter 12
, “Drama Managers.” This chapter explains the character-driven approach.