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.

Remorse / Rivalry of superior vs. inferior. Maisie is the victim of Libby. Rayhan is an interrogator. Libby a superior rival to Maisie. There is an object of rivalry.

Discovery of the dishonour of a loved one / Falling prey to cruelty or misfortune. Reggie discovers the guilt of their beloved Shayaan. Joseph causes misfortune to fall on Reggie.

Crimes of love / Rivalry of kin. Kerris commits a crime because of their love for Daisy and is preferred over their kin Zaara. Zaara is a rejected kin. There is an object of rivalry.

Complex situation generation (no relationships)

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

The enigma / Pursuit. Lucas is an interrogator and the punisher. Kai is the seeker and the fugitive.

The enigma / Fatal imprudence. Elliot is an interrogator and the imprudent. Sophie is the seeker and the victim.

Daring enterprise / Vengeance taken for kin upon kin. James is an adversary and a guilty kin. Zander is a bold leader. Alys is an avenging kin. Aiden is a relative of both. There is an object of desire.

Simple situation generation

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

Loss of loved ones. Callum is a kin Spectator. Brooke is an Executioner. Codey is a kin Slain.

Ambition. Grace is an Adversary. George is an Ambitious Person. There is Something Coveted.

Deliverance. Billy is a Threatener. Isabelle is a Rescuer. Colby is an Unfortunate.

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.

Remorse / Revolt / Recovery of a lost one / Self-sacrifice for an ideal. Sophia is the victim of Julia and conspires against the tyrant Julia and seeks and finds the lost Liam and is a hero who is forced to sacrifice themselves for an ideal. Liam is an interrogator. Julia is a tyrant. There is an ideal, and something sacrificed.

Necessity of sacrificing loved ones / Crimes of love / Self-sacrifice for kin / Enmity of kin. Molly is a hero who is forced to sacrifice their beloved Ibrahim and commits a crime because of their love for Ibrahim and is a hero who sacrifices themselves for their kin Ibrahim and hates their kin Marwa. There is a necessity for the sacrifice.

Abduction / Ambition / Necessity of sacrificing loved ones / Rivalry of superior vs. inferior. Ellis is abducted by Wiliam and is an ambitious person and is a hero who is forced to sacrifice their beloved Zachary. Zachary is the guardian of Ellis. Wiliam is adversaries with Ellis and a superior rival to Ellis. There is something coveted, a necessity for the sacrifice, and an object of rivalry.

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: Logan
Female: Jayda
Gender-neutral: Casey

Male: Thomas
Female: Amna
Gender-neutral: Harley

Male: Charlie-Jay
Female: Samah
Gender-neutral: Jude