Storyworld in Thespian Si November 2009

Character Design

Decision-theoretic goal-based agents are used for modeling each character in the story, with the character’s motivations encoded as the agent’s goals. Each agent has multiple and potentially competing goals, e.g. keeping safe vs. keeping others safe, that can have different relative importance or preferences. Thespian agents have recursive beliefs about self and others, e.g. my belief about your belief about my goals, which forms a  "Theory of Mind".

The "Theory of Mind" capacity enables the agents to reason about others when making their own decision, and thus makes them "social characters". To make the agents’ behaviors more human-like and socially aware, Thespian models social normative behaviors and emotion. By default, Thespian agents act following norms, unless they have other more impressing goals.

When deciding what to do, a bounded lookahead policy is used by the agents. They project limited steps into the future, considering not only their own actions, but also other characters’ responses using their mental models of other characters, and its responses in return. The agents choose the action that receives the highest expected reward to proceed. Thus, they act both true to their motivations and in reaction to the status of the interaction.

For example, in the scenario shown above, the wolf will react to Red differently depending on whether there is somebody else close by, and who is that. The wolf will choose different actions when the hunter is near and when the woodcutter is near, because the wolf has different mental models about these two characters.

The user is also modeled using a Thespian agent based on the character whom the user takes the role of. In modeling the user, not only the goals of the user’s character are considered, but also the goals associated with game play. This model allows other agents to form mental models about the user the same way as about other characters and the director agent to reason about the user’s beliefs and experience.

Plot Design

Thespian provides a proactive directorial control approach, which coordinates the agent’s behaviors without breaking their motivations for reaching the author’s desired affects. Its director agent projects into the future for detecting potential violations of the author’s directorial goals, which is expressed as partial order or temporal constraints on key events in the story. An event can be either an action from a character or a state of a character including the user. An example of directorial goal is given below.

orders = [[“Wolf knows Granny’s location”, “Wolf eats Granny”], [“Wolf eats Granny”, “Wolf eats Red”]]

earlierThan = [“Wolf knows Granny’s location”, 10]

laterThan2 = [“Wolf knows Granny’s location”, 10, “Wolf eats Granny”]

earlierThan2 = [“Wolf eats Granny”, 3, “Wolf eats Red”]

If the director agent detects a potential violation, it explores alternative methods for tweaking the characters’ behavior and to reach the directorial goals. The director agent takes a least commitment approach to coordinating the agent-characters. During the interaction, the director agent maintains a space of character configurations consistent with the characters’ prior behavior. Each of these configurations is equally valid in the sense that they will all drive the character to act in exactly the same way up to the current point of the interaction. When a future violation of the plot design is predicted by the director, it constrains that space so that the rest of the configurations will drive the agent to act in a way that eliminates the violation. In this way, from the user’s perspective the characters are always well-motivated and the user can interact freely with them.

Creating an interactive story about Little Red Riding Hood (LRRH) with The Virtual Storyteller means two things:

  1. Letting go of the idea to reproduce the original story.
  2. Trying to implement some of the physical and psychological processes that one can believe to drive the LRRH world and its characters.

The following describes the small story world that was created for the LRRH authoring workshop at ICIDS ‘08. We followed an iterative authoring cycle, using the LRRH story as inspiration for authoring decisions made along the way. The idea is also to use feedback of the simulation as further inspiration for new content.

We created three character agents to play the roles of Little Red Riding Hood (Red), Grandma, and Wolf. To enable a tight feedback loop between authoring and simulation outcomes, we started with a simple and minimal design of a story world (e.g., one goal and actions that can achieve it, so that the planner can turn these actions into a goal plan). The initial setup of the story world contained the goal (and accompanying actions) to bring a cake to Grandma. To enable the expression of this goal, a small story world geography was authored (a path from Red’s house to the forest, and from the forest to Grandma’s house) along with some actions (to skip from one location to another, and to give something to someone). This world is depicted here (images created by hand):



LRRH Storyworld in Linear Logic Champagnat November 2009

Our system aims to derive an interactive storytelling where the player can influence the unfolding of the story (the discourse). As a consequence for a given storyworld we define various possible discourses (that are base on the same pattern of story structure).

The storyworld (character, setting, etc.):  the Little Red Riding Hood history. The Little Red Riding Hood, the mother, the grandmother, the wolf, the hunters, a wood between the two houses, a cake and a little pot of butter.

