Programming Narrative

 

Kevin M. Brooks
Interactive Cinema Group, MIT Media Lab
Cambridge, MA 02139
email: brooks@media.mit.edu
http://www.media.mit.edu/people/~brooks

 

Abstract

With the introduction of the computer, narrative experiences can be found in new media applications as diverse as MUDs, arcade games and 3D immersive environments - and new applications are being created all the time. The form these narrative experiences take are as diverse as their mediums: from the experiential story experiences of MUDs to the intricate branching plot paths of adventure games. But like with the introduction of television after decades of radio, a new medium calls for a new aesthetic, a new method of writing for that medium. Good functional models are needed to help define this aesthetic and specialized tools required to help build the work. The writing tool described in this paper, Agent Stories, is software currently under development for visually designing non-linear cinematic stories for new digital mediums.

Introduction

Fiction writing is largely a process of creating believable characters and events within established narrative structures and contexts, often for the purpose of communicating a set of ideas or feelings. Rewriting is the process whereby the writer clarifies, intensifies or refines the ideas or feelings within the work, while also taking the work closer toward a structure familiar to the writer and often connected to the writer's culture. On the other hand, to program a computer is to use a linguistic representation of certain computational elements and actions (nouns and verbs) to describe a series of logical executable operations. The purpose for program execution is usually to communicate an idea, frame human user thought [1] or perform some computational task. With each computer linguistic representation comes a vocabulary and syntax structure particular to the programming language used.

Thus, the writing and re-writing processes are much like the computer programming and debugging processes. Both include a certain amount of recognition and implementation of established structures, both include making structural changes on an abstract level, as well as making detailed changes on a more minute level.

Structure, such as that used in narrative construction or computer programming, can be well represented using graphical tools. Illustrations of building structure in the form of blueprints, narrative structural models such as the Vertag triangle [2], software flowcharts, and visual programming languages (VPLs) such as Prograph CPX [3] are all examples of graphically represented structure. VPLs have been effective at getting people to rethink the design of programming languages and have worked toward making programming accessible to a wider range of users. For people who tend to "think graphically," VPLs offer way of approaching a form of expression which has been traditionally all text based.

But can such graphic techniques be applied to non-linear narratives? Writers of stories for both the traditional print and screen have a deeply ingrained tendency to construct stories for an audience to experience the finished work in a fixed linear fashion. Although there are starting to be some examples of fixed non-linear multimedia works, viewing a cinematic story for instance must always be linear, as a linear sequence of pictures and sounds conveying some meaning. However, it should be possible to structure a cinematic story non-sequentially for the purpose of providing many different sequential playouts.

Computational processes can assist and affect both production and viewing. Graphical representation and manipulation tools can assist the writer in the process of organizing and developing such a story system. This paper briefly describes Agent Stories, a system for graphically representing and manipulating non-linear cinematic narrative such that the narrative material can be treated as a programmatic expression of computation. Agent Stories offers new media writers the opportunity to visually structure a non-linear narrative on both an abstract and detailed level, and then execute that structure with text or video material.

 

Writing and Narrative Structure

Writing is partly about seeing - seeing people, seeing events, seeing actions and their repercussions, and finding unique and interesting ways to communicate these things. To write a narrative is to look at an issue, a character, or an event or set of events from multiple sides and make decisions which carve out a path of understanding through the details of those events. In traditional linear narrative, such a path is one that the writer has chosen to pursue in exclusion of almost all else. One thing leads to another which leads to another. The protagonist could turn left or right at the corner, but instead proceeds straight ahead and thereby seals a particular fate. Narrative structures offer the writer and the reader/audience a way of understanding these paths, a way of making sense of the many different paths the narrative could take.

Representing textual structures in terms of space is nothing new. As the physical material which holds written text takes up space, so too does the meaning of that text.

All forms of writing are spatial, for we can only see and understand written signs as extended in a space of at least two dimensions. Each technology gives us a different space. For early ancient writing, the space was the inner surface of a continuous roll, which the writer divided into columns. For medieval handwriting and modern printing, the space is the white surface of the page, particularly in bound volume. For electronic writing, the space is the computer's video screen where text is displayed as well as the electronic memory in which text is stored. [4]

 

My Research

The goal of my current research project, Agent Stories, is to provide a story design and presentation space for nonlinear, multiple point-of-view cinematic stories. With this space authors are empowered to graphically manipulate the structure and potential playouts of a story database. The approach taken with Agent Stories is to assemble narratives in either textual or QuickTime movie form by making use of the three components of computational storytelling mentioned earlier:

1) The structure of the narrative;

2) The collection and organization of story pieces with some representation of their meaning;

