Fairy Tale Generator

I personally find few things as nostalgic as rolling on a table mid-session, whether for a random encounter, a piece of treasure, or simply a bit of inspiration when you’re stuck.

While building Sagenlund, I found inspiration in Pixar’s Seven Sentences structure and Forbidden Lands. I read and listened to dozens of fairy tales and built an entire setting around a simple idea: fairy tales have long served as warnings, but what if those warnings were a little more literal? What if telling those stories actually brought them to life?

That idea became the foundation of Sagenlund. Reality is malleable, shaped by the stories people tell. If a small village shares a tale, that tale gradually becomes truth, never giving memories the chance to become legends, or legends to fade into myth.

So far, I’ve used this structure to create three introductory adventures for Sagenlund, all of which I’ve run as one-shots. Eventually, though, I wanted a way to generate these stories on the fly—and a simple tool that would let me share the process with others. So I took those seven sentences and turned them into a mad-lib-style story generator powered by a series of random tables.

Roll once on each table, in order, and read the results into this:

  1. Every Day, the ⟨Protagonist⟩ ⟨Action⟩ ⟨Adverb⟩,
  2. While the ⟨Antagonist⟩ ⟨Action⟩ ⟨Adverb⟩.
  3. Then One Day, ⟨Noun⟩ ⟨Verb⟩.
  4. Because of That, the ⟨Protagonist⟩ ⟨Protagonist Verb⟩.
  5. Because of That, the ⟨Antagonist⟩ ⟨Antagonist Verb⟩.
  6. Finally, the ⟨Protagonist, rolled again⟩ answered, and ⟨the Noun from 3⟩ ⟨Opposite from 3’s row⟩, bound by ⟨Ward⟩.
  7. Ever Since, ⟨Ward⟩ must be ⟨Kept How⟩ ⟨When⟩, and the ⟨Protagonist⟩ has obeyed.
  8. Until ⟨Ward⟩ ⟨Omen⟩.

Four rules help keep it consistent:

  • The turn and its answer are one roll. Step 3 takes the Verb, step 6 takes the Opposite from that same row. This ensures what happens and how it shifts are intricately linked.
  • The ward is one roll. Steps 6, 7 and 8 all name the same ward. Roll once, keep the whole row. I want to relax this in the future, which is why these are not just a sentence.
  • Whoever answers is someone else. Step 6 re-rolls the Protagonist table; roll again if it matches step 1.
  • Match the number. The Plural column tells you whether step 7 reads has obeyed or have obeyed, and which Omen column step 8 uses. This is really only necessary for the generator’s sentences to make sense, rolling on the tables this would be easy to manually adjust.

The generator below creates a simple fairy tale using the structure outlined above. The raw tables follow the generator.

The Protagonist (d20)

RollWhoNumberEvery Day… (action)…(adverb)Because of That…
1ChildPlayedCarefullySearched
2ChildrenpluralPrayedPatientlyDiscovered
3VillagerStudiedQuietlyProtected
4VillagerspluralWorkedKindlyRescued
5Old WomanLivedGenerouslyGathered
6Old ManJourneyedFaithfullyTraveled
7OrphanGatheredBravelyLearned
8ShepherdHelpedWiselyBefriended
9MillerBuiltHonestlyFreed
10WoodsmanCreatedHumblyRestored
11FarmerLearnedJoyfullyRevealed
12ApprenticeTendedCheerfullyUnited
13TeacherProtectedWonderfullyEndured
14PriestSharedCreativelyBargained
15AlchemistTradedConfidentlyRemembered
16SailorExploredGracefullyForgave
17ThiefHarvestedDiligentlySacrificed
18SlaveMendedGentlyChallenged
19HunterDiscoveredThankfullyEscaped
20HermitCelebratedHopefullyDefeated

The Antagonist (d20)

RollWhoNumberWhile… (action)…(adverb)Because of That…
1CultDestroyedDefiantlyHunted
2Cult LeaderStoleDangerouslyStole
3KingHuntedAngrilyCorrupted
4QueenCursedCruellyCaptured
5Wicked StepmotherControlledSecretlyHoarded
6NobleCommandedRuthlesslyPursued
7Town CouncilDemandedJealouslyManipulated
8Tax CollectorDeceivedGreedilyBetrayed
9GuildCorruptedDeceitfullyEnslaved
10Merchant PrinceImprisonedMercilesslyDestroyed
11WizardBanishedRelentlesslyConcealed
12WitchConsumedSilentlyDivided
13GuardspluralConqueredRecklesslyOppressed
14CaptainHoardedCunninglyDeceived
15MilitiaWatchedSinisterlyErased
16BanditspluralPursuedMaliciouslyAvenged
17Thieves’ GuildInvadedViciouslyDemanded
18NecromancerThreatenedObsessivelyCommanded
19DragonSchemedCorruptlyImprisoned
20GiantWhisperedDarklyReturned

The Turn — what changed (d20)

RollNoun
1Darkness
2Light
3Death
4Power
5Monsters
6Cold
7Heat
8Forces
9Magic
10Undead
11Fae
12The Realm
13A Wizard
14A Warrior
15A Demon
16An Angel
17Time
18Life
19The Forest
20The People

The Turn — verb and its answer (d40)

RollThen One Day… (verb)Finally… (opposite)
1RoseFell
2QuakedStilled
3SunderedRestored
4ShatteredRestored
5HidAppeared
6AppearedHid
7ConqueredEnslaved
8DestroyedForgot
9CreatedDestroyed
10FledReturned
11ReturnedFled
12ConqueredEscaped
13EnslavedFreed
14VanishedReturned
15AwakenedBanished
16DescendedAscended
17StoppedResumed
18BloomedWithered
19AwakenedSlept
20UnitedDivided
21SpreadReceded
22FadedReturned
23ClaimedReleased
24ShiftedSettled
25AwokeSlept
26SpreadMelted
27WitheredFlourished
28StirredQuieted
29AwakenedFaded
30RoseRested
31CrossedDeparted
32ChangedEndured
33DisappearedReturned
34FellRose
35EscapedImprisoned
36AppearedDeparted
37FracturedMended
38ReturnedVanished
39SpreadReceded
40RememberedForgot

The Ward (d20)

RollThe wardNumberKept howWhen or where
1the bellspluralrungat sunset
2the night-firespluralkept lituntil dawn
3the salt linescatteredat every threshold
4the gatebarredbefore dark
5the old songsungat the crossing
6the offeringspluralleftat the shrine
7the vigilkeptfrom dusk to dawn
8the tollpaidat the bridge
9the ward-stonespluralsetalong the boundary
10the lanterncarriedafter dark
11the fastheldon the longest night
12the namespluralleft unspokenin the dark months
13the doorspluralmarked with ashbefore the new moon
14the watchsetupon the walls
15the hornsoundedat moonrise
16the circlewalkedeach evening
17the tithegivenat harvest
18the maskspluralwornthrough the dark months
19the last loafleftupon the step
20the mirrorspluralcoveredat night

The Omen (d20)

RollIf the ward is singularIf the ward is plural
1ReturnedReturned
2VanishedVanished
3AwakenedAwakened
4Fell SilentFell Silent
5Was BrokenWere Broken
6Was ForgottenWere Forgotten
7Was StolenWere Stolen
8FailedFailed
9ChangedChanged
10StoppedStopped
11Began AgainBegan Again
12OpenedOpened
13ClosedClosed
14CrackedCracked
15Was NamedWere Named
16Was FoundWere Found
17Was LostWere Lost
18Was SeenWere Seen
19Was HeardWere Heard
20Came EarlyCame Early