As I mentioned, I started a Dolmenwood game using the His Majesty the Worm ruleset recently.
Dolmenwood is a fantasy setting inspired by British folklore and fairy tales with a delightful psychedelic vibe. It is "mossy," in a word. It was originally published in a series of zines called Wormskin (partially to credit with me getting into the OSR scene). A stand-alone OSE hack, hexcrawl, and monster manual are scheduled to launch on Kickstarter soon.
To prepare for my game, I have made an elaborate Dolmenwood Meatgrinder on Perchance. Check it out!
Click here to play around with it! |
What is this thing?
A Meatgrinder is a tool like an overloaded encounter dice that's used in His Majesty the Worm. In its simple form, a Meatgrinder is a table of 21 entries of encounters, events, and signs for players to encounter as they explore a megadungeon.
When the players' guild enters a room, the GM draws an entry for the Meatgrinder, then reads the room key in combination with the Meatgrinder result. The combination makes play dynamic and interesting for everybody involved.
However, when running large hexcrawls, I suffer from tool-switching exhaustion. When running Dolmenwood, I need:
- Hex key
- The GM's map
- His Majesty the Worm rulebook for reference
- Monster entries
- The playlist (each region of the forest has its own theme song, plus music for session start, battles, rests, etc.)
- Dozens of random tables:
- the Meatgrinder
- random herbs
- reaction tables and monster activities
- weather
- settlement rumors
- treasure tables
- etc.
In the past, I've felt bogged down by switching through the dozens of resources I have open to help run the game. I have 30 windows open and can't find shit.
Hence, the Perchance Meatgrinder. Everything I want for the game in one place.
How does it work?
The Dolmenwood Meatgrinder aggregates the different randomizers I use for the different phases of His Majesty the Worm.
Pic from the core book for reference on the different phases |
At a top level, you choose one of the regions of Dolmenwood to generate content for (Aldweald, Hag's Addle, Valley of Wise Beasts, etc.). The content for each region is different.
Each section is explained in detail below.
A digression about the Meatgrinder
The purpose of the Meatgrinder is to make the game interesting for both the GM and the players, keep prep easy (maintaining a fresh 21-item table for each dungeon level is only minor maintenance), and introduce a gloss of verisimilitude.
When playing a game where you visit a dungeon or city for 2-3 sessions, this is unneeded. Indeed, it's probably better handled entirely by GM fiat. When playing in a hex crawl/megadungeon game that's intended to last years, a well-designed Meatgrinder can do a lot to create a sort of internal consistency. Repeated visits to different regions of the 'Wood get their own texture and color by a combination of different vignettes, encounters, and monsters. The region of Nagwood feels darker not because I say "You enter a dark region of the wood," but because the encounters there are with more dangerous foes and you receive no respite from chance encounters with beneficent creatures.
The entire thing consists of 3951 lines of pseudo-code. Click "edit" in the upper right corner to look under the hood.
Many of the entries were taken from the Patreon Dolmenwood materials, the original Wormskin zines, the excellent d4caltrops blog, the Goatman's Goblet blog, and...just tons of other places. I have a vast amount of random GM prep tools that I put into the sausage grinder.
Importantly, the Meatgrinder should not put out sentences like this: "You encounter 1 trolls. They are tossing a pumpkin back and forth."
A lot of work was done to make sure that the text serves my purposes at the table. That includes making each output logically consistent, grammatically correct, having important actions bolded, etc.
The Crawl
The Crawl Phase is where the players spend most of their time, so has the most robust entries for the Meatgrinder.
Each Crawl entry looks something like this:
TableDownsEncounters<b>Curiosity:</b> [hilly_vignette]
<b>Travel Event:</b> [t = woodland_travel_event.consumableList]
<b>Sign:</b> [table_down_sign] ^0.5
<b>Hex Feature:</b> The guild experiences the encounter specific to this hex.<br><br>If none, a <b>Curiosity</b>: [hilly_vignette]
<b>Encounter:</b> You encounter [m = table_down_encounters.selectOne, ""] <b>[n = encounters[m].number_appearing.selectOne, ""] [if (n > 1) {"[n] [encounters[m].namePlural]"} else {"{a} [encounters[m].name]"}]</b>. They are [encounters[m].activity.consumableList]
Curiosities are moments of serendipity. I don't like entries that say "Nothing happens," but I do like narration that gives a sense of place or purpose to a region. You'll notice that curiosities are based on the environment of a particular region, whether it's civilization, farmland, hills, forests, swamps, etc.
Camp
City
Weather
Music
What can I do with this?
Well, if you want to run games exactly like I do, go nuts. Use the damn thing. I hope it's helpful! Practically speaking, I find this webpage to be more useful during play than the beautiful tables of Knock or Morkborg.
I suspect you will want to change it to suit your own purposes or make your own. That is easy to do. If you have an account, you can click edit and make your own version. Adapt it however you wish, or use the underlying schema for your own games. Perchance has very robust tutorials and a very helpful community.
In the future, I might try and work on doing some, uh, front-end development on it. It looks like it's made with spit and gum right now.
This is absolutely outstanding that you have shared so much of your process. Very clear explanation, clear examples, and a resource for people to do something similar. I love it! Thanks!
ReplyDeleteBy the way, is the music part a plug-in that links to Spotify, or what?
Hey thanks for the kind words.
DeleteThe Spotify links are just embedded. If you go to Spotify and click "Share," you can get an embed code to pop in your game. When the region transfers, I open up the new link and start looping that song.