3) A navigational strategy through that collection of story pieces, with style and purpose; that is, the narrative construction is a product of deliberate decisions and not random choices.

The hope is that by designing a tool that knows something about the writing process and about what has been written, a symbiotic relationship can develop between writer and writing tool which would feed the creative writing process.

The Tool

Agent Stories tackles the task of narrative sequencing and orchestration by separating the construction process into five parts, four of which have a visual programmatic environment. Those four environments are:

1) The Structural Environment, in which the structure of the narrative is described in simple abstract terms.

2) The Representational Environment, in which knowledge of the various story elements is captured in the form of relationships between story events.

3) The Presentational Environment, in which software agents work as text/video editors, intelligently sequencing and orchestrating the different story elements according to an agent's individual stylistic preferences.

4) The Writer Support Environment, in which the writer is given feedback from the system on the constructability of the collection of story elements.

The non-visual fifth environment, Agent Scripting, offers the writer a way of directing the narrative construction through the design of simple software agents for this purpose.

Agent Stories allows a story designer to create a simple structure or framework for a story and then use that framework to create multiple narratives from the same collection of story elements. The framework becomes the metric which the system uses to measure how much or how well it can construct narratives. The multiple narratives are constructed when different software agents, each with unique editing/sequencing styles, make clip sequencing decisions in accordance with the story framework, the viewer's preferences, and the existing story material.

In theory, the agents could learn to tell better stories in as much as they know what "better" is. There is no way to qualitatively describe to a piece of computer software what a good or bad story is. However, by providing a method for agents to quantitatively judge how good a job they have done at fulfilling the requirements of the story structure, as specified by the writer, then given the agent's stylistic goals, it should be possible for the system as a whole to move toward narratives which are both coherent and in line with the writer's vision. It is ultimately left to the writer and the audience to make the judgment of good or bad.

 

Structural Environment

The Structural Environment introduces the notion of Story Framework. A story framework is a construction of abstract story element descriptions, referred to as narrative primitives. Such constructions are nothing new. Edward Branigan uses one for film narratives in his writings [5, p.14]; while Joseph Campbell offers another in his interpretation for hero myths [6]. But it is Branigan's narrative scheme which is especially relevant here:

 

The order of these elements is important, as they progress from the beginning of the narrative through to the end. Elements one and two introduce the narrative, bringing us quickly up to speed with the rules, physical attributes, and even the physics of the environment, as well as the state of this story world and its important characters. Element three is the spark which sets the affairs of the story world even more off balance than they may have already been. Branigan's element four represents a direct or nearly direct statement by a main character which focuses the entire narrative around the stated goal of this main character. Elements five and six are part of a causal relationship stemming from the initiating event, in that the initiating event happened and caused certain emotions and outcomes. Element seven is then part of a causal relationship with element six. Recognizing such causal relationships, or in Branigan's terms, focused causal chains, are important for helping to give the audience a handle on understanding and identifying. [5, p.116]

Another narrative structure model to consider is that of Vladamir Propp. Much of the power behind Propp's work is that it offers detailed patterns of narrative events with a mathematics-like symbol system of representation. However, it is difficult to accurately apply Propp's work to modern narratives, let alone computational narratives, because its form of sequencing is quite rigid.[7]

Similar to Branigan, in Agent Stories the story framework of the structural environment is expressed as set of narrative elements or primitives:

1 Speaker Introduction
2 Character Introduction
3 Conflict
4 Negotiation
5 Resolution
6 Diversion
7 Ending

The primitives Speaker Introduction and Character Introduction are similar in scope to Branigan's first two elements. Conflict and Resolution together are generalized versions of Branigan's initiating event. Most initiating events are or include conflicts of some sort. They may be a single conflict, a series of conflicts or conflict/resolution pairs. Resolution is also something like Branigan's outcome and probably closer to an outcome than complicating emotions. In the Agent Stories scheme, resolutions are directly tied to conflicts -- conflicts can have multiple resolutions, and resolutions, multiple conflicts. The primitive Negotiation is about revelation through struggle. While conflict represents an introduction or a worsening of complicating events, negotiation is about a character's struggle with these events for the purpose of revealing more of their personality. Diversion is a story element which deviates or digresses from the plot, which is often driven by conflict/resolution pairs. Diversions act as periods of information transference and tension relief, but do not directly drive the plot. Comic relief is one example of a diversive period in a narrative. The ending is an overall resolution to the narrative.

Each of these narrative primitives describe sections of the writer's intended story. Together, they offer the writer familiar elements for making the narrative "flow" from beginning to end. The writer builds the framework using simple colored blocks on the screen, which act as class prototypes for the seven narrative primitives. When the user clicks and drags a primitive block, a new instance of that block type is created, numbered, and is then able to be spatially ordered among the other narrative element instances. It is the order of these elements which determine much of the flow or narration of the final narrative.

 

