Write your own adventure
Bring your own story beats, plotlines, characters, enemies and art. Package them in one folder, and once a moderator approves it, anyone can pick your adventure when they start a campaign: with the dashboard, the companion phone, the Player Display, the Encounter screen and the Bestiary all working as they do for the published books. Each account shares one adventure; upload new revisions of it as often as you like.
1Start from the kit
A complete example adventure, The Sunken Bell, with the format guide, image guide and editor schemas inside.
Download the starter kit (.zip) ↓2Write your story
Edit
adventure.json, add a file per chapter inchapters/, listcharacters.jsonandenemies.json, and drop art intoimages/named after the beat or enemy it shows.3Check, playtest, submit
Check finds every mistake at once, with the file and line. Submit, then playtest it in a private campaign while it waits for review.
Upload an adventure
Sign in or create a free account to check and submit an adventure.
What goes in a package
- adventure.json
- Title, author, levels, synopsis, where play starts. Required.
- chapters/01-name.json
- One per chapter, in play order: its beats, each with summary, read-aloud text, steps, checks, enemies and choices. At least one.
- characters.json
- NPCs: name, role, summary, personality, goal, secret, where they live.
- enemies.json
- Monster stat summaries: type, CR, AC, HP, speed, notes. Feed the Encounter screen and the Bestiary.
- locations.json
- Places for the map. Coordinates are optional; they're laid out along the story's road.
- images/scenes/<beat-id>.jpg
- Scene art for the Player Display, linked by file name. 1920×1080 is ideal.
- images/enemies/<enemy-id>.png
- Monster art with a transparent background, for the Encounter screen and the Bestiary.
- images/cover.jpg
- The picture on the adventure picker.
- items, lore, factions, tables, flags .json
- Optional extras for the Compendium and story conditions.
The starter kit's FORMAT.md covers every field, IMAGES.md every picture, and SUBMITTING.md the review. Contributors working in the DivineDungeoner code can run the same checks offline with npm run adventure -- check my-adventure.