Campaign builder

Pick a starting point, then shape it live — every edit is validated, mapped, and outlined as you go.

✨ Start from an AI campaign

Copy the prompt into ChatGPT, Claude, or Gemini — it interviews you and returns a campaign JSON. Paste that into the workspace and keep shaping it here.

✍️ Start from scratch

Load a small, working campaign — three rooms, an NPC, an item, a fight — and edit it into your own. Insert new rooms/NPCs/items/encounters as you go.

📖 Schema reference
Loading…
🪄 Personalize with AI (patch prompt)

Have a built campaign and want an AI to extend or tweak it? Copy this, paste your campaign plus the change you want, then bring the result back into the workspace.

Or remix a starter

Load a complete, valid campaign and make it yours — each one is a different flavour to learn from.

🧩 Assemble a hub + chapter (multi-chapter campaigns)

Check that a chapter attaches cleanly to a hub. The hub declares a top-level chapters list (each with id, anchor_room, anchor_exit, optional return_exit); the chapter file needs a matching top-level chapter_id.

Hub / base JSON
Chapter JSON

Your campaign JSON

Insert a stub, then fill it in:

Happy with it? Download the JSON, then load it into your game with /loadmodule (or /dmload to keep it private).

Publish to the store (optional)

checking sign-in…