The Representational Environment

The goal of the representational environment of Agent Stories is to express a useful and efficient way of intelligently reasoning about the elements in a story domain. In the representational environment, a clip is defined as a story element with its message conveyed from a single point of view (POV) and with a single or limited number of narrative meanings. Each clip is connected to at least one other clip with the use of links defined as:

1 follows
2 precedes
3 must include
4 supports
5 opposes
6 conflict<->resolution

Each of these links describe a type of relationship between two clips, and each clip can have many such links. The follows and precedes links are sequence specifying links meant to identify pairs of clips, where information contained in one needs to be seen before the other. However, these links do not specify that one clip must immediately be followed or preceded by the other or even that the second clip must be included in the story, but simply that if both clips are chosen, then there is an order in which they must be viewed. The must include link specifies that if one clip is chosen, then the other must also be chosen, with no specified order to the clips. The conflict<->resolution link specifies that a conflict clip is resolved by a specific resolution clip or clips. Conflicts can have multiple resolutions and resolutions multiple conflicts. The supports and opposes links offer the system a way of "understanding" to some extent the relationship between the story's characters by specifying that the meaning or message offered in one character's clip is in opposition to another character's clip, or that two conflict clips from different characters are supportive of each other. Through this collection of clips and links, a web of story or storybase is defined which can be navigated by traveling its links as narrative paths.

This is not to say that the next clip in a constructed narrative is always simply one hop away from the previous clip in the storybase. The arrangement of the structural framework has a very strong influence on which clip follows which, such that the next logical clip to be chosen may be from a totally different part of the story base. This would be based on the framework and the active story agent described below.

While the full interface for this environment is currently only in the design/development phase (though an early prototype was created two years ago), the proposed interface design includes a method of visually arranging representational icons around a screen with colored lines between them. The screen arrangement will be somewhat reminiscent of the screen for Eastgate Systems' Storyspace. [8] However, unlike Storyspace which has only two types of links at most, color will be used to identify the various types of links in Agent Stories, thus also providing the option of selective viewing of a subset of link types.

Here lies the greatest value of the visual programming language paradigm to non-linear narrative authoring. A graphical representation of the storybase, in either 2D or 3D, whose elements can be directly manipulated, offer the author a way of seeing both the structure and content of their created story world in a new way. The shape and density of the storybase can begin to represent for the author(s) the strength and level of complexity of the possible constructed stories. The author is able to represent the complexity of the story world in his/her head a little more closely, and view that representation from different angles through common graphical manipulation techniques.

 

Presentational Environment

The Presentational Environment represents the reasoning portion of Agent Stories. As the Structural Environment offers a framework or guide for building a narrative, and the Representational Environment offers a system of linked story clips - the stuff of narrative - it is in the Presentational Environment where sequencing choices are made according to the framework. The presentational environment performs the function of Branigan's narration, in that it chooses and sequences the story elements, presenting them with a sense of style through the use of narrative-savvy software agents, called story agents. Story agents are the embodiment of the reasoning necessary to construct narrative in this computational model. They perform the sequencing work by making logical choices from among the collection of story piece and then show them on the screen in their own particular style. The presentational environment is less an input/manipulation space for authors and audience, and more an output device. The effect of graphical arranging within the previous environments work to define the look of this one. The user need only choose an agent.

There are currently five story agents who do this narrative construction. They are named: Bob, Carol, Ted, Alice, and Isadora. Each agent has a different style of narrative construction, based on their distinct collection of behaviors. A behavior is a set of rules which describe how an agent should perform in certain situations. The rules match situation or context with some action and alternative action. More detail on story agents can be found in [9].

Once a framework and story web have been constructed, the Agent Stories software allows an audience user to sit down in front of the monitor and choose a story agent by name and have that agent create a story play list. To do this, the chosen story agent looks at the characters in the story domain, chooses one as a main point of view character, then weaves a narrative in the method described earlier. Once all the clips have been chosen, the system plays them in sequence.

Instead of a single stream/frame of video, the new Agent Stories design soon to be implemented describes a type of presentation unlike that of traditional television or cinema. The intent is for there to be multiple streams of simultaneous video and audio, all under the user-chosen agent control. The agents will include unique behaviors which will control the dynamic screen design of this temporal medium.

 

Story Examples