The player is cast as the Little Red Riding Hood and act within the time and space of the fictional world of the Little Red Riding Hood history.

Three possible narratives :

- N1: Folk tales: based on Grimms’ narrative. The Little Red Riding Hood walks through the woods to deliver food to her sick grandmother. The wolf wants to eat her, and goes to the grandmother house. A hunter help her to kill the wolf.

- N2: Fairy tales: a witch put a spell on the little Red Riding Hood. She has one day to marry a prince otherwise she will become a dwarf. The wolf, who is a princess that was put a spell, fells in love with the Little Red Ridding Hood and try to seduce her. Finally the Little Red Riding Hood gives a kiss to the wolf that becomes a wonderful prince. They get married, etc.

- N3: Action tales: the Little Red Ridding Hood wants to kill the wolf. The wolf escapes and meets hunter that protect him against the Little Red Riding Hood. The Wolf encounter Grandmother, take her as hostage, and there is a final fight. The Little Red Riding kills the wolf.


Each narrative follows a basic structure:

1- Introduction

2- The task

3- Encounter with the Wolf

4- The two ways

5- The Wolf and the Grandmother

6- Arrival of Little Red Ridding Hood

7- First dialogue

8- Second dialogue

9- Conclusion

Telling stories in Scenejo is constrained to acting out verbal conversations between virtual and human actors. Its paradigm of interaction suggests to work on an adaptation that gives players the opportunity to join in a conversation between virtual actors, or to interrupt their conversation. Therefore, ‘Little Red Riding Hood’ was adapted to be a conversation on a secluded path in the forest.

Mission for Interaction:

‘TheLoneWolf’ flatters ‘LittleRedRidingHood’. You (the user) encounter them while you come by, jogging through the woods. Since TheLoneWolf doesn‘t seem to be a trustworthy guy, you might want to rescue LittleRedRidingHood and start to meddle in their conversation.

  • Goal for interactor: Do the best for LittleRedRidingHood‘s happiness
  • Moral: It‘s not easy to decide if and when to invade someone‘s private sphere

Interface and interaction:
The two figures are 3D/TTS-talking heads on the screen, interaction is accomplished by the keyboard and AIML-based natural language. At any point, the user can meddle in the conversation by typing text. The intervention possibly influences story states and scene changes.

The „plot“ and scenes:
The first scene is a training mode to involve the user. Then, the conversation gets more and more odd so that the user has to decide to intervene or not, and if so, decide on the right words. Other scenes follow with different dialogues. There are 4 possible endings, 2 of which occur after extensive user meddling (one positive, one negative): Devour or romance (diffident user), embarrass or rescue (meddling user).



PaSSAGE Storyworld Thue November 2009

Using PaSSAGE, we adapted the Little Red Riding Hood (LRRH) to fit the structure of Joseph Campbell’s monomyth.  The terms in quotes below (such as "Home" or "Trial") indicate the phases of the monomyth that have been written for so far. 

In the PaSSAGE version of LRRH, Red (as the player) starts off at "Home" and gets "Called to Adventure" (Mother asks her to deliver medicine to Grandma’s house). She then faces a "Guardian at the Threshold" between her world and beyond (meeting the Wolf at the forest’s edge), and overcomes a minor "Trial" along the way forward (picking flowers for Grandma). Upon reaching Grandma’s house, Red suffers an "Ordeal" at the hands of the Wolf, after which she and Grandma are ultimately rescued by the Woodsman, ending the story.

PaSSAGE adds interactivity to LRRH by expanding the set of possible events for each phase of the story, and choosing between them based on its learned model of the current player’s preferences. For example, instead of a mission of mercy (to go help Grandma) as their "Call to Adventure", reward-seeking players might learn of a merchant in the next town who will pay handsomely for the delivery of a load of local goods; instead a mission to pick flowers, a more combative player might find bandits waiting in ambush as their "Trial" to overcome. Furthermore, to dynamically choose which actors should play the roles of the bandits in the forest, PaSSAGE draws from the set of non-player characters in Red’s village, preferentially choosing those with whom Red (again, as the player) had previously established an unfriendly rapport.  Thus far, we have created two alternative events for each phase and five possible story endings, allowing for twenty different experiences in terms of sequences of events, and even more variation when different characters are cast for the events’ roles. Try it out at ICIDS’09!

