Creative prompts
Three tools against the blank page: a questionnaire to ground your world, inspiration tables to draw from, and templates for AI assistants that output packs you can import directly into the studio.
1. The creator's questionnaire
Answer each question in one or two sentences — in writing, really. Ten minutes later you'll have the skeleton of a world that stands up:
- What is the central place, in one image? (a crypt under a village, a harbor in the rain, a forest that sings…)
- What just changed that worries everyone?
- Who is the antagonist — and what do they want that's understandable, almost legitimate?
- What happens if nobody acts for ten days?
- What secret can the player discover that reframes everything?
- What three places will the player cross?
- Who helps the player, and what does that help hide?
- What item is worth hunting for, and what door does it open (literally or not)?
- What does the good ending look like? And the bitter one?
- Which scene do you want to write first? Start with that one.
2. Inspiration tables
Roll a d12 — or pick whatever itches. Combine a hook, an antagonist and a place: that's a scenario.
Hooks (d12)
| 1 | The bells have been ringing on their own for three nights. | 7 | A child comes back from the well speaking a dead language. |
| 2 | The caravan arrived — without its merchants. | 8 | The lord pays double for no questions asked. |
| 3 | The graveyard's dead were turned face-down. | 9 | The river has flowed backwards since the eclipse. |
| 4 | A treasure map, sewn into the lining of a stolen coat. | 10 | Every night, one more house is empty by morning. |
| 5 | The lighthouse went dark; ships keep arriving anyway. | 11 | An old rival leaves you everything — on one condition. |
| 6 | Snow fell in midsummer, and it isn't melting. | 12 | The local hero came home. It isn't him. |
Antagonists (d12)
| 1 | A priest who's right about the danger, wrong about the cure. | 7 | An ancient creature honoring a very old contract. |
| 2 | A smuggler protecting her village through crime. | 8 | A scholar who'll do anything to verify his theory. |
| 3 | The victim's twin, convinced he's the survivor. | 9 | A starving garrison that "requisitions". |
| 4 | A spirit of the place defending its territory — the people are the territory. | 10 | A child-king ill-advised by a voice in his seal. |
| 5 | The gravediggers' guild, who know what must stay buried. | 11 | A former hero who wants to finish "his" war. |
| 6 | A witch who buys up debts — and memories. | 12 | The whole village, bound by an oath nobody dares break. |
Places (d12)
| 1 | Brownleaf, Dawnmount, Wolfrock | 7 | The Ford of the Seven Sisters |
| 2 | The Crypt of the Three Oaths | 8 | The Black Salterns |
| 3 | The Weeping Mill | 9 | The Drowned Library |
| 4 | Mistport and its silent fish market | 10 | The Hanged Men's Orchard |
| 5 | The Tower of the Extinguished Watcher | 11 | Candlevale, where people only sleep at noon |
| 6 | The Last Detour Inn | 12 | The Ashen March |
3. AI templates → importable pack
Paste these templates into an AI assistant (Claude, ChatGPT…). The assistant outputs a JSON file in LoreForge's exchange format, which you import as-is:
- Copy a template below and replace the bracketed
placeholders
[THEME],[TONE]… - Paste it into your AI assistant and save its answer as a
.jsonfile (plain text). - In the studio, Import (JSON) to create a world — or, from a world's Overview, "Import a pack" to merge a bestiary into it.
The import checks everything before writing:
if the assistant made mistakes, nothing is imported and every error is listed —
paste those errors back to the assistant and ask it to fix them. And always
proofread generated content: the AI proposes, you're the DM.
Template A — a complete world
You are a narrative RPG designer. Write a complete branching scenario on the
following theme: [THEME], with a [TONE] tone. Content language: English.
Answer ONLY with a valid JSON object (no surrounding text, no code fences),
in the following "loreforge-pack" format:
{"format":"loreforge-pack","version":1,"kind":"world",
"meta":{"name":"…","tagline":"…","description":"…","language":"en"},
"content":{"races":[…],"classes":[…],"items":[…],"monsters":[…],
"quests":[…],"lore":[…],"scenes":[…],"encounters":[…],
"start_scene":1}}
Format rules:
- Every element has an integer "id" unique WITHIN its collection (1, 2, 3…).
Every reference (item_id, monster_id, target_scene_id…) points to an id
defined in this same file.
- Do NOT include a "stats" collection: only use the codes str, dex, con, int,
wis, cha (default value 10, bounds 1 to 20).
- races: {"id","name","description","stat_modifiers":{"dex":2,"con":-1}}.
- classes: {"id","name","description","base_hp","hp_per_level","base_defense",
"attack_stat":"str","abilities":[{"name","description",
"effect":{"damage":"2d6","uses":3}}]} — dice as NdM or NdM+K;
"heal" may replace "damage".
- items: {"id","name","type":"weapon|armor|consumable|quest|misc",
"description","effects":{"damage":"1d8"} or {"defense":2} or {"heal":"2d4"}}.
- monsters: {"id","name","description","level","max_hp","defense",
"attack_bonus","damage_dice":"1d6","xp_reward",
"loot":[{"item_id":1,"chance":30}]}.
- quests: {"id","name","description","reward_xp",
"reward_items":[{"item_id":1,"qty":1}]}.
- lore: {"id","type":"history|city|region|faction|npc|deity|note","title",
"body","parent_id":null,"sort_order":0}.
- scenes: {"id","title","body","type":"narrative|combat|ending",
"encounter_id":null,"pos_x","pos_y","choices":[…]}. Lay scenes out on a
left-to-right grid (pos_x in steps of 260, pos_y in steps of 160).
- choices: {"label","target_scene_id","fail_target_scene_id":null,
"outcome_text":null,"fail_text":null,"conditions":null,"effects":null}.
- conditions: {"all":[ {"stat":"str","gte":12} | {"has_item":1} |
{"quest":1,"state":"active|done|failed"} | {"flag":"name","is":true} |
{"class_in":[1]} | {"roll":{"stat":"dex","dc":12}} ],
"display":"hide|show_disabled"}. A "roll" requires fail_target_scene_id and
fail_text on the choice.
- effects: {"hp":-2,"xp":10,"gold":5,"heal_full":true,"set_flag":{"name":true},
"add_item":[{"item_id":1,"qty":1}],"remove_item":[{"item_id":1,"qty":1}],
"quest":{"1":"active"}}.
- encounters: {"id","name","monsters":[{"monster_id":1,"count":2}],
"victory_scene_id":REQUIRED,"defeat_scene_id":null,"flee_scene_id":null}.
Every scene of type "combat" must reference an encounter_id.
Scenario requirements:
- [NUMBER OF SCENES] scenes (12 if unspecified), including 2 contrasting
endings and 1 to 3 fights of rising difficulty.
- Branches that CONVERGE (several choices aiming at the same scene).
- At least 2 dice rolls with a narrated failure path (fail_text).
- At least 1 key item required by a has_item condition, planted earlier.
- Flags set then read back (set_flag → {"flag":…}).
- 1 or 2 quests activated then completed through effects.
- 3 races, 3 classes with distinct styles, a bestiary consistent with the theme.
- start_scene = the id of the opening scene.
- Scene texts: 2 to 5 evocative sentences, never deciding in the player's
place.
Template B — a bestiary to merge
You are the head bestiary-keeper of a narrative RPG. Create a bestiary on the
theme: [THEME] ([TONE] tone), in English.
Answer ONLY with a valid JSON object (no surrounding text, no code fences):
{"format":"loreforge-pack","version":1,"kind":"content",
"meta":{"name":"…","tagline":"…","language":"en"},
"content":{"items":[…],"monsters":[…]}}
Rules:
- Integer "id" unique within each collection; monsters[].loot references items
FROM THIS FILE via item_id.
- items: {"id","name","type":"weapon|armor|consumable|quest|misc",
"description","effects":{"damage":"1d8"} or {"defense":2} or {"heal":"2d4"}}.
- monsters: {"id","name","description","level","max_hp","defense",
"attack_bonus","damage_dice":"NdM or NdM+K","xp_reward",
"stats":{"str":12,"dex":10},"abilities":[{"name","description",
"effect":{"damage":"2d6","uses":2}}],"loot":[{"item_id":1,"chance":30}]}.
Allowed stat codes: str, dex, con, int, wis, cha.
Requirements:
- 8 monsters from level 1 to level 5: small packs, scouts, brutes, and one
memorable "boss" with a signature ability.
- 4 to 6 related items (loot, one consumable, a thematic weapon).
- Indicative balance: HP ≈ 6 to 8 per level, defense 10 to 14,
attack bonus ≈ level + 1, XP ≈ 10 to 25 per level.
- Descriptions of 1 to 2 sentences, precise and evocative.
Unsure about the format? The DM guide, packs section, explains export, import and merging.