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.

Crimes of love / Involuntary crimes of love. Umme commits a crime because of their love for Rachael and commits a crime because of their love for Rachael. Jack is the revealer of their crime.

Madness / Remorse. Franciszek is has gone insane and is the victim of Madison. Niyah is an interrogator. Madison is the victim of Franciszek.

Adultery / Crimes of love. Amber is adulterous with Elin and commits a crime because of their love for Elin. Lucas has been cheated on by their spouse Amber.

Complex situation generation (no relationships)

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

Adultery / Loss of loved ones. Rebecca is another adulterer and a kin spectator. Sophia is an adulterer and a kin slain. Isa is a deceived spouse and an executioner.

Daring enterprise / Rivalry of superior vs. inferior. Chloe is an adversary and a superior rival. Abi is a bold leader. Georgia is an inferior rival. There is an object of desire. There is an object of rivalry.

Loss of loved ones / Deliverance. Oliver is a kin spectator and a rescuer. Bethany is a kin slain and an unfortunate. Emily is an executioner and a threatener.

Simple situation generation

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

Falling prey to cruelty or misfortune. Leon is an Unfortunate. Ayman is the Master.

Involuntary crimes of love. Isabella is a Lover. Jasmin is the Revealer of their crime. Khaleel is the Beloved.

Obstacles to love. Lily-Sue is a Lover. Rowan is another Lover. There is an Obstacle.

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.

Abduction / The enigma / Rivalry of superior vs. inferior / Pursuit. Cameron is abducted by Laurie and interrogates the mysterious Laurie. Lucas is the guardian of Cameron. Laurie a superior rival to Cameron and is a fugitive being chased by Cameron. There is an object of rivalry.

Crimes of love / Disaster / Abduction / Obstacles to love. Grace commits a crime because of their love for Barbara and was in power but was vanquished by their enemy Harvey and is abducted by Harvey and is lovers with Barbara. Barbara is the guardian of Grace. There is an obstacle.

Murderous adultery / Obstacles to love / Involuntary crimes of love / Discovery of the dishonour of a loved one. Ruby is adulterous with Billy and is lovers with Billy and commits a crime because of their love for Billy and discovers the guilt of their beloved Leah. Leah is the betrayed partner and is the revealer of their crime. There is an obstacle.

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: Aahil
Female: Reena
Gender-neutral: Logan

Male: Arthur
Female: Noor
Gender-neutral: Joey

Male: Noah
Female: Sienna
Gender-neutral: Ashton