Creation Process with Enigma

As mentioned in the Tool Architecture description, authoring work is split between a principal author (PA) and numerous contributors, who the PA invites. In general the system design assumes minimal technical knowledge from contributors, however the PA needs a deep technical understanding of how the system works.

Creation process for the principal author:

In order to collect red riding hood themed stories with the Enigma authoring client the principal author (PA) has to first create a story world, in which the invited contributors can create stories. This involves defining which characters, objects and locations are available and setting up an initial repertoire of actions, speech acts, properties and types (the contributors will be able to create more of those) to give the contributors a starting point. All of this is done by editing XML files. Also the PA should provide some backstory (such as in Story World Concept) for the contributors to read before they go about the authoring task.

Finally the PA also has to make sure that graphical resources, which allow a comics visualisation of characters, places and events, are in place. Using the comics system, this process can be much faster than it would be if 3D graphics were involved. Also the comics system is useful for rapid prototyping. The comics library for the Red Riding Hood Story World that was used to create the Example Scene was relatively easy to set up, it involved scanning in 4 hand drawn characters and finding some backgrounds images from the internet. Of course if it is a serious authoring project, this can and should be extended by for example creating more expressions for characters and creating original background images that fit perfectly with the style of the characters.

Creation process for invited contributors:

Contributors tell stories by creating events in the authoring client. First they select a subject, then an action. Depending on the action’s signature (number and type of parameters) they have to make additional selections in order to create the event. For example, if the author selects the action steal, they also will have to select an item to steal and a person to steal from.

Authors can also create new actions through a wizard. Since the graphics library will not contain any content for visualizing this action, the author can provide a narration text that will be used as a place holder for visualizing this action. The PA or an additional “artist in the loop” could later add visualisation for this action.

In the case of dialogue, contributors can reuse existing speech acts (units of dialogue) or create new ones. In the latter case they can not just enter a new line of dialogue; they also have to provide a name to identify the dialogue line as a speech act.

Finally authors can also control the narrative time and place and cause scene changes, character entries and exits, etc.


The user interface of the authoring tool will also ask contributors to annotate the stories they create in order to collect additional semantic context information for the processing of the stories by the Enigma Server. After creating a new event, authors can specify how characters’ emotions changed due to this event and which properties change. For example a character can have a property with the name “awake” and the data type boolean that is changed from true to false through the action “go to sleep”. A contributor specifies this by choosing properties and their values from lists. If a property that is needed to describe an event is not yet part of the domain model, the contributor can also define new properties at this stage (this might also involve defining new data types).

After finishing the story, authors will also be asked to specify which goals characters had during the story, at which point in the story they started, succeeded or failed and which events contributed to these goals. We will have to determine through user trials of the tool, whether most authors are willing to perform this annotation and whether the concepts involved in the annotation (properties, types, goals) etc are understandable for non-experts. In case they are not, the PA might have to perform the annotation himself. Alternatively we might adopt an intermediate solution where the annotations are written in natural language by the contributors and the PA has to translate them into machine readable format afterwards.