RPG Quest Generator: Side Quest Ideas With JSON
Pick a setting, a quest type and a length, and get a full quest: who gives it, the hook, a numbered list of objectives, a complication, a choice with two outcomes and a reward. Reroll any part you do not like, then copy it as text or download it as JSON your game can load. It runs in your browser from hand-written templates, not AI.
How to use it
- Choose a setting such as High fantasy, Sci-fi or Modern, and press Next.
- Choose a quest type such as Fetch, Mystery or Delivery with a twist, and press Next.
- Choose One-off side quest or Multi-step chain, and press Generate quest.
- Press Reroll on the quest giver, hook, objectives, complication, choice or reward to change only that part.
- Press Copy quest or Download .md to keep the text, or Download JSON for quest data.
What makes a side quest worth doing
A good side quest changes partway through. The hook sets up a simple job, the complication shows the job is not what it seemed, and the choice makes the player decide what to do about it. That is why every generated quest has all three: without a complication, a fetch quest is only a walk; without a choice, the complication is only a cutscene.
Make both outcomes of the choice cost something. If one option is clearly better, players pick it and forget the quest. A fair split is reward against relationship: one option pays more, the other keeps an NPC friendly or opens a later quest. Reuse an NPC from one quest as the giver or the villain of another and the world starts to feel connected.
Keep a one-off side quest to about three objectives so it fits into a single play session. Use a multi-step chain when you want the player to come back to the same characters across several visits, and put a reward or a story reveal at the end of each visit so the chain does not feel like a chore.
The quest JSON format
The JSON download holds one quest: an id, a title, the giver with name, role and location, the hook, an ordered stages list, the complication, the choice with two options that each have an id, label and outcome, and the reward with XP, an amount of currency and an item.
Each stage has an id (stage_1, stage_2 and so on), a description to show in the quest log, and a kind: talk, goto, collect, defeat, escort, investigate or deliver. A quest system can switch on the kind to decide how a stage completes, for example a dialogue finishing for talk or a map area being entered for goto, and move to the next stage in the list.
In Godot 4 you can read the file with FileAccess.get_file_as_string and turn it into a Dictionary with JSON.parse_string, which returns null if the text is not valid JSON. Godot parses JSON numbers as floats, so convert the XP and currency amounts with int() before you add them to the player's totals.
Frequently asked questions
Is this RPG quest generator free to use for commercial games?
Does the quest generator use AI?
How do I get more side quest ideas from one setup?
What is the difference between a one-off side quest and a quest chain?
Can I load the generated quest into my game engine?
More free game dev tools
- Lore Generator: A creation myth, factions, timeline and quest-hook legends for your game world.
- Monster Generator: Video game monsters with stats, behavior states, a weakness and drops.
- RPG Item Name Generator: Loot and magic item names with effects and flavor text, from Common to Legendary.