Enhancing interactivity in Propp-based narrative generation

Propp’s morphology


In Propp’s morphology functions are universal components, that are independent of the how and by whom of a story and represent the what is happening of a story. For example an “M” represents a difficult task in the morphology and an “N” the solution of this task,

Ex.: a stranger poses a riddle to the hero: “What does walk on four legs in the morning…”


Moves are the smallest sequence of functions that represents a folktale. They are at least composed out of a villainy function, some intermediary functions and the resolution of the villainy. As functions are represented by letters, moves tend to look like this:


This corresponds for example to the following story:

“Siegfried needs a map. He goes on a search for one. He is asked a riddle by a stranger, who has a map, but is not able to solve it, thus he still has no map. So he gets in a fight with the stranger and defeats him. Now Siegfried has his map.”


Interactivity means for us:

Propp’s morphology struggles with this form of interactivity, as its functions sequence has a too strict structure, that does not allow meaningful deviations and thereby also allows no iterative process.


We tried to find solutions and propose three methods, that combined might enable this kind of interactivity in plot-based interactive storytelling:

Negative functions


Negative functions provide multiple outcomes to certain function pairs. We provide them for most of the function pairs found in Propp’s morphology. They provide us with the option to follow different plots after a decision.

Move combinations


Moves can be combined by replacing function pairs in one move with a whole new move that expands the function pairs content. This gives us the possibility to provide real structural changes in the function sequence.



Flashbacks are going back in the function sequence to add retrospectively functions. They can be used to relieve dead-end situations. This are situation in which we do not find a valid function anymore, because all have preconditions that are violated. It also enables reflection on decisions and the iterative process we talked of.


This poster and its accompanying poster paper present only the ideation phase of a master thesis in development. We are working right now on:


If you are interested in future developments, get into contact with Luis Mienhardt or Marco Volpe.