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.

Fatal imprudence / Slaying of kin unrecognized. Umut is the victim of the imprudent Bushra. Bushra is the imprudent and is slayed, unrecognized, by their kin Umut.

The enigma / Remorse. Emma interrogates the mysterious Isaac and is the victim of Isaac. Olivia is an interrogator.

Fatal imprudence / Crime pursued by vengeance. Martha is the victim of the imprudent Austen. Austen is the imprudent and is a criminal pursued by Martha.

Complex situation generation (no relationships)

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

Rivalry of superior vs. inferior / Erroneous judgement. Milly is a superior rival and the author of the mistake. Freya is a mistaken one. Jude is an inferior rival and a victim of the mistake. Jensen is the guilty one. There is an object of rivalry.

All sacrificed for passion / Self-sacrifice for kin. Sol is a lover and a hero. James is a kin. There is an object of fatal passion. There is something sacrificed.

Involuntary crimes of love / Erroneous judgement. Scarlett is a lover and the author of the mistake. James is the beloved and a mistaken one. Naomi is the revealer of their crime and a victim of the mistake. Serena is the guilty one.

Simple situation generation

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

Vengeance taken for kin upon kin. Daisy is a relative of both. Winnie is a Guilty kin. Jake is an Avenging kin.

Disaster. Harry is the Vanquished Power. Hrithik is the Victorious Enemy.

Murderous adultery. Poppy is another Adulterer. Lily-May is an Adulterer. Clarissa is the Betrayed Partner.

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.

Slaying of kin unrecognized / Obstacles to love / Recovery of a lost one / Madness. Chloe is lovers with Harry and seeks and finds the lost Harry and is has gone insane. Tayyibah is slayed, unrecognized, by their kin Chloe and is the victim of Chloe. There is an obstacle.

Abduction / Disaster / The enigma / Enmity of kin. Jayden is abducted by Michael and was in power but was vanquished by their enemy Michael and interrogates the mysterious Michael and hates their kin Michael. Kaitlyn is the guardian of Jayden.

Madness / Abduction / Crimes of love / Rivalry of kin. Tyrese is has gone insane and is abducted by Isabel and commits a crime because of their love for Marley and is preferred over their kin Isabel. Marley is the guardian of Tyrese. Isabel is the victim of Tyrese and is a rejected kin. There is 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: Charles
Female: Olivia
Gender-neutral: Charlie

Male: Mohammed
Female: Imogen
Gender-neutral: Cameron

Male: Connor
Female: Phoebe
Gender-neutral: Joey