Rule systems
The bestiary
Your world's creatures with their own numbers: health, defence, attacks, abilities, what they resist or fear, regeneration, and where they live. The SRD's 334 monsters to start from.
Your world's creatures, with their own numbers
Without a bestiary, every enemy under a rule system gets its numbers from four templates: a minion, a standard foe, an elite or a boss, at a tier from 1 to 6. A bestiary adds the creatures of your world on top: a Troll that is always a Troll, with its own health, armour, claws, regeneration and a weakness to fire. Engine
A creature starts from its role's template at its tier, and only the numbers you give it change. So a creature needs as little as a name, a description, a role and a tier, and as much as a full stat block.
A foe the storyteller makes up (no creature of yours, not one of your cast) is built for the heroes it first fights. Its threat word is read against their level: a minion is weaker than one of them, a regular an even match, an elite hard, a boss the climax of a place. Legendary and above stand above them on purpose, for a dragon in its den, and the storyteller has to show the danger before it strikes. After that first fight it keeps its numbers: one that got away doesn't grow with the heroes. Your creatures and your cast always keep theirs. Engine
What a creature holds
- Name, type, description
- "Troll", a Giant: lanky, green and starving, it tears with claws and teeth. The storyteller reads the description; the type groups the Studio's list.
- Role and tier
- Minion, standard, elite or boss, at tier 1 to 6: the template it starts from, and how dangerous the world says it is.
- Numbers
- Formulas over its tier and its own stats, each replacing the template's: its stats, health, defence, attack bonus and damage dice (
2d6 + 4). - Attacks a turn
- Multiattack: a troll strikes three times a turn.
- Abilities
- Written like a character's: a breath weapon is a saving throw, a venomous bite an attack with more dice, paralysing claws a save with a condition. See Spells and abilities.
- Damage it resists, fears, ignores
- By the system's damage types: half, double, none. A skeleton fears bludgeoning and ignores poison.
- Regeneration
- Hit points back each exchange, unless something it names struck it that exchange: a troll's fire and acid.
- Where it lives
- Regions and kinds of place, and how many come together ("2-6"). The storyteller meets them there before inventing other beasts.
{ "id": "troll", "name": "Troll", "type": "Giant", "role": "elite", "tier": 2,
"description": "Lanky, green and starving, it tears with claws and teeth...",
"stats": { "str": "18", "dex": "13", "con": "20", "int": "7", "wis": "9", "cha": "7" },
"tracks": { "hp": "84" },
"combat": { "defence": "15", "damage": "2d6 + 4" },
"attacks": 3,
"regen": { "amount": "10", "stoppedBy": ["fire", "acid"] },
"habitat": { "places": ["region", "site"], "group": "1" } }How a creature comes into a story
The storyteller is told your world's creatures and where they live. When it brings one into a scene, it names the NPC after it (“a Troll”, “the Bridge Troll”, “two wolves”), and code makes the NPC from the bestiary: its sheet, its numbers, its abilities as its fighting kit. The longest name that fits wins, so a “Frost Troll” is never taken for a “Troll”. Engine
A named figure from your Cast can be based on a creature: a troll chieftain with her own name and story, and a Troll's numbers underneath.
In a fight
| What it has | What code does |
|---|---|
| Its numbers | Its blows roll its own attack bonus against the player's defence, for its own damage; the player's blows roll against its defence. |
| Attacks a turn | The fight is told how many blows it makes; each is rolled. |
| An ability in a blow | When the blow it announces names one of its abilities, that blow is the ability: a breath weapon is a save the player rolls against its DC (a chip, half on a made save); a bite rolls its own check and dice. |
| Damage types | A blow or a spell of a type it resists lands half; one it fears, double; one it ignores, nothing. |
| Regeneration | After each exchange its wounds close by the amount, unless that exchange struck it with what stops it. Told to the storyteller. |
A creature's conditions are on its sheet (a ghoul's claws paralysing the player, Hold Person on the troll), and the storyteller is told. One that can't act (paralysed, stunned, put to sleep) makes no blows while it lasts, and a sleeper wakes when a blow hurts it. Engine
In a party fight it is the same: its abilities are rolled in the round (each hero it strikes saves for themself), its conditions land on the heroes, and its regeneration comes after the round's blows. Engine
Classic d20's starter creatures
| Creature | Role, tier | Health | Defence | Blow | What makes it itself |
|---|---|---|---|---|---|
| Goblin | Minion, 1 | 7 | 15 | 1d6 + 2 | Comes in gangs of 3-6 |
| Wolf | Minion, 1 | 11 | 13 | 2d4 + 2 | Pack Bite knocks prey prone |
| Skeleton | Minion, 1 | 13 | 13 | 1d6 + 2 | Weak to bludgeoning, immune to poison |
| Zombie | Standard, 1 | 22 | 8 | 1d6 + 1 | Immune to poison |
| Orc | Standard, 1 | 15 | 13 | 1d12 + 3 | |
| Ghoul | Standard, 1 | 22 | 12 | 2d6 + 2 | Paralysing Claws (Constitution, DC 10) |
| Giant Spider | Standard, 1 | 26 | 14 | 1d8 + 3 | Venomous Bite: 2d8 more poison, half on a save |
| Ogre | Elite, 1 | 59 | 11 | 2d8 + 4 | |
| Troll | Elite, 2 | 84 | 15 | 2d6 + 4 ×3 | Regenerates 10, not after fire or acid |
| Young White Dragon | Boss, 2 | 133 | 17 | 2d10 + 4 ×3 | Immune to cold; Cold Breath, 10d8 cold, half on a Constitution save (DC 15), once a fight |
Building your bestiary
- The Studio
- Studio › Rules › Bestiary: a list grouped by tier, one line each, searched, filtered by tier or role and sorted by tier, name or newest; pick one to change its numbers, what it resists, its regeneration, its abilities and where it lives beside the list.
- The library
- Classic d20 (and copies of it) can add from the SRD 5.1's 334 monsters, searched by name and tier, from the Library button. Add one and change it as you like: the library never changes.
- Hob
- “A frost troll that only fire keeps down, in the northern forests” writes one; “add the SRD's owlbear and wyvern” adds from the library.
- Your Cast
- A cast member's Based on a creature gives a named figure a creature's numbers.

- Start from the role and tier. Give a creature only the numbers that make it itself; the template does the rest, sized to your system.
- Name what stops it. Regeneration that nothing stops makes a fight that never ends.
- Say where it lives. The storyteller uses your creatures before it invents beasts.