Example Scene for The Virtual Storyteller

The following story world example was created by means of a series of authoring cycles. The creation process for this world took approximately 15 hours of work.

First cycle

A predictable story "emerged" during simulation: Red skipped to the forest, then to Grandma’s house, and gave her the cake. We chose to author content so that Grandma would eat the cake, and also wanted to enable Wolf to eat the cake, by stealing it. So we added a goal to eat something, and an action to take something from someone else. To enable justification of this goal, we added an event to become hungry.

Second cycle

In the simulation, both Grandma and Wolf could not adopt any goals: for them, the preconditions for available goals did not match the initial state of the story world. So they attempted to justify goals (out-of-character) by selecting the event to become hungry. On her way to Grandma, Red met Wolf, who had adopted the goal to eat something and took the cake from Red. However, since Red still wanted to bring the cake to Grandma, she took back the cake from Wolf. Wolf still wanted to eat the cake, so again took the cake from Red. This "cake fight" continued until Red skipped to Grandma’s house before Wolf managed to take the cake from her. Then, a similar situation occurred with Grandma who did not know that Red was going to give her the cake. Because she was hungry, Grandma took the cake from Red. This also happened to solve Reds goal that Grandma had the cake. Now Red had no more goals to adopt, so she selected the event to become hungry and adopted the goal to eat something. This caused Red to take back the cake from Grandma, and eat it herself.


Some of this behaviour was expected, some was surprising and inspiring (e.g., Red could be an assertive girl), and some was undesired, resulting from a domain underspecification: only mean persons take something from someone when it does not belong to them; nice people ask. Furthermore, if the cake can be taken away from Red without the possibility of taking it back (e.g., if Red is not mean), a response is needed to this event. We chose to have Red cry as a plausible dramatic response for little girls.

So in the implementation phase, we added a framing operator that can endow a character to be mean; we further chose that only one character in the story world can be mean. We added a "cry" reactive action, triggered by someone taking something from a character without the character’s consent. We chose to constrain the crying reactive action trigger so that it is only applicable to little girls (although it would be fun if the wolf would cry too if someone stole something from him).
Third cycle

In the simulation, Wolf framed himself to be mean (out-of-character, using the framing operator), so that he could plan to take away the cake from Red. After this mean action from Wolf, Red started crying. This was as expected. As authors, we considered how the simulation might continue at this point. Red might go to Grandma to seek support. In revenge, Grandma might poison a cake and feed it to Wolf. We considered how this might open up possibilities in the simulation for the cake to be poisoned by Red in an attempt to poison Grandma in case Red happens to be the mean one (an idea was to add a goal specifying that mean characters try to poison others). Wolf might be allowed to satisfy his hunger by eating Grandma, or by following Red and eating them both. Red might be given the option to be distrustful and avoid interaction with Wolf. 

We only implemented one of these ideas. We added a goal to seek support and added speech actions for Red to tell Grandma what happened, and to ask her what to do. We also added a goal for Grandma to avenge her granddaughter by poisoning the wrongdoer, and actions that allowed a goal plan. Grandma baked a cake, poisoned it, went up to the wolf and gave him the cake. The wolf, being hungry again, ate it and died. Red and Grandma lived happily ever after.