Dramaton: Toward a Testbed for Exploring Interactive Storytelling
Dramaton: Toward a Testbed for Exploring Interactive Storytelling
Doug Sharp
Advanced Authoring Tools
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
(206) 936-2676
Past work
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.
My Biases
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.
Some Goals
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
Implementation
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:
- Sis.EgoState
Emotions which contribute to ego state transitions:
- Pop.Fear
- Mom.Anger
variables which contribute to emotions:
- Sis.Weight
- Bro.Sleeplessness
- Mom.Paycheck
and event Booleans such as:
- Pop.IsEmployed
- Mom.IsMolting
- Sis.IsWithEgg
- Bro.IsExpelled
The narrative element database is composed of short scripted scenes. The human-readable keys to one might be:
Narrative keys:
Theme: “Bro rescues Sis”
Subplot: “Night work”
Sequence: FIRST_SCENE
Repeatable: FALSE
World model keys:
Mom.EgoState: PARENT
Sis.IsWithEgg: TRUE
Bro.Sleeplessness: .9
Bro.Expelled: FALSE
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.
Promising Components
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.
References
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
Dear Doug Sharp,
My name is Nic Velissaris and I am currently undertaking a PhD in Media an Communications at RMIT in Melbourne Australia on the subject of introducing Choice Mechanisms into narrative (particularly theatre and other types of performance) and how this effects the construction and development of the story. For this I am creating three different performative experiences that allow the audience/spectators to interact with the story in different ways. More broadly though I am looking at developing a broad-based model for creating deeply cohesive stories that allow the audience to make choices that change their experience.
To give you an example of what I’m trying to achieve, for my Masters I wrote a theatrical play called Scenes from an Action Film. It takes the genre tropes of Action Films and brings it to the stage. It is designed so that the audience can move around a large enclosed space to view different scenes. At the end of each scene they can move to a different rooms. The play is designed to run for 45 minutes to an 1 hours but features over 60 scenes that if presented sequentially (which is possible) would run between 5 to 6 hours.
My PhD is an attempt to codify these storytelling techniques into a system for narrative, that can ultimately be used to create narrative across mediums up to and including gaming. Much of this should sound familiar to you and in discovering your website through my love of The King of Chicago, I was gratified to see some of my own ideas reverberated in your writing about Interactive Fiction. I am contacting you to aski you if it is possible to interview you to discuss your thoughts on Interactive Fiction and the challenges that exist in creating this kind of work.
As a fan of The King of Chicago, I recently purchased it for Android (which apart from the long loading times) it’s still as fun as I remember it, I feel that the game was a really successful immersive experience. I played it a lot in my childhood in a three colour version that was available for IBM PC – I think it was the XT version (which when you ran it on faster processors, sped everything up which made the bomb throwing and the gun shooting impossible, but funny) . In this game the story is the thing and I would be also interested in talking to you about this.
Your writings on your blog make a lot of sense to me, as a potential narrative designer, and I would be grateful if you would agree to undertake an interview with me. I could either email you a list of questions or we could have a discussion over Skype, whichever you would prefer. I wish all the best with the Hel’s Bet Trilogy (which I have just discovered and will be tracking down) and I hope to hear from you shortly,
Sincerely,
Nic Velissaris
May 16, 2014 at 11:55 pm