Combined with ontology of characters’ feelings, our latest work on character-based affective Interactive Storytelling aims at reconciling both generation and visualisation philosophies and uses a real-time Heuristic Search Planner (HSP) [Bonet and Geffner, 1999] to generate characters’ actions consistent with their psychology and allowing anytime user interactions [ACII2007] [AAMAS2009].

[Bonet, B., and Geffner, H.: Planning as heuristic search: new results. In: Proceedings of the European Conference on Planning (ECP’99), pp. 360--372 (1999)]

Our authoring environment (as shown above) has been developed subsequently to our proof-of-concept prototypes of emotional planning for IS. Its rationale was to support the authoring of a complex planning domain, by checking its completeness and its consistency. However, since this authoring tool was an interface to the narrative formalism itself [TIDSE06], and that the narrative formalism determined entirely the interactive narrative, it became a candidate for a more generic approach to authoring and authoring methods [ICIDS08]. The integration of new modules could support the collaboration between authors and developers in designing an interactive narrative.

The authoring tool is available for download here and its user documentation is downloadable from here. Note that it requires the Microsoft .NET Framework Version 2.0 Redistributable Package to work, which you can download from here.

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.

EmoEmma-AuthoringTool Scene Pizzi November 2009

Here, we describe a brief sample of an instantiation of the LRRH story: the  presented segment occurs when the Wolf, who is disguised as LRRH’s GrandMa, is having a conversation with LRRH and is about to reveal its identity.

  • A portion of the current world state may be represented as follow:

initial state

We notice that different types of predicates are instantiated within the world state. They illustrate physical attributes such as the location of each character, some contextual property (the WOLF and LRRH in conversation) but also state of mind, such as the curiosity and fear of LRRH towards the WOLF.

  • Here is a sequence of 3 operators (STRIPS-like representation): two actions and one interpretation operator.

The following action describes the segment when the LRRH asks: "What great teeth you have got!"


The following action describes the segment when the wicked Wolf replies: "The better to eat you up now!"


The following operator describes when the LRRH realises that her GrandMa was eaten up by the wicked Wolf, and she is likely to be the next person to be devoured.


As illustrated in the figure below, the authoring approach supported by our system follows three main stages: knowledge acquisition, simulation and analysis, and finally story visualisation.


  • Knowledge Acquisition

The creation of a story world (labelled no. 1 in the figure) is the initial stage where drafts of story elements are created by the author. They describe diverse story elements (e.g. characters’ psychology, representative scenes or environment description). The next step (labelled no. 2 in the figure) corresponds to the elicitation of all knowledge required to describe the story world, such as the various states (i.e. initial and goal states) and the various actions described through their validity conditions and their consequences. In terms of Planning, this corresponds to domain implementation where each part of the planning domain is created (i.e. propositions, operators, states and goal). The domain description also includes a formalisation of the initial state and the goal state, which correspond to the scene’s or characters’ objectives. 

  • Simulation and Analysis

When solutions rely on a sophisticated plan, the various causal dependencies as generated by HSP planning may be difficult to recognise. Therefore, we wanted to explore whether the set of possible plans could be visually represented in order to control the unfolding of the generated content. Moreover, the combinatorial aspect of content generation can quickly overflow the amount of possible paths that can be exploited if done using a brute force approach. As an alternative to the offline generation of a complete narrative (formally a solution plan), an interactive mode allows a step-by-step generation of a solution including the visualisation of all possible outcomes (labelled no. 3 in the figure).

Starting from the initial state, the user can expand the plan at each step using a tree representation until the goal state is reached. After each action is selected by the user, the system automatically offers a list of possible subsequent actions. For instance, the system will only offer the solution of Emma accepting an invitation once Rodolphe would have proposed it. This simulation has both a formal component (access to the planning domain, inspection of operators and world states) and a visual component (a tree structure providing a natural visualisation of actions and their consequences). This dual visualisation is meant to support collaboration and explanation between system developers and content creators.

In addition, authors can interact with the solution generation process at any time (labelled no.4 in the figure). This module includes also a dynamic environment simulation feature. It allows reproducing changes in the world not triggered by the planning system that will normally occur within the story, without having to simulate this in the complete 3D environment. Then, several analysis tools (labelled no.5 and 6 in the figure) can allow the validation of the generated narrative content. For instance, the evolution of the world state through the development of the story plan is an effective way of ensuring its consistency with respect to the characters’ psychology by allowing the analysis of how emotions intensities vary along the plan evolution. 

  • Story Visualisation

Finally, when the result has been validated, the last stage is to visualise the final result using the run-time engine. We can observe that the early step of this production process is a specific case of knowledge engineering applied to planning formalisms (i.e. by integrating knowledge into computer systems in order to solve complex problems normally requiring a high level of human expertise).