Current Research

Dramatis: A Computational Model of Suspense

Dramatis is a framework for the detection of suspense, as part of dramatic arc, in stories and films. This framework is in its preliminary stage of development. When implemented, Dramatis will read in a story and produce a suspense rating for those moments when a human audience would have the opportunity to reason about the story and feel suspense.

One method of creating suspense in a story is to reduce the quantity or quality of plans available to the protagonist for escaping some negative outcome. One could consider the quality of the escape plan to be its perceived likelihood of success. The less likely the plan is, the more suspense it will produce in the audience. Authors manipulate the perceived quantity and quality of plans in order to produce suspense in the audience.

Dramatis tracks the plans and goals of the protagonist of the story. When cued to do so by elements of the story, such as ominous music or information provided by the plot, Dramatis searches for possible failures in the protagonist's plan. Once a failure has been identified, Dramatis searches for the most likely escape plan (thus, the highest quality plan) that averts the potential failure. Dramatis uses the likelihood of the plan to determine the suspense level at this point in the story. Dramatis tracks this escape plan and updates the suspense level as new information is provided in the story. This continues until the protagonist overcomes the identified potential failure or a new potential failure is introduced.

Lore: Suspenseful Story Generation System

Lore is a proposed story generation system that will make use of the Dramatis suspense model in order to generate more suspenseful stories. Lore and Dramatis work adversarially to increase the suspense in a story. Dramatis identifies escape plans for the protagonist, while Lore attempts to negate these plans, thus diminishing the quantity of plans available and forcing characters into lower quality options. This reduction in the quantity and quality of plans should increase the suspense felt by human readers.

Related Publications

Digital Improvisation

The Digital Improv project seeks to formalize techniques used in improv theatre, in order to inform the design of interactive dramas and characters. My role on this project was the design of a framework for the collaborative co-creation of the platform of an improvised scene. In improv theatre, the term platform refers to the characters in the scene, their relationship, the activity they are jointly engaged in, and their location. Improv scenes begin with the establishment of the platform before continuing with the narrative. One improv game, called Three Line Scene, teaches improvisers to set up the platform quickly. In this game, improvisers have a combined three lines to establish who they are, where they are, and what they are doing before the scene ends.

We developed a framework for the collaborative co-creation of a Three Line Scene between two intelligent agents. The framework establishes the knowledge structures that a computational agent needs to interact within an improv scene, as well as the steps that an agent should go through in the process of observing another agent's most recent action and determining what action to perform.

More information about the Digital Improv project can be found on the ADAM lab website.

Related Publications

Assistive AI for Digital Filmmaking

This work focuses on developing an intelligent agent that can augment non-expert creative ability. Lubartcite enumerates four ways in which computer interfaces can support creativity:

We suggest a fifth category of ways in which computer interfaces can support creativity: computer as audience. A computer-as-audience system simulates the recipient of a creative artifact: a community, an individual viewer, reader, watcher, etc. More importantly, a computer-as-audience system could conceivably incorporate this feedback into the creative process itself in stages or as a continual watch-over-the-shoulder approach.

One instance of a computer-as-audience system is a synthetic audience. My efforts on synthetic audience have been towards the development of a computational model of a human readers for stories-in-progress (rather than complete, well-formed stories) and a tool capable of providing feedback to amateur story authors. A synthetic audience agent enables authors to receive more feedback, more frequently than human readers are willing to provide. A synthetic audience works by tracking the narrative as it is being written, computing the response of a human reader at this stage of the in-progress story, and providing feedback to the author in a way that does not interrupt the author's flow.

Related Publications


Past Research

Jython Environment for Students (JES)

Upgraded the Jython Environment for Students (JES), an integrated developing environment for Jython and media computation classes, to the most recent version of Jython. Tested and integrated new features of JES.

Available online:

BULB: Bytecode Using Lego Bots

Jointly developed a curriculum for teaching Java bytecode, using Lego Mindstorms robots, with a faculty member at Hope College and three other undergraduate researchers. Resulted in a publication at SIGCSE 2007.