The idea that a story can be 'generated' was difficult to wrap my head around, and at first I had begun thinking of immediate implementations of ways stories could be read. However, going through the reading about The Myth of 'Universal' Narrative Models, Propp Functions, Kishōtenketsu I set to create an "algorithm" that could be followed to create stories.
Tracery generative story grammar:
{
"origin": "#[#setHero#][#setLove#][#setQuest#][#setDonor#][#setVillain#][#setHome#][#setCall#][#setReasons#][#setIllusion#]story#",
"setHero": [
"[hero:Garfield][heroDesc:a large cat][conveyance:magic lasagna pan]",
"[hero:Hermione Granger][heroDesc:a famous Gryffindor][conveyance:broomstick]",
"[hero:some guy][heroDesc:a guy I know][conveyance:rusty Toyota Corolla]"
],
"setQuest": [
"[questObject:magic ring][destination:Mordor]",
"[questObject:ear of corn][destination:Nebraska]",
"[questObject:academic transcript][destination:the NYU Registrar's Office]"
],
"setCall": [
"[donor:sickly bird][donorHelp:gives the #donor# a healing salve][magicItem:single glistening feather]",
"[donor:thirsty talking flower][donorHelp:waters the #donor# with a nearby watering can][magicItem:glowing pink petal]",
"[donor:hungry fox][donorHelp:feeds the #donor# some beef jerky][magicItem:shiny pendant]"
],
"setVillain": [
"[villain:an old man][challenge:dancing contest]",
"[villain:an evil witch][challenge:magic duel]",
"[villain:a malevolent cloud of glowing fog][challenge:philosophical debate about the nature of existence]"
],
"setReasons": [
"[needReason:an illness][solutionAction:heals]",
"[needReason:great poverty][solutionAction:enriches]",
"[needReason:an ancient Egyptian curse][solutionAction:lifts the curse from]"
],
"setHome": [
"[home:the big city][homeDesc:a concrete jungle full of busy streets but the best food]",
"[home:small town][homeDesc:a quaint community of homes built in the 70s]"
],
"setIllusion": [
"[illusoryCall: birds][illusoryDesc: A flock of birds in coordinated movements flew directly overhead #hero# and headed towards the horizon]",
],
"hobby": ["hiking", "running", "painting", "poetry", "pasta making"],
"ordinary_job": ["accountant", "lifeguard", "engineer", "architect", "designer", "influencer"],
"return": [
"#hero.capitalize# returned to #home# after defeating #villain# and claiming the #questObject#."
],
"ordinary_world": [
"With no more #donor# and the #magicItem# gone, the #hero# comes back to #home#\, #homeDesc#. Thoughts of #destination# are already fading away."
],
"false_settling": [
"The #questObject# has been put away, and #hero# tries to adjust to ordinary life once again. After some time, they find a job as a #ordinary_job# and take up #hobby# to pass the time. Life begins to feel normal again."
],
"retelling": [
"During the journey, life continued on in #home#, and many of the #hero#'s old friends moved on with their lives. Attempting to meet new people, #hero# retells their quest of how they claimed the #questObject# with the help of #donor# to defeat #villain# after during #challenge#."
],
"packing": [
"Over time, the #conveyance# began collecting dust and #hero# decided it was time to pack everything away. There time going on adventures has come to an end."
],
"illusion": [
"One day, as #hero# was walking around #home# they saw #illusoryDesc#. Tempted to take the #illusoryCall# as a sign they prepared their gear to leave once again."
],
"setCommunity": [
"[group:d&d group]",
"[group:run club]",
],
"new_friends": [
"[#setCommunity#]Downtrodden, #hero# continues searching for a day-to-day routin and finds a #group# to spend their time and be surrounded by new people."
],
"lost_friends": [
"..."
],
"ending": [
"The days turned to weeks then months and then years and the #hero#'s quest became legend even in their own head as they eventually became used to everyday life again."
],
"story": [
"Once upon a time...\n#return#\n#ordinary_world#\n#false_settling#\n#retelling#\n#packing#\n#illusion#\n#new_friends#\n#ending#\nThe end."
],
}
The stories generated use the above tracery grammar to explore life after the "Hero's Journey". From fantastical narratives to ones closer to everyday life there's always a "day after" the adventure ends. In a way similar to Studio Ghibli films, I wanted to generate stories that focus on the broader world and how the hero exists within it.
I don't think the generated stories follow my goal as much as I intended, but I mostly used it as an exercise to better understand Tracery and how stories can be generated.