Jump to Navigation

EmoEmma Authoring Tool

The EmoEma Authoring Tool is based on planning. This means that a story is described by actions, so-called operators, that have preconditions, telling under which circumstances an action can be performed, and effects, which are changing the world state after an actions was performed. The world state is described by facts, so-called propositions. Authors are free to choose the name of such a fact freely, because it is just a label and can mean everything, for example: door_is_open, mood_has_value_2, enemy_is_angry, flower_is_red.

Effects are adding facts from a pool to the current world state or removing them from it. That’s why preconditions are just a list of facts, meaning that these facts have to be “in the world” to make the related action possible.
The following figure shows the definition of an action and its preconditions and effects in the tool.

EmoEmma01

In green the list of facts are marked. Elements of this list are taken from a pool of all facts of the story world. In red are the effects marked. They are distinguished into two lists, an add list and a delete list. The add list shows the facts that are taken from the pool and put into the world; the delete list does it the other way round.

For advanced readers:

The concept of operators and propositions in the sense of planning can also be translated back into the more general concept of IF-THEN-ELSE. You can imagine the facts as Boolean variables. If they are true, they are present in the current world state, if they are false, they are not, or in other words, they are in the fact pool. Adding them just means to set them to true, deleting them means setting them to false.

So the example above could also be written:

IF ( ( archaeologist-not-threatened == true ) AND ( truth-published == true )
   AND ( authenticity-not-confirmed == true ) AND ( election-not-happened == true ) ) THEN
      ACTION: 
            ARCHEOLOGIST-CONFIRMS-IT-IS-FAKE
      EFFECTS:
            people-dislike-Putin := true
            authenticity-confirmed := true
            authenticity-not-confirmed := false




by Dr. Radut.