Dramaton: Toward a Testbed for Exploring Interactive Storytelling
Dramaton: Toward a Testbed for Exploring Interactive Storytelling
Advanced Authoring Tools
One Microsoft Way
Redmond, WA 98052
Before coming to Microsoft I published one work of pure “agent-building”, ChipWits, and two works of interactive fiction (IF), The King of Chicago and Free D.C.! ChipWits has no dramatic component, and my IF works have only trivial agent autonomy.
The King of Chicago was set in Prohibition-era gangland. You played a gang member who had to knock off his own gang’s boss and then take over Chicago from Capone’s gang.
The story was controlled by a storyteller agent that selected short scripted scenes from a data-base by matching keys on the scenes with both a model of the world and a simple model of narrative structure. The model of the world was a flat collection of variables with such names as BOSS_REP (reputation of gang’s boss) and HEAT (police pressure on gangs). The storyteller would set these variables randomly at the beginning of the game and increment and decrement them based on player choices and story events. The narrative model classified scenes as Opening, Middle, or Ending and further classified some of them as belonging to subplots with their own smaller-scale temporal order.
Free D.C! was not an artistic success but extended my storytelling system by situating characters in a 3D, explorable world and giving minimal agentry and emotional properties to some characters. The function of the storyteller was identical in that it was in charge of selecting scenes, but because there was a 3D world to navigate, not every moment was spent in a scripted scene. The storyteller was triggered to select a scene by entering a flagged location, meeting another character, a world variable hitting some threshold, or elapsing of an interval.
As evidenced by my two published works I belong to the “strong storyteller” school of interactive fiction systems. I believe in the need for a high level dramatic agent to prompt or control actors, pace the action, inject problems, and shape resolutions. The narrative devices of sub-plot and cut scenes can only be successfully coordinated by an over-arching dramatic demon (or at the very least a central repository of dramatic state).
I belong to the “massive scriptwriting” school of interactive fiction production. I believe that the natural language production problem will be an insurmountable medium-term barrier to generating compelling dramatic dialog.
I am biased toward the verbal, so I am uninterested in exploring IF devoid of language. Much of my pleasure in drama (both as audience and author) comes in well-crafted dialog exchanges, so even a powerful single line delivered by an autonomous agent falls flat for me if it is met by a generic response.
I am uninterested in the trivial IF system of the pick-a-path graph of narrative plotlines. I hate overuse of hard-coded branches in interactive fiction and I love to be surprised by my own creations.
My artistic goals for Dramaton are the ability to deliver interactive stories:
- that are plausibly unpredictable
- that inhabit a large story space
- that may use traditional narrative structures
Some goals for Dramaton as a practical IF production system are:
- effective management of interactive script development
- IF debugging tools, among them:
- automatic story space coverage profiler
- narrative breakpoints
Dramaton is COM-based, so character and storyteller agents are pluggable components. Agents expose their states through COM properties.
Dramaton is based on a View, Content Object (CObj), Tool architecture. Content Objects are passive holders of state information. Tools read and modify Content Objects. Views read and display Content Objects.
A component diagram of a sample Dramaton session:
Dramaton is architecture-neutral about the internal models of agents, both characters and storytellers.
This is intentional. A long-term goal for Dramaton is that it become a testbed for exploring different models for these agents. I would like to see Dramaton host agents based on mythopoeic models, cognitive models, genetic algorithms, and naive motivational models.
A Test of the Testbed: The Maniks
As an initial test of the Dramaton testbed I am working on a project called The Maniks.
The Maniks are a dysfunctional family of four adrenaline-driven aliens subject to wild mood-swings and addicted to confrontation and emotional excess. The Maniks is a cross between a tragedy, a sitcom, and an arcade game: Medea/Coneheads/Pacman. The stories told by The Maniks will last from ~2-8 minutes and there will be a minimum of dialog.
One of my goals for the Dramaton system is to host very quirky and unusual models of character motivation and narrative structure. For the Maniks I decided to look at models of sick family systems in psychotherapeutic literature.
I found a promising set of dynamic models in the literature of Transactional Analysis (TA). The hallmark of TA is the division of individuals into Parent, Adult, and Child ego states. Each communication between two people is called a transaction and is classified as coming from an ego state in the sender and going to an ego state in the receiver. On top of this the literature classifies patterns of transactions into “games” such as “Uproar”, “Poor Me”, and “I’m only trying to help you”.
I found particularly appropriate for the Maniks a meta-game or system of games called the Karpman Drama Triangle:
Two or three characters can play this game, flipping from one role to another without escape. In the Maniks, the primary battle is between Mom and Pop and they can take any of the three roles. Bro usually tries to play the Rescuer role and Sis the Prosecutor.
This model of pathological interactions is interesting to me as a source of a dramatic dynamic for a single title, not as a general-purpose model of agents in a storytelling system.
In The Maniks the world model is composed of properties exposed by each of the characters:
Emotions which contribute to ego state transitions:
variables which contribute to emotions:
and event Booleans such as:
The narrative element database is composed of short scripted scenes. The human-readable keys to one might be:
Theme: “Bro rescues Sis”
Subplot: “Night work”
World model keys:
The script drives the animated characters through a short scene in which Mom confronts Bro with a report from school that he’s sleeping in class. Bro blurts out that he’s just got a night job testing condoms.
The storyteller agent might select the above scene if:
- The Boolean keys equal their world model values
- The variable keys match their world model values to some tolerance
- The narrative keys fit conditions of the current narrative state:
- Subplot count < threshold value
- This subplot isn’t currently in progress
- This scene has not been selected before in this session
Users will interact with The Maniks through the Emotional Gearbox. Right now this is designed to allow the user to select any member of the family and get a look at their current level of Fear. If Fear is above some threshold user can choose between Fight or Flight. If Fear is below the threshold the user can choose between Control or Ignore. This will be represented by a UI element with a stickshift graphic.
As another source of dynamic systems to drive character and narrative agents I am currently investigating the work being done in the Microsoft Research Group on Decision Theory and Belief Systems by Eric Horvitzand others.
Probability relationships are encoded in a graph of proposition nodes such as:
Evidence is gathered and hypotheses are generated based on the evidence and dependency graph.
Eric and I have come up with two scenarios for using this technology. In one, the storytelling agent tries to predict the genre of IF the player would like to take part in based on set of pre-game queries to the player. It will try to predict whether the player would prefer an action adventure, a free exploration, a romance, or a psycho-drama. Then it will try to structure an interactive narrative in that format. It will adjust its prediction about preferred genre during the game based on player input so that a story that begins as an action story may end as a sitcom.
In the other scenario two characters are driven entirely by belief systems. Each of them gathers evidence from the actions of the other character and makes hypotheses which motivate its own actions.
Berne, E., M.D., What Do You Say After You Say Hello?, Grove Press
Harris, T, 1967, I’m OK – You’re OK, Avon
Horvitz, E., Breese, J., and Henrion, M., Decision Theory in Expert Systems and Artificial Intelligence, in International Journal of Approximate Reasoning, 2:247-302, 1988
Karpman, S. B., M.D., 1968, Transactional Analysis Bulletin, cited in Berne, p. 187
Sharp, D., and Johnston, M., 1984, ChipWits, Epyx: C64, Brainpower: Mac, AppleII
Sharp, D., 1986, The King of Chicago, Cinemaware: Mac, Amiga, AppleIIGS
Sharp, D. and Beeck, K., 1992, Free D.C.!, Cineplay Interactive: MS-DOS