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.

Supplication / Remorse. Harry is the victim of Rudy. Olivia is an interrogator. Rudy persecutes Harry. Sophia is a power in authority whose decision is doubtful.

Disaster / Discovery of the dishonour of a loved one. Alfie was in power but was vanquished by their enemy Troy and discovers the guilt of their beloved Troy.

Pursuit / Vengeance taken for kin upon kin. Mckenzie is a guilty kin. Mya is a fugitive being chased by Mckenzie and is an avenging kin. Maggie 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 / Deliverance. Maddison is a lover and a rescuer. Kayden is an unfortunate. Ava is a threatener. There is an object of fatal passion. There is something sacrificed.

Rivalry of superior vs. inferior / Revolt. Bonnie is a superior rival and a conspirator. Cameron is an inferior rival and a tyrant. There is an object of rivalry.

Obstacles to love / Necessity of sacrificing loved ones. William is a lover and a beloved victim. Ellie is another lover and a hero. There is an obstacle. There is a necessity for the sacrifice.

Simple situation generation

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

Deliverance. Sophie is a Threatener. Owen is a Rescuer. Syed is an Unfortunate.

Remorse. Owen is a Culprit. Zainab is an Interrogator. Henry is a Victim.

Disaster. Keira is the Vanquished Power. Pedro is the Victorious Enemy.

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 kin / The enigma / Daring enterprise / Abduction. William is preferred over their kin Antonia and interrogates the mysterious Antonia and is a bold leader and is abducted by Antonia. Roma is an adversary and is the guardian of William. Antonia is a rejected kin. There is an object of rivalry, and an object of desire.

The enigma / Ambition / Abduction / Vengeance taken for kin upon kin. Jessica interrogates the mysterious Jack and is an ambitious person and is abducted by Jack and is a guilty kin. Evelyn is the guardian of Jessica. Jack is adversaries with Jessica and is an avenging kin. Harry is a relative of both. There is something coveted.

Pursuit / Adultery / Supplication / Falling prey to cruelty or misfortune. Devon is adulterous with George. George causes misfortune to fall on Devon. Sophie is a fugitive being chased by Devon and has been cheated on by their spouse Devon and persecutes Devon. Molly is a power in authority whose decision is doubtful.

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: Yunus
Female: Juno
Gender-neutral: Tegan

Male: Connor
Female: Leila
Gender-neutral: Miley

Male: Jack
Female: Zara
Gender-neutral: Riley