A teenage waitress in a dingy dive of a restaurant laments over the dead-end dreariness of her life. She wants to ditch her parochial understanding of the world, leave home and start a new, but doesn't know how A little girl arrives from her home in a far away land, not knowing the local language or culture. She innocently befriends a kindly stranger and gets hopelessly separated from her parents in a crowded urban train station. A wanderer - a storyteller - who has no home but many tales, finds someone of like spirit to accompany him on his endless journey in search of what he knows not. A black cop, just transferred from the precinct of her old neighborhood, is in her car on her way to her new territory across town in an all white neighborhood. She recalls her many stories of recent service and wonders if she can be as effective in her new precinct.

A writer decides to intertwine the events surrounding these characters because they have some interesting parallel themes: i.e. each character is some phase of a journey and each character has specific past events which may or may not help them in their particular future. As an added parallel, they also all live in the same city at the same time, thereby introducing the possibility of physical encounters between the different characters.

The challenge of communicating this thematic parallel is in part a matter of structure. In other words, how can this story montage be structured such that the audience sees the power of the parallel? The answer is that there is no one answer, but many different possibilities. The writer could tell the waitress' story first, followed by the story of the little girl, and so on. But while this structure is simple, it is not intertwined and therefore does not necessarily promote comparative thinking in the audience. Part of the waitress' story could be told, then part of the little girl's story, then back to the waitress, and so on. But where should the breaks be? At what points in the sub-stories can this switching back and forth occur? Furthermore, does any one character tell "a full story?" That is, does what any one character say make sense if other characters are not heard?

Non-linear stories are characterized by a lack of inherent order among their granule story sections. Reordering and restructuring is not just possible, but it is the nature of the art form. However, if a set of story material where completely non-linear instead of multi-linear, a tool for seeing and manipulating its structure would be essential.

Seeing is not only believing, but seeing is also understanding. A graphical method of seeing and manipulating the structure of multi-linear story material such as the one above would be a valuable tool for trying new structural arrangements quickly as well as for helping to write new story material.

 

Future Development

Future development plans for Agent Stories calls for the creation of The Writer Support Environment. This environment will provide the following functionality: 1) It will be the writer's personal presentation design screen which will offer the writer a bare bones version of the constructed story; 2) It will allow inspection of the logic and agent motivation/reasoning behind a story construction; 3) It will provide a window to a different type of visual programming language. This VPL is one where the agent (or agents) use a visual language to feed a type of narrative viability information back to the writer.

The writer is given the opportunity to ask an agent to present a story to them using the storybase which the writer has created. In this environment the writer will be given a perspective into the storybase - one of several. The writer will see the storybase only through the eyes of a chosen agent. The goal is to offer the writer a form of feedback which will promote further non-linear narrative development - making the system genuinely helpful to the writer and not dictatorial or overly confining.

 

Conclusions

In this paper I present the design and partial implementation of Agent Stories, a visual storytelling system for constructing non-linear computational narratives. Agent Stories gives writer control over the structure of the narrative, the relative meaning of the narrative pieces themselves, and at least knowledge, if not full control, over the method of narrative presentation through story agent behaviors. Some traditional artists in various media have lamented the incorporation of the computer or so called "smart programs" in their work, partly due to a perceived requirement to relinquish human artistic control to the computer. With Agent Stories, an attempt is being

made to leave artistic control with the writer, while giving the perhaps more mundane task of repetitive construction to the computer system.

Acknowledgments

I would like to thank my advisor, Glorianna Davenport for her continued support of my research. I would also like to thank Dr. David Morgan for his unique and wonderfully knowledgeable technical and creative insights.

 

The story framework, the story representation, and the story agent working together.

 

Bibliography

1. Laurel, B., ed. The Art of Human-Computer Interface Design. 1990, Addison-Wesley: Reading, Massachusetts. 523.

2. Wallace, M., Recent Theories of Narrative. 1986, Ithaca: Cornell University Press. 242.

3. Pictorius, I., Prograph CPX. 1995, Pictorius: Halifax, Canada.

4. Bolter, J.D., Writing Space : The Computer, Hypertext, and the History of Writing. 1991, Hillsdale, N.J.: L. Erlbaum Associates.

5. Branigan, E., Narrative Comprehension and Film. Sightlines, ed. E. Buscombe. Vol. 1. 1992, New York, New York: Routledge. 325.

6. Vogler, C., The Writer's Journey - Mythic Structure for Storytellers & Screenwriters. 1992, Studio City, CA: Michael Wiese Productions. 283.

7. Propp, V., Morphology of the Folktale. 2 ed. ed. L.A. Wagner. 1968, Austin, Texas: University of Texas Press. 158.

8. Eastgate Systems, I., StorySpace. 1996, Eastgate Systems: Cambridge, Massachusetts.

9. Brooks, K.M. Do Story Agents Use Rocking Chairs? The Theory and Implementation of One Model for Computational Narrative. in ACM Multimedia '96. 1996. Boston, MA: The Association of Computing Machinery, Inc.