How to Design a Custom Magic System for Your RPG
A custom magic system is four decisions made deliberately: what your traditions are, what stat each is cast with, who is allowed to learn it, and how a caster improves. Get those right and the fiction follows. This guide walks each decision, then shows how to build it as enforceable structure — magic schools in LoreKeeper that an AI Game Master runs by the rules you wrote, not by vibes.
Start from the fiction, not the spell list
The temptation is to open a blank sheet and start writing spells. Resist it. A magic system is defined by its limits — what magic cannot do, what it costs, who pays. Write three or four sentences first: Is magic common or rare? Learned or inherited? Does it draw on the caster, the world, or something owed? What is the price of using it?
Those sentences are your design brief. Every mechanical choice below should trace back to one of them. A system where the mechanics contradict the fiction — cheap, consequence-free magic in a world that supposedly fears it — reads as broken no matter how elegant the numbers are.
The four decisions that define a system
1. Your traditions
Break magic into schools — the distinct traditions of your world. These can mirror the classic set (evocation, illusion, necromancy) or be entirely your own (tide-calling, bone-song, the Ledger). Each school is a container for spells and a unit of identity; a caster is not “a mage” but “strong in evocation, weak in divination.”
2. The casting stat
Decide what each school is cast with. In LoreKeeper the school itself is the roll target and carries a primary and secondary stat — Intelligence and Wisdom by default, but you set them per school. Blood magic on Constitution, a bardic tradition on Charisma, a martial channelling on Strength: the stat choice is a design statement about who is good at this magic and why.
3. Who may learn it
Each school has a class allow-list. Empty means anyone can learn it. Restricted means only those classes can. This is where class identity becomes real: if only Warlocks can touch the pact schools, being a Warlock means something the rules enforce, not just a label.
4. Visibility
Mark a school hidden and it stays off player-facing lists until the campaign surfaces it. Forbidden magic, lost traditions, the thing the cult is really doing — all of it can exist in the world data before any player is meant to know.
Building it as magic schools
In the world editor, each magic school is an entity with a code, a display name (localised if your world runs in more than one language), aliases so players can refer to it naturally, a description, an icon and colour, its stat pair, its allowed classes, and its visibility. Under it sits the spell list — each spell tied to the school it belongs to.
You can also hand this to the World Builder Bot: describe the tradition and ask for the school plus a starter set of spells, then tune the stats and restrictions yourself. Races can be given starting spells too, so an innately magical people begins play already able to cast.
For the wider editor — factions, bestiary, classes — see building factions and a custom bestiary.
Progression: per school, not per class
Each character carries a level from 0 to 10 in every school they practise, tracked separately. It rises two ways: automatically, by earning experience each time the character casts from that school, or manually, by spending skill points on level-up.
The effect is specialisation that emerges from play. A caster who leans on one tradition becomes genuinely good at it and stays mediocre at the rest — which is both more believable and more interesting than a single “spellcasting” number that lifts everything at once. When you design a school's spells, assume the caster's level in that specific school is what gates access.
Why enforcement is the hard part
Designing a magic system is the fun part; making it stick over a 40-session campaign is the hard part, and it is where most AI RPG tools fail. If your system lives only as prose the AI was told once, the AI improvises around it and drifts — a restricted school gets cast by the wrong class, a Constitution-based tradition quietly starts rolling off Intelligence, the level gates stop mattering.
The fix is to make the system structured data the engine reads every cast: the roll uses the school's stats, the class check is real, the per-school level is real. LoreKeeper resolves the mechanics first and the AI narrates the result, so the magic system you designed is the one being played in round 40. That is the same principle behind why structured state beats transcript memory.
Frequently Asked Questions
How do you design a custom magic system for an RPG?
Start with the fiction: what magic can and cannot do in your world, and what it costs. Then translate that into structure — schools or traditions, the stat each one is cast with, who is allowed to learn it, how a caster gets better at it, and a starting set of spells. In LoreKeeper you build this as magic schools: each school defines its own casting stat pair, its class restrictions, and its spell list, and characters level each school independently from 0 to 10 as they use it. The AI Game Master then enforces those rules at the table.
What makes a magic system feel distinct rather than generic?
Constraints and cost. A system where every class casts the same way off the same stat feels flat. Distinct systems make choices: blood magic that runs off Constitution and hurts to cast, a scholar tradition gated to one class that is powerful but slow to learn, a wild tradition anyone can pick up but hard to control. In practice that means setting each school's casting stats, its allowed classes, and its progression curve deliberately, not leaving them all on the default.
Can an AI Game Master actually enforce a homebrew magic system?
Only if the system is data, not just description. A freeform AI narrator will improvise around a magic system you described in prose and drift from it within a session. LoreKeeper's magic schools are structured entities the rules engine reads: the casting roll uses the school's defined stats, class restrictions are checked, and per-school levels gate what a character can do. The AI narrates the outcome the engine computed, so your rules hold across a long campaign.
How does spell progression work in LoreKeeper?
Progression is per school, not per class. Each character has a level from 0 to 10 in every magic school they practise, and it rises two ways: automatically, by earning experience each time they cast from that school, or manually, by spending character skill points on level-up. A wizard who only ever casts evocation will be a strong evoker and a poor diviner, which is usually what you want.
Can magic schools be hidden or restricted to certain classes?
Yes. Each school has a visibility flag — a hidden school will not show in player-facing lists until it is discovered in play — and a class allow-list. Leave the allow-list empty and any class can learn the school; fill it in and only those classes can. This is how you build secret traditions, forbidden magic, or class identity that actually means something mechanically.
Do I need the paid plan to design a magic system?
The world editor, including magic schools and spells, is available on the permanent free tier. Paid plans add more editable worlds and higher AI allowances for the conversational World Builder Bot if you want it to draft schools and spell lists for you.
Design Magic That Actually Holds Up
Build magic schools with their own casting stats, class access and per-school progression — and run them with an AI Game Master that enforces the rules you wrote. Full world editor on the free tier: 20 daily turns, no credit card.
Play Free →Related guides
Building Factions and a Custom Bestiary for an AI RPG
Factions with goals and leaders the AI acts on, and monsters with real stat blocks the combat engine enforces.
How to Create Scripted RPG Adventures
Complete guide to the Trama editor: nodes, activation conditions, tactical combat maps, and how to publish your adventure.
AI World Builder for RPGs
How AI can build factions, locations, races and lore that feed the game master in real time.