PaSSAGE Screenshot

Storyworld in Enigma Kriegel November 2009

There is no particular limitation to any style/genre of red riding hood stories that can be generated with ENIGMA. If I was the PA responsible for such a project, I would set up the story world in such a way as to encourage the creation of a comical universe, where everything we know about fairy tales is turned on its head, similar to the Red Riding Hood version presented in the movie Hoodwinked!. An attempt of mine to create such a story world conception (originally created for the RRH workshop at TIDSE 2006) that opens up many possibilities of story development by giving characters conflicting goals can be found below.


The magic forest is right in the centre of the magic land. It is well known for its magic lawn, which is the only place in the world where the famous magic potatoes grow. Magic potatoes are loved by all inhabitants of the magic land for their psychedelic feel-good properties. Until recently everyone in the magic land lived peacefully together and there were enough potatoes for everyone to have a constantly good time. However, since the new chancellor is in power, things have changed. Tensions between different magical races that used to get along well are stirring up, certain races have been classified as “dangerous” and this is all fuelled by a constant potato shortage. The chancellor claims that potatoes are government property and that potato export is the key to a wealthier future for the whole magic land. In order to prevent the locals from their usual practice of picking potatoes, a hunter has been installed in the forest who is supposed to enforce the new laws. Citizens who collaborate and help to track down criminals are rewarded with extra potato rations.

Characters: Maia (Red Hood)

Maia is supposed to pay her Granny a visit. It’s a beautiful day and she is wearing her favourite red hood. However, all she can think about is the big party tonight. She only agreed to visit her granny because that gives her the opportunity to collect some magic potatoes for the party tonight. Plus Granny also likes them. Her only worry is that this new overambitious hunter catches her with the potatoes. She could get into a lot of trouble. If only she knew that there is also a dangerous wolf on the loose that she needs to worry about…

Characters: Hans (Hunter)

Hans is the new hunter in the magic forest. He takes law enforcement very seriously. He has already made the forest a much safer place by arresting most of its dangerous inhabitants including bears, wolfs and squirrels. However, there is one wolf that he could not catch so far but he won’t be able to hide forever. Hans is also fighting a determined battle against potato theft much to the dislike of the locals. This morning he built a big fence around the magic potato lawn. The only key to the gate is in his pocket. Right now he is having a well deserved rest and is taking a nap but the slightest sound will wake him up, his loaded gun next to him…

Characters: Lupo (Wolf)

Lupo is the only wolf left in the magic forest. He feels discriminated and all he wants is to leave the country. However he needs some disguise because Hans has his spies everywhere. A hood would be ideal. The other big problem is that Lupo would give anything for a few potatoes but since this morning they are all behind a big fence: another trick of this new hunter to make his life more difficult. Lupo, a convinced vegetarian, realizes that the lack of potatoes makes him aggressive and when he starts feeling hungry he is for the first time in his life actually fancying some meat. That is when this girl in red comes along the way….


The definition of the planning domain, more specifically the semantic of actions and propositions included, plays a critical role over the quality of the unfolded plans, and thus on the genre of generated narratives. The first step is the elicitation of all the planning knowledge required and starts by providing a complete propositional representation of the world.

The nature of the propositions included depends on the different types of predicates and are represented using a dimensional representation. Each dimension contains a set of discreet values, which represents the values contained within the planning operators. The propositions are best represented with the formalism   which is composed by:

  • a Dimension: a predicate that represents the symbolic nature of the dimension, e.g. anger, hunger, location, time, fear, etc.
  • (Optionally) a list of symbolic parameters separated by comas containing:
    • a list of characters - or objects - representing subject and target(s) of the proposition, e.g. LRRH, WOLF, inside_house, etc.
    • an intensity - or the discreet value - qualifying the proposition; e.g. LOW, MEDIUM, HIGH, 1, 2, 3, etc.

The propositions are either unary such as hunger(WOLF, HIGH) and are related to one character, but they also can be binary such as fear(LRRH, WOLF, HIGH). Now, the nature of the predicate present in the dimension allows the classification of the propositions into three different categories:

  • Physical propositions

They are used to represent physical or temporal facts such as characters’ location, object properties or time-related property; e.g. Location(LRRH, inside_house), time(morning), etc.

  • Contextual propositions

