Code accompanying dAIrector (🤖 + 📖) -- Automatic Story Beat Generation through Knowledge Synthesis -- https://korymath.github.io/dairector/
dAIrector is an automated director which collaborates with humans storytellers.
The system is based on work by Markus Eger Plotter: Operationalizing the Master Book of All Plots and Kory Mathewson Improvised Theatre Alongside Artificial Intelligences.
This code accompanies the paper: dAIrector: Automatic Story Beat Generation through Knowledge Synthesis presented at Joint Workshop on Intelligent Narrative Technologies and Intelligent Cinematography and Editing at AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE’18). Edmonton, Alberta, Canada.
Improvisational theatre is an extemporaneous form of theatre where there is no rehearsal and the script is not prepared ahead of time. The art depends on entropy and the justification of the randomness. Through the collaboration of humand and machine, complex stories can be constructed. While generating plots automatically is interesting, we think that the improvisors work to justify and contextualize those plots through dialogue choices is where true creativity is tested.
dAIrector is used to create stories. These stories are represented as linked clauses.
Briefly, the system works as follows:
There we have it. A beautiful five-act play that is well structured with a beginning, middle, and end.
Scenes require something interesting to happen. In addition to the context of the scene, the dialog from the human/AI improvisors, we might want a plot device. For instance, in Scene 3, the “secret danger” is vague. Searching “secret danger” in the TV Tropes database, reveals that the phrase is associated with the game Jewel Quest. This secret danger is associated with a Trope: IT BELONGS IN A MUSEUM Thus Scene 3 becomes more contextualized:
(3 modified) Joey, influenced by a compelling idea of responsibility, finds it necessary to protect his friend, Tynan, from a secret danger. In this scene, the line: “IT BELONGS IN A MUSEUM” is used to express just how old and/or valuable a given item or character is. Additionally, the characters acknowledge “It’s too dangerous for us!” and decides to split it. But soon, everyone’s turning on each other in order to get more than their own share.
*
, while this limits the search space and graph, it also allows for robst graph parsing.