Towards a Framework for Authoring Adventures

Dice Goblin Games wrote a great blog post about how primitive it can feel to be reading RPGs and Adventures as PDFs on your screen. It's like the old joke of most MacBooks being $2000 Facebook machines. Only sadder, because at least Facebook downloads a lot of JavaScript on first load, which is already an important step towards what I'll be describing below.

Because I've been actually thinking about this recently as well, kicked into high gear by reading the PDF version of BREAK!! and the print version of Mythic Bastionland (which also inspired DNGN CLUB !), as well as a lot of Necrotic Gnome and Merry Mushmen adventures. All of which are very good examples of books that try to be as useful and usable as possible. They all try to give you tools to use at the table. But while I love print, it's hard to argue against the fact that there's a lot more that would be possible when going digital. But all that potential is left on the table when only using text. (Even though there's still a lot more we could do with only text and peritext.)

Prior Art

There's a lot possible already if you know where to look or get a bit creative. The most obvious place to look would be the various virtual tabletops (VTTs) offering digital version of rule sets and adventures. They mostly offer pretty general tools to model any kind of specific behaviour like character sheets or dice roll mechanics. I've seen some very impressive things done with Foundry for example.

But these tools are walled off, not interoperable. They are proprietary. They don't constitute a standard or a protocol.

Then there's Obsidian. An amazing tool I love using. With just the basic configuration, it already proves how far simple linking will actually get you. And with extensions like the canvas, the new database feature, the Excalidraw plugin or the solo toolkit , you can build a pretty cool kit.

But it's built for personal knowledge management, and that shows in the fact that it's neither purpose-made for authoring TTRPG content nor for things that are not personal. Its publishing features are limited and cumbersome.

There are also different proof of concept videos about using HTML to publish dungeons and games.

But all of them talk about building a specific thing, not tools. Basically starting over from scratch each time.

The Elements of Adventure Design

So I think the most obvious thing would be to build a framework or toolkit for authoring adventures and TTRPG rules as essentially simple web apps. This might look a bit like using MDX , or something like Twine , or entirely different. But I think it would need to come with a set of primitives with which you could then progressively enhance a simple text version.

Have dice notation inside your paragraph? Allow the reader/user to roll those dice. Visualize the resulting probability distribution .

Have a random table? Allow rolling on it. Allow adding entries to it. Allow adding it to a list of tables to roll on all of them at the same time, associating each of them with a placeholder in a template string. Allow pinning the result you actually got and used on that rumor table.

Allow toggling a commentary track of your adventure, basically collapsing or expanding the text with advice to Game Masters, or adding context. Link to the description of a room on a map, show a summary of it on hover.

Stuff like that.

And if you model these all as enhancements of a "core" version of the text, then you can always remove these enhancements automatically and generate a printable text-only version as well.

An Open Standard in More Ways than One

Like Markdown, all of this should be an open standard, with both descriptions of the behaviour of components for certain use-cases as well as a library of open source implementations. I can't help but think of the Block Protocol as an inspiration here. And it should ideally feel like using Markdown/MDX or Obsidian to the author, who simply has to annotate parts of the adventure in certain ways which then gets assembled and turned into an interactive version of itself.