Jump to Navigation

Modelling a storyworld based on goals, tasks and obstacles

Goals Tasks Obstacles Basics

This approach is demonstrated on the IDtension system which is special in its use of narrative theories as basis.

IDtension System Description

Goals, tasks and obstacles represent basic narrative elements for describing a story. They describe what characters want (goals), how they could achieve what they want (tasks) and what is blocking their way while performing these tasks (obstacles). IDtension enables the author to create and connect these elements, to build what we call a perfomative structure. This structure is used to build complex actions, including dialog acts between characters. From the authored performative structure, and pre-canned narrative actions and rules, IDtension can generate hundreds of different events and character’s actions, according to the end-user’s choices.

The end-user experience varies depending of the type of graphical user interface (GUI) provided to the end-user (modular architecture). The text-based GUI uses an innovative history-based interface which can be seen below on the left, the 3D GUI is shown on the right.

IDtension01 IDtension02

When authoring a story, the text interface is used, because it is easier to handle.

Structural elements in IDtension include:

  • Goals: They are the concrete objectives the characters want to achieve in the story. This concept is classical in screenwriting. In IDtension, it is better to have a goal that can be carried out by several characters, to promote the diversity of stories.

  • Tasks: They are concrete acts that enable to reach a goal, the mean to reach an end. It is better to have several tasks for the same goal. Tasks must also been thought to illustrate and contrast the values of the story. Actions in IDtension are made of tasks, for example the action of encouraging someone to perform a given task.

  • Obstacles: They are concrete events that make a task fail. They also trigger subgoals: because an obstacle is met, another "branch" of the story (a goal for the character to aim at) can dynamically open.

  • Values: Thematic axis along which each task is morally evaluated. Characters will be more or less attached to the values. Note that values are not simple characters’ attributes, because they allows some judgement.

  • Characters: After having decided their names, you must provide the values they will be attached to. Other properties might be useful in some contexts (for example, if being small is a condition of triggering an obstacle).

These elements are interconnected and constitute a goal-task structure:


These elements are authored in an XML document. Here follows an excerpt of the XML authoring file:


Complementing these structural elements, texts are written in a separate document (a "coma-separated-value" file, editable in a spreadsheet). Here follows an excerpt of this spreadsheet document:


The software tools for entering this content are:

  • The Eclipse Integrated Development Environment (IDE) itself, which enables to both write the XML structure file and run the story;
  • OpenOffice, to edit the text expressions in a spreadsheet (OpenOffice is preferred than Microsoft Office, because it is easier to keep the document as a csv file, coded in UTF-8 (Excel would convert it into its native format).
  • A centralized “svn” repository, a versioning system that enables to save the successive versions of a story and more importantly that enables several authors to work on the same story.

by Dr. Radut.