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.

Disaster / Enmity of kin. Mercedes was in power but was vanquished by their enemy Vinny and hates their kin Vinny.

Revolt / Supplication. Destiny conspires against the tyrant Gabriel. Gabriel is a tyrant and persecutes Destiny. Charlie is a power in authority whose decision is doubtful.

Vengeance taken for kin upon kin / Pursuit. Penny is a guilty kin. Cody is an avenging kin and is a fugitive being chased by Penny. Alicia is a relative of both.

Complex situation generation (no relationships)

Similar to my work above, but without attempting to draw any relationships between the characters.

All sacrificed for passion / Rivalry of superior vs. inferior. Maria is a lover and a superior rival. Layla is an inferior rival. There is an object of fatal passion. There is something sacrificed. There is an object of rivalry.

The enigma / An enemy loved. Cohen is an interrogator and a lover. Dawud is the beloved enemy. Daniel is the seeker and the hater.

Discovery of the dishonour of a loved one / The enigma. Tanisha is the discoverer and an interrogator. Michael is the guilty one and the seeker.

Simple situation generation

Nothing more than one of Polti's dramatic situations combined with random names. The most basic story-starter.

Conflict with a god. Maisie is a Mortal. Muhammed is an Immortal.

Remorse. Olivia is a Culprit. Callum is an Interrogator. Clayton is a Victim.

Conflict with a god. Olivia is a Mortal. Keegan is an Immortal.

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.

Fatal imprudence / Ambition / Murderous adultery / Falling prey to cruelty or misfortune. Elizabeth is the victim of the imprudent Elliott and is an ambitious person and is adulterous with Tanveer. Tanveer causes misfortune to fall on Elizabeth. Elliott is the imprudent and is adversaries with Elizabeth and is the betrayed partner. There is something coveted.

Crimes of love / Madness / Slaying of kin unrecognized / Ambition. Chantelle commits a crime because of their love for Demi-Lee and is has gone insane and is an ambitious person. Lydia is the victim of Chantelle and is slayed, unrecognized, by their kin Chantelle and is adversaries with Chantelle. There is something coveted.

Rivalry of superior vs. inferior / Murderous adultery / Self-sacrifice for an ideal / Disaster. Matthew is adulterous with Caitlin and is a hero who is forced to sacrifice themselves for an ideal and was in power but was vanquished by their enemy Henry. Henry a superior rival to Matthew and is the betrayed partner. There is an object of rivalry, an ideal, and something sacrificed.

Name generation

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.

Male: Bradley
Female: Sophie
Gender-neutral: Logan

Male: Abdul
Female: Gracie
Gender-neutral: Skye

Male: Jaden
Female: Scarlett
Gender-neutral: Brooke