Background
As mentioned previously, I've been GMing a long
time. I've used lots of different approaches over the years:
For about the last nine months, I've been using Obsidian.md as my tool of choice. There is an endless labyrinth of "Personal Knowledge Management System" thinking here, but the short version is that as I started using Obsidian for all my personal non-gaming stuff, it became apparent that it would work great for RPG prep as well.
Prior Art
It turns out Obsidian is pretty popular in the TTRPG community. A lot of my setup is based on existing work from the community. A few in particular that are worth your time and had a huge impact on my current setup:
- https://obsidianttrpgtutorials.com/ - Run by Josh Plunkett, a central hub of plugins, themes and videos that cover both how to use Obsidian in general and TTRPG-specific recommendations. The "Getting Started" section in particular influenced my vault setup, even if I didn't end up with exactly what they used.
- Nicole van der Hoeven discusses organizing your Vaults: https://youtu.be/IV3PHeyCHvc?si=DKXdprZW-XgQa_pg
Why Obsidian?
Wiki-Style Organization
The biggest advantage for me personally with Obsidian is the non-linear nature. I'll talk about our Brindlewood Bay game in more detail in a future article, but basically as my notes about the various NPCs, factions, locations, etc. grew and became more connected to each other, having them all in a big doc (or a couple of docs) got more and more awkward. A huge part of the fun of that game was seeing characters, families, or favorite spots within town come back in to the story week after week. Remembering which doc had details about a given item, and quickly navigating back and forth between them got to be a huge pain. I was drawing a relationship map by hand, and the sheer number of updates I needed to remember after each session was out of control.
Using Obsidian's wiki-like structure, all I have to do is add [[
and ]]
around a name when referencing something in a writeup. A bi-directional
connection gets created automatically and stays up to date even as you move
files around. When I'm looking at a note the incoming and outgoing links are
easily available in the side panel so I can jump back and forth to see where
else the PCs encountered this NPC or the truth of what secret plots are going on
in the background.
Obsidian also has a built in "graph view" which lets you see connections between all of your notes. This is pretty and intellectually kind of interesting, but not as useful day to day as I would have thought. However, at least once during our Brindlewood Bay browsing the graph view pointed out a connection to me that I had forgotten about, getting me unstuck towards the end of the campaign when I was trying to tie some dangling threads together. This doesn't give all the functionality of a hand-drawn relationship map - there's no easy way to label connections (as opposed to nodes), and the layout is random - but the effort to keep it up to date was orders of magnitude less, and that was only a ~12 session game.
Markdown
Obsidian stores everything as plain Markdown files. If you're not familiar with
Markdown, the super quick summary is that they are plain text files that use
simple structures to support common elements of a document. You can create
headings with #
, lists with -
, and format text with *
or **
.
I work in tech and we use Markdown for a huge amount of documentation and similar things. Once you internalize the most commonly used options it becomes very easy to focus on the content of whatever you're writing and apply very simple structure as you go without getting caught up in all the complex formatting options of a word processor or other advanced tool. I'm writing these articles in Markdown, with a very simple publishing pipeline that uses common libraries to transform them to html for serving.
This also means that everything I write is super portable and I own it. No matter what happens, I'm 100% confident that as long as I have backups and don't actually lose the files, I'm gonna be able to easily read and make sense of every Markdown file on my disk 30 years from now.
There are tons of existing tools for manipulating text - if your day job involves writing code, you probably have a preferred text editor that you've customized to work just the way you like and will work just fine on any Markdown file. If you're comfortable on the command line, reading text and piping it between tools should be second nature. And for better or worse, LLMs (leaving aside for the moment various complicated questions of ethics and similar) both understand and generate text very easily.
Previous: Overview
Next Up: The Nitty Gritty of Obsidian