Free GM campaign vault: sessions, NPCs, locations and quests linked with Bases (core plugins only)

Disclaimer

Is this project open source? No
Is this project completely free? Yes (the price on Gumroad is $0; it’s pay-what-you-want, so paying anything is optional)
Is this project made with AI beyond the author’s ability to comprehend how it works? No


I put together a small starter vault for running tabletop campaigns in Obsidian and I’m sharing it free. Here’s how it works, so you can copy the idea even without downloading anything.

Structure

  • Folders: Sessions/, NPCs/, Locations/, Quests/, one note per thing, plus Campaign/ (campaign overview), Bases/ (the tables) and Templates/
  • Each session, NPC, location and quest note has a type property (session, npc, location or quest) and a few others:
    • session: session_no, date, status (planned or played), summary, quests, locations
    • NPC: role, faction, location, attitude, status
    • location: kind, region, parent, danger
    • quest: status, giver, location, reward, priority
  • A session note links the people and places that came up, in its text and in its quests and locations properties

How the pieces connect

  • Dashboard.md embeds four Base views. Each base only takes notes from its own folder with the matching type:
    • Next session: sessions with status: planned, sorted by session_no, limited to 1
    • Active quests: quests with status active or open, sorted by priority
    • All NPCs: grouped by faction
    • Session log: sessions with status: played, highest session_no first
  • Every NPC, location and quest page embeds Bases/Related.base. Its “Appears in sessions” view lists notes with type: session that link to the current page (file.hasLink(this.file)), so you never update it by hand. The same base gives location pages “NPCs here” and “Quests here” (notes whose location is that page) and NPC pages “Quests given” (quests whose giver is that NPC)
  • New sessions come from Templates/Session.md: it starts with status: planned and has headings for Opening scene, Likely scenes, Secrets and clues, People and places, Notes during play, and Recap for players

Example
In the sample campaign, Session 03 - The Gullet links [[The Gullet]] (in its locations property and its summary) and [[Captain Mags Dunmore]] (in its play notes). Open Captain Mags Dunmore and Session 03 is listed under “Appears in sessions”, with her quest Tamsin’s Debt under “Quests given”. Open The Gullet and Session 03 is there too, with Mags under “NPCs here”, because her location is The Gullet. On the dashboard she sits in the Low Tide Company group.

Requirements

  • Obsidian 1.10+ (Bases), core plugins only (Properties, Templates, Bases), no community plugins
  • Works with any system; the sample campaign is fictional

Download: https://hustlemaniac23.gumroad.com/l/ohitt?utm_source=obsidianforum&utm_medium=showcase&utm_content=b8

Feedback welcome, especially on what you’d add to the session template.