Procedural Generation Pattern: Story Generation by Simulation
In my previous post I have explained the terms ontogenetic (top-down, feature-based) and teleological (bottom-up, simulationist) procedural generation.
I have argued that in most cases, the additional effort both in terms of programming or balancing the initial state of the simulation and in terms of computation time spent on simulationist generation is not worth the gains in detail and fidelity. In any case, an equal amount of effort could be spent on adding detail to a feature-based generator.
Two main differences set stories apart from other kinds of generated content: Narrative economy and the causal, temporal nature of storytelling. While narrative economy works in favour of a top-down feature-based approach to storytelling, the temporal and causal nature of stories favour simulationism.
Stories in Time
In artifacts like level maps, the product of a simulation-based generator is only the result of the final simulation step, and each state depends only on the immediately previous one. Stories don’t work like that: They unfold over time, and step by step follow a chain of connected events. If the main attraction of a story were its outcome, readers would always skip to the ending of books, and writers would not need to bother writing the parts before that.
Each simulation step moves the story forward. Because of that, intermediate simulation steps can be tremendously useful to storytelling. Story generators can generate a story by simulating step by step the world of a story, and describing what happened.
Two early story generation systems relied on a rather simulation-driven approach:
Michael Lebowitz’ 1984 UNIVERSE system for storytelling uses the same simulation algorithm both for character generation and storytelling: UNIVERSE generates interesting soap-opera-style storylines based around the interrelations of an ensemble cast. The two main goals of UNIVERSE are consistency and coherence in the generated stories. Consistency means that the stories and characters are free from internal contradiction, and coherence means that story events don’t just happen at random, or for no discernible reason, but arise from previously established facts in the story. Through simulated interactions between characters, they acquire shared histories and motives that motivate and explain their later behaviour in the story.
The TALE-SPIN system by James Meehan (1977) generated fable-like stories about animals living together in a forest. While the system used planning or constraint-solving algorithms to generate character actions, these plans were not driven by narrative concerns, but by the goals and knowledge state of the respective characters. Characters could be wrong in their beliefs about the world, or take actions to get more information about known unknowns.
Narrative Economy
You almost never see people going to the bathroom in movies - with some notable exceptions like Pulp Fiction, in which major plot events happen while Vincent Vega is sitting on a toilet - and if you see somebody doing a mundane action like eating breakfast, going to bed, or reading the newspaper, it either serves as a backdrop for a more interesting plot point, or as a set-up for later events - for example a busy family eating breakfast together gives an opportunity to put all the characters together at a table and introduce them, or explain why the lot of them were together when the main plot started to unfold.
Even though most stories, be they movies, books or told in other forms, do not directly depict or mention such mundane events, it is usually implied that they still happen. Characters still need to eat, sleep, and do their taxes. In accordance with to the Gricean Maxims, stories only communicate to the audience only that which the audience does not already know or assume to be the case. On top of that, stories focus on topics and events that are unlikely, unusual, novel, or just generally interesting in some way.
Creating Drama
If a storytelling system wants to emphasize novel and unusual events, it must first generate such events, so it can talk about them. The need to create interesting situations is at odds with fine-grained simulation, consistency and coherence, as most events in an iterated simulation are not very interesting by virtue of occurring regularly.
A storytelling system should start and end the story in a way that allows the central conflict to develop and be resolved. It should not include long passages of exposition or childhood events of the protagonist, and it should end the story soon after the conflict is resolved. The story should follow a dramatic arc.
A simulation-based storytelling system can exercise some amount of narrative economy by omitting mundane events that occur inside the simulation from the generated story text, and focusing on the more interesting parts. Alternatively, the system can bias random chance events and character decisions towards more interesting outcomes, within the bounds of coherence and consistency. This is also the approach taken by UNIVERSE.
TALE-SPIN more or less failed at narrative economy, often producing rather repetitive stories about animals trying, and failing at, multiple successive strategies to find food. Although the world of TALE-SPIN models animals with mundane goals like finding food, it is capable of simulating theory of mind, competition and social interaction in pursuit of these goals. Unfortunately, TALE-SPIN does not include these details in the story text. Thus, a situation that could have been described as “Henry the hare knew that Brian the bear was fishing for salmon at the river, but Brian had a mean streak and was not to be trusted. Henry decided to seek out Olly the owl on the hill for advice instead.“ simply becomes “Henry went up the hill“.
Top-Down Drama Generation
Feature-based story generation systems like William Wallace Cook’s Plotto, outlined in his 1926 book of the same name, maintain narrative economy, create a story arc, and focus on an interesting subject matter through top-down design. For example, Plotto contains the following situation:
A, poor, is in love with wealthy and aristocratic B * A, poor, in love with wealthy B, pretends to be a man of wealth
This situation sounds by itself at least a little interesting and noteworthy. Each of these plot points fits into an overall structure of a central conflict, and can be combined with other conflicts that have preceded or been caused by it. The Plotto book has a table of central conflicts, protagonists and plot points, and rules for how to combine them.
Since Plotto was a book intended for novelists and screenwriters, and not a computer program, it was the end user’s task to write the actual text of the novel, stage- or screenplay. Eventual inconsistencies could always be caught and corrected by a human editor. Likewise, the balance of detail against narrative economy is in the hands of a human author.
The MINSTREL system tries to follow a high-level plot outline by fleshing out the structure with adapted events from a library of previous stories. By drawing upon events from previous stories, it retains the level of drama of the story corpus, but sacrifices consistency and coherence: Story elements are not causally connected in an underlying simulated model. Instead, they are retrieved and adapted by an analogical process, based on superficial similarity.
Conclusion
Although top-down procedural generation is often better suited for level generation, bottom-up simulation is well suited to generate stories. Detailed simulation can produce stories that make sense: They are internally consistent, and no story development feels out of place. Feature-based or top-down methods can build dramatic arcs, but rely on user-supplied plot structure.
If you want to generate compelling stories with a bottom-up simulation approach, you need a model of the reader, a model of dramatic tension, or a way to enforce a plot structure, in addition to a model of the world your story is set in.
Links:
http://wikis.sub.uni-hamburg.de/lhn/index.php/Story_Generator_Algorithms
Gricean Maxims: https://en.wikipedia.org/wiki/Cooperative_principle
Tale-Spin: https://grandtextauto.soe.ucsc.edu/2006/09/13/the-story-of-meehans-tale-spin/
More on Tale-Spin: http://blog.kenperlin.com/?p=2068
Universe: https://grandtextauto.soe.ucsc.edu/2008/03/05/ep-72-universe/
Plotto: https://www.brainpickings.org/2012/01/06/plotto/, http://www.npr.org/2012/02/19/146941343/plotto-an-algebra-book-for-fiction-writing, http://prosecco-network.eu/blog/generating-new-stories-plotto
Minstrel: https://games.soe.ucsc.edu/sites/default/files/lessons_learned_from_RR_of_M-AAAI2012.pdf
Tropes Discussed: http://tvtropes.org/pmwiki/pmwiki.php/Main/NarrativeFiligree, http://tvtropes.org/pmwiki/pmwiki.php/Main/TheLawOfConservationOfDetail, http://tvtropes.org/pmwiki/pmwiki.php/Main/NobodyPoops, http://tvtropes.org/pmwiki/pmwiki.php/Main/Asspull










