If you’re into TTRPGs (Tabletop Role-Playing Games) and you’re not using Obsidian.md yet, you might be missing out on a tool that can take your campaign organization to the next level. Obsidian is a powerful app for managing notes, but what makes it truly special is how it lets you connect those notes automatically. For game masters, this can mean the difference between a chaotic mess of ideas and a well-oiled campaign machine.
But here’s the thing: just linking notes together isn’t always enough. You want to pull out the right details, make sure everything is interconnected in a meaningful way, and have relevant data at your fingertips when you need it. That’s where metadata comes in.
Why Bother with Metadata?
So, what’s the deal with metadata? Simply put, metadata is data about your data—extra information that helps categorize and organize your notes. In the context of running a TTRPG campaign, this could be anything from the climate of a location to the alignment of a character, all tucked neatly away in the note’s metadata.
Let’s break it down:
- Automatic Links: If you consistently use metadata across your notes, you can automatically create links between related notes. For example, if every NPC has a metadata field for
Location
, you can quickly jump to that location’s note to see all NPCs there. - Dynamic Data Pulls: By setting up your metadata correctly, you can create dynamic tables or lists that pull in data from other notes. Want to see all the quests associated with a certain faction? No problem.
- Cleaner, More Useful Notes: Instead of cluttering up the body of your notes with all sorts of details, you keep things tidy in metadata, where it’s still accessible but not in the way.
A Practical Example: Organizing a Fantasy City
Let’s say you’re building a fantasy city in your campaign, and you want to track the climate, the notable NPCs, and a list of ongoing quests. Here’s how you can set this up in Obsidian.
First, your city note might start with something like this in the front matter:
—
id: uuidv4
name: “Silverport”
NoteIcon: location
LocationType: Burg
Proprietor: Lord Cedric
Population: 12,000
Government: Oligarchy
Culture: Seafaring
Religion: Old Gods
Coordinates: “35N, 74W”
Elevation (ft): 150
Climate: Temperate wet grassland
Temperature: Hot🌡️-Temperate
Precipitation: Subhumid🌤️
Features: Port, Citadel, Plaza, Temple, Shanty Town
Tags: “Campaign1, Important, Coastal City”
Summary: “A bustling port city known for its shipyards and fish markets.”
—
What’s Going On Here?
- Metadata Fields: Each of these fields (like
Proprietor
,Population
,Climate
, etc.) is stored as metadata, making it easy to pull into other notes or queries. - Tags: Tags like
”Campaign1, Important, Coastal City”
help you quickly filter and find notes that are relevant to certain aspects of your game.
Building Dynamic Links and Lists
With the metadata in place, you can start pulling in relevant details from other notes. For example, you might want a list of all NPCs who are based in Silverport. Here’s a Dataview query that would do just that:
table link(name) as “NPC Name”, Class as “Class/Occupation”, PartyAttitude as “Attitude”, Summary as “Summary”
from “”
where NoteIcon = “npc” and Location = this.name
sort name asc
This query automatically generates a table of all NPCs with a Location
matching this.name
(which, in this case, would be Silverport). So, as you add new NPCs and tag them with Silverport as their location, they’ll automatically appear in this list.
Managing Quests with Metadata
Want to keep track of all the quests that start in Silverport? Easy. Here’s how you might set that up:
table link(name) as “Quest Name”, questStatus as “Status”, link(questGiver) as “Quest Giver”
from “”
where NoteIcon = “quest” and Location = this.name
sort name asc
Just like with NPCs, this query pulls in all quests that are tagged with Silverport as the location. As your players interact with different parts of the city, you can quickly see which quests are available or in progress.
The Struggle with Dynamic Lookups
Now, if you’ve tried to set up dynamic lookups for things like climate or other details, you might have run into some trouble. Originally, the idea was to have a reference note where you could look up climate data, and then have Obsidian automatically fill in the temperature and precipitation based on what you selected.
But here’s the thing: that turned out to be more complicated than it was worth, given the limitations of the tools we were using. Instead of fighting with it, we decided to simplify by using drop-down fields directly in the metadata. It’s not as fancy, but it works every time and keeps your notes consistent.
Conclusion
Organizing your TTRPG campaign in Obsidian.md can be a game-changer, especially when you leverage the power of metadata. By using metadata to automatically create links, pull in relevant details, and keep your notes clean and organized, you can spend less time digging for information and more time crafting the perfect adventure.
So, next time you’re setting up your campaign notes, consider what data belongs in the metadata. It might just save you a lot of headaches down the road—and make your world feel that much more connected.