They represent particular situations that can trigger certain types of actions and are usually composed by solely a predicate; e.g. IS_IN_CONVERSATION(LRRH, WOLF), etc.

  • Emotional propositions

They define a set of ground mental states and, in a certain way, represent the elementary psychological traits driving the characters’ decisions; e.g. fear(LRRH, WOLF, HIGH), etc.

The initial and goal states are then represented by conjuncts of propositions and correspond to the scene’s or characters’ objectives. The planning operators are represented using a STRIPS-like formalism (i.e. a set of propositions as preconditions and effects) and correspond to actions that can be performed by the characters.

The LRRH Concept in Cyranus Iurgel October 2009

Synopsis: Make a talking "game" out of the fairy tale. Assume that LRRH is a dream of a woman, Julie, and she is now seeking your advice to interpret it. Julie is a talking virtual character, a torso without hands, but with a very expressive face. You chat with Julie about the dream, and you have a persuasion task.

That is, I do not pretend to make the LRRH story interactive in any straightforward way. The Cyranus system is well adapted to chatting games, and I will exploit this faculty. The player talks to Julie about the story (as if it were a dream). The player has the task to lead the conversation to a certain goal. The goal is to persuade Julie that the dream is indeed meaningful, and that it is about sex. Many rounds of playing are likely to be necessary to achieve this aim of persuading Julie.

This interpretation is not my own and not new at all. Erich Fromm, for instance, has made a psychoanalytic interpretation of LRRH in this vain.

Is it possible to make an entertaining and elucidating game with these settings? How are the dialogues to be construed? How can Julie guide the dialogue, in spite of her (its) very limited “intellectual” faculties? How is the personality of Julie to be designed?

These are difficult questions that can hardly be answered without trying. This idea of “trying” is central to the Cyranus-framework: It is possible to start with some very simple structures, with directed graphs, and then to improve and adapt according to user feedback and the author’s intuition. The directed graphs can be replaced gradually, where appropriate, by rule based control strategies.

Here is the abstract of the LRRH-persuasion-game:


• You: Friend of Julie and hobby psychoanalyst

• Interpretation of the nightmare of Julie: (à la Erich Fromm):
   Wolf = Man
   Being eaten = Sex
            consequence: Julie is fearing sex (and the player has to persuade Julie of this)

•Your task: Persuade Julie

–You win: Julie says “Oh, now I understand!”

–You lose: Julie says “Bullshit!”


Would this amount to the funny game that teaches also on persuasion strategies? I guess so, but I do not know for sure. For the workshop, I could only build a very few exemplary dialogues. It is difficult to estimate how much time would have to be invested until some experimental conclusion could be reached on whether this is the right path. I think that some weeks of intensive work by an individual would be necessary. However, some weeks of work would be an acceptable time, it seems to me. Thus, even with Cyranus, the results are not immediate, but it is an essential tool for such experiments.

Based on the initial story, the goal is to create an interactive drama where the player plays the Little Red Cap.

In order to achieve high interactivity, the story must be decomposed into small reusable units, that is goals and tasks in the IDtension model. This reusability is essential. For example, if the wolf can disguise himself into the Grand Mother, then the Little Red Cap can disguise herself into the She Wolf, to create an interesting dramatic situation. Similarily, if the wolf can ask Red Cap what she is doing in the forest, the player can ask the same question…

The design consisted in finding a set of goals, tasks and obstacles that could be used (instanciated) in many situations.

The goals implemented in the (unfinished) Little Red Cap story are:

  • be at (a place)
  • have food
  • please grandmother
  • know where is (another character)
  • know intention (of another character)
  • possess (an object)
  • look like (another character)
  • look oneself
  • hunt (a prey)
  • get rid of (another character)

To reach each of these goals, one or more task must be created: eat (to have food), offer (to please grandmother), etc.

Obstacles are associated to tasks: "doesn’t like" is considered as an obstacle to "offer", if, for example, Grandmother does not like what the Little Red Cap offers to her.

The most interesting aspect of this scenario is the possibility of disguisement (let another character believe that one is someone else), which is a fundamental aspect of the original story. Unfortunately, this possibility exceeded the current capabilities of the IDtension engine, in terms of knowledge based reasoning and text generation.