This is a study in storytelling and morphology, eventually combining Georges Polti's "The Thirty-Six Dramatic Situations" with aspects of Joseph Campbell, David Adams Leeming, and Phil Cousineau's mythology patterns to create story frameworks. The ultimate goal is to study how their pattens could be used interactively to create procedurally-generated, player-driven stories. What you see right now are baby steps, but an important foundation for future work.
Character names are selected from a list provided by The Office for National Statistics, UK (England and Wales, 2009 database).
All stories are randomly generated on refresh.
Complex situation generation (with relationships)
This is where the bulk of my work is going: an attempt to draw more meaningful relationships between characters, based on a crude mix of two (or more) of Polti's dramatic situations. It's often a bit of a mess, but occasionally touches on a bit of brilliance.
I've culled a few of the situations that the algorithm can't quite handle yet. I'm putting them back in as the algorithm becomes more robust.
Revolt / Recovery of a lost one. Josh conspires against the tyrant Oliver and seeks and finds the lost Wafaa. Oliver is a tyrant.
Slaying of kin unrecognized / Fatal imprudence. Savannah is the victim of the imprudent Tyler. Tyler is slayed, unrecognized, by their kin Savannah and is the imprudent.
Necessity of sacrificing loved ones / Disaster. Evan is a hero who is forced to sacrifice their beloved Harleen and was in power but was vanquished by their enemy Glesni. There is a necessity for the sacrifice.
Complex situation generation (no relationships)
Similar to my work above, but without attempting to draw any relationships between the characters.
Discovery of the dishonour of a loved one / Necessity of sacrificing loved ones. Oliver is the discoverer and a beloved victim. Reginald is a hero. Thomas is the guilty one. There is a necessity for the sacrifice.
Rivalry of kin / Revolt. Lacey is a preferred kin and a conspirator. Tooba is a rejected kin and a tyrant. There is an object of rivalry.
Erroneous judgement / Vengeance taken for kin upon kin. Demi-Lee is the author of the mistake and a guilty kin. Alfie is a mistaken one. Joshua is a victim of the mistake and an avenging kin. Noah is the guilty one. Ava is a relative of both.
Simple situation generation
Nothing more than one of Polti's dramatic situations combined with random names. The most basic story-starter.
Erroneous judgement. Harry is a Victim of the Mistake. Frederick is the Guilty One. Robert is the Author of the Mistake. Dennis is a Mistaken One.
Disaster. Phoebe is the Vanquished Power. Keyan is the Victorious Enemy.
Vengeance taken for kin upon kin. Jai is a relative of both. William is a Guilty kin. Sophie is an Avenging kin.
Overly-complex situation generation (with relationships)
The same algorithm as the top experiment, but mixing together four plots instead of two. The reason it doesn't really work is because it attempts to draw relationships wherever possible, resulting in entirely too many connections for too few characters. Many of the situations don't work when applied to the same characters, like a slain character still being able to discover something. Sometimes, however, it hits a nice balance by fluke. It's a curious example of the limitations of the current algorithm.
Rivalry of superior vs. inferior / Remorse / Slaying of kin unrecognized / Crimes of love. Olivia is the victim of Joshua and commits a crime because of their love for Olivia. Olivia is an interrogator. Joshua a superior rival to Olivia and is slayed, unrecognized, by their kin Olivia. There is an object of rivalry.
Vengeance taken for kin upon kin / Conflict with a god / Abduction / Remorse. Sophie is a guilty kin and is a mortal in conflict with the immortal Kody and is abducted by Kody and is the victim of Kody. Isaac is the guardian of Sophie and is an interrogator. Kody is an avenging kin. Noah is a relative of both.
Self-sacrifice for kin / Rivalry of kin / Rivalry of superior vs. inferior / Daring enterprise. Aum is a hero who sacrifices themselves for their kin Paris and is preferred over their kin Isla and is a bold leader. Paris is an adversary. Isla is a rejected kin and a superior rival to Aum. There is an object of rivalry, an object of rivalry, and an object of desire.
Pulls random names from UK census data, weighted for popular names. Also cross-references the male and female list to find gender-neutral options. It can currently retrieve around 8k unique names.