The Lost Realms
A living, AI-narrated realm of ancient mysteries and hidden treasures — and everything you need to play it, run it, and understand the machinery beneath.
Getting StartedWhat is this game?
The Lost Realms is a browser-based fantasy roleplaying game whose storyteller is a large language model. You type what you want to do in plain language — "pry open the rusted grate and peer down" — and the GM narrates the result, then quietly updates the world behind the scenes: your health, your inventory, the time of day, an NPC's opinion of you, a secret passage newly revealed.
There is no rules sheet to memorize and no branching dialogue menu to pick through. The game itself is a single HTML page you open in a browser, and the only thing it needs from the outside world is a key for the AI that plays the Game Master — either your own Anthropic key, pasted in on the title screen, or one held for you by a Server Vault if you are playing on a realm that is hosted rather than opened from disk.

Quick start
- Open the game (
text_adventure.html) in a modern browser. Serving it overhttp://localhostworks best — see Installing & troubleshooting for whyfile://is limited. - On the title screen, enter a character name, pick a class, and paste your Claude API key (from
console.anthropic.com). The key is stored only in this browser and sent only to Anthropic. - Leave Dungeon Master and New Game unchecked for a normal first playthrough, then press Begin Your Journey.
- When the opening scene appears, type what you want to do in the bar at the bottom and press Enter. That's the whole game — the rest is exploration.
search altar. The GM understands natural language and rewards curiosity.The three roles
This guide is organized around the three ways you can relate to the Realms. Most people only ever need Part I.
Player
You explore, converse, fight, and solve. You issue intentions in plain language and live with the consequences. Part I →
Dungeon Master
You author and edit the world — its rooms, beings, items, quests and lore — and can forge whole new worlds. Part II →
Game Master
The AI (Claude) that narrates every turn and translates fiction into game state. Not a person — the engine. Part III →
SecurityAPI key security
This section is out-of-character — it is about your real API keys, not your adventurer. The Lost Realms can run two ways, and which one you are playing on decides where the keys live — or whether you hold any at all.
Two ways to run
- Direct — the app calls Anthropic and the media providers straight from your browser, so the Claude key you paste in (and any optional image/voice provider keys) live entirely on your device. This is the default, and it is what you get from a plain static host or a file opened from disk. Everything below describes this mode.
- Served by a Server Vault — the game is hosted by a small server that holds the provider keys itself and makes the calls on your behalf. No key ever reaches your browser, and there is nothing for you to paste.
You can tell the two apart at a glance on the title screen. In Vault mode the Claude API Key field and the API Keys button are simply gone — the server owns them — and an Admin button appears for whoever runs it. If the vault has been placed behind a sign-in, a small Logged in as … · Sign out line sits at the foot of the screen. You still choose which model narrates your game; the operator decides which models you may choose from.
Where your keys live
In Direct mode:
- Keys are kept only in this browser, on this device — in its local storage and IndexedDB. They are never uploaded to us or to any third party; there is no account and no backend of ours that receives them.
- Each key is sent only to the service that owns it, directly from your browser: your Claude key goes to Anthropic's API for narration; the optional provider tokens go to their own image/voice services when you generate media. Nothing else ever sees them.
Encrypted at rest
Keys are encrypted before they are written to storage and decrypted only for the instant of a single API call. The app uses AES-GCM with a non-extractable key kept in your browser's IndexedDB — its raw bytes cannot be exported, even by the app itself. The copies the app holds while running are the encrypted form, not the plaintext. If you used an earlier version that saved a key in plain text, it is migrated to the encrypted form automatically the next time you load the app.
enc:v1: — not your key.Isolated from other websites
Browsers enforce the same-origin policy: a page or script from any other website — a different domain, or plain http versus https — cannot read this app's stored data. Modern browsers also partition storage by site, so the keys cannot be reached by a third-party frame either. This isolation is the browser's doing, not the encryption's; the encryption is an extra layer on top of it.
What this does not protect against
In Direct mode the app calls the providers straight from your browser, so the plaintext key must be reconstructed in memory for the moment of each request. Encryption-at-rest hardens the passive cases — someone reading your stored data — but it cannot defend against code that is already running as this site:
- a malicious browser extension with access to this site, or a script injected into the page, runs with the app's own privileges and could invoke the same decrypt path;
- anyone with full access to your device and browser profile can simply drive the app.
Good habits
- Remove or replace a key at any time: clear the field on the login screen (or in the API Keys dialog) and save — that erases the stored, encrypted value. Clearing this site's data in your browser removes them too.
- Rotate a key at the provider (Anthropic, or the image/voice services) if you suspect it was exposed; the old value stops working immediately.
- Set a spend limit on your Anthropic key — and any paid provider keys — so a mistake or exposure cannot run up an unbounded bill.
- Where your provider allows it, use a key scoped to this use rather than a shared production key.
PlayerLogin & setup
The title screen plays a looping background video behind a small panel bearing the crossed-swords sigil, the world's name, and its tagline. A Prologue link opens the world's opening text; a small speaker icon (🔇/🔊) unmutes the background video (browsers block sound until you click it).

The fields
- Your Name — your character's name (up to 24 characters). Blank defaults to Traveler. The small disk button beside it opens a menu of your saved games (one per world + character, shown as "Character — World"); pick one to load that playthrough instead of starting or continuing here. Your games are saved automatically as you play, so this lets you switch between adventures in different worlds. Each row also has a 🗑 delete button — click it and the row asks to confirm (✓ / ✗) before removing that save.
- Class — the built-in world offers seven: Warrior, Rogue, Mage, Ranger, Cleric, Druid, and Alchemist, each with a one-line description. An imported world replaces this list with its own classes.
- Claude API Key — required to play. It is saved in this browser's local storage on this device and sent only to Anthropic's API. Get one at
console.anthropic.com. On a realm served by a Server Vault this field is absent — the server holds the key and you need none (see API key security). - Model — a dropdown beneath the key that chooses which Claude model narrates your game: Claude Sonnet 5.5 (the default — fast and economical), Claude Sonnet 5, Claude Opus 5.5, Claude Opus 5, or Claude Opus 4.8 (deeper, more deliberate storytelling). Your choice is remembered on this device and used for every GM call, story and authoring alike. On a vault-served realm you still choose, but only from the models its operator permits. Building a world has a separate picker inside the World Builder, with a longer list — it is the one place the Claude Fable models are offered, because they are slow and thorough in a way that suits forging a whole world once and does not suit answering you every turn. They also cost about twice as much per token as the Opuses, which is a fair price for something you do once and a poor one for something you do every turn — another reason they are not in this menu. Type
/usageat any point in play to see what the Game Master has actually cost you so far: it reads a ledger of real calls, priced from the tokens the API reported, and shows nothing where a model has no published rate rather than guessing at one.
The buttons & checkboxes
- API Keys — opens a dialog of optional provider keys (see below).
- Import Game — open a
.jsonfile from your drive. A saved game file (written by Export Game in the toolbar) loads and continues that playthrough; a world file (from the editor's Export World) starts a fresh game on that world instead of the built-in one. - New World — opens the world-forging editor (covered in Part II; anyone can reach it).
- Dungeon Master — reveals the authoring tools. Leave unchecked to play normally.
- New Game — unchecked by default. When a compatible save exists and this is unchecked, the button reads Continue Your Journey and resumes it; check it to discard the save and start fresh.
- World — checking New Game reveals a World dropdown just beneath the checkboxes. Pick which world to begin: Default (the built-in starter world) or any world you saved from the World Editor (its Save World library — authored worlds, not saved games). Selecting a world updates the title and the Class list to match it. The first time you must choose one before Begin; after that your last choice is remembered and pre-selected the next time you check New Game.
The optional API Keys dialog
A card per provider, each optional and stored on-device: Pollinations (image generation; blank uses the free keyless tier), Nano Banana Pro (Google's Gemini image model), Higgsfield, OpenAI (the GPT Image models), fal.ai (the SANA models), ElevenLabs (sound), Runware (video), and Tripo (item 3D models).

Starting, saving & resuming
Pressing Begin seeds the world (built-in, or an imported one if staged), anchors the game clock, places NPCs according to their daily routines, opens the Story tab, and prints your opening scene.
Your entire session — location, inventory, world and NPC changes, discovered lore, story history, and the clock — is snapshotted continuously to your browser's IndexedDB storage. A save also fires whenever you leave or hide the tab. When a write is in progress the bottom status bar shows an animated "Saving game… do not close the browser." shimmer.
Refreshing the page while logged in drops you straight back into the same session (auto-resume). Logging out returns you to the title screen but keeps your save, so you can Continue later. If a save can't be resumed (for example, the built-in world changed versions), the title screen tells you why.
The screen
The interface is a grid: a slim header on top, the story and a sidebar in the middle, a command bar, and a status bar along the bottom.
Header
Left: the world's title. Center: your current location. Right: an in-world clock (12-hour), a time-of-day icon and label, and the logout button (⏻).
Tabs
Players see five: Story, Character, Maps, Journal, and Compendium. (Two more — Editor and Logs — appear only for a DM.) At the right end of the tab bar sit three controls: ☰ to choose which sidebar blocks are visible, ⚙ for settings, and ▶ to hide or show the whole sidebar.
Detaching a tab
Right-click a tab and choose Detach to open it in a second window — a live view of the same session, handy on another monitor. Character, Maps, Journal and Compendium all offer it, as does the Guide tab in worlds that show one and, for a DM, the Editor. Those four (and the Editor) hand their view over to the popup — the tab button disappears here until you close it, which is what frees the memory; the Guide simply opens a second copy and leaves its tab where it is.
Only one of these menus is ever on screen at a time. Right-clicking a second tab closes the first tab's menu as it opens its own, and a right-click anywhere else — the story, the sidebar — dismisses an open one rather than leaving it stranded underneath your browser's own context menu. Esc or a left-click closes it too.
The story & the command bar
The Story tab is a scrolling log of the tale so far (older passages load as you scroll up). Beneath it, the command bar carries a ⟩ prompt and an input placeholder reading "What do you do?". Type there and press Enter (or the ENTER button) to take your turn.
Story-panel tools
A small row of icon buttons sits at the story panel's bottom-right corner, each a self-contained convenience that never spends a turn:
| 🎲 Dice bag | Opens a little popup of the classic polyhedral dice — D4, D6, D8, D10, D12, D20 — as clickable shapes. Click one to roll it; the result prints as a note in the narration. Purely for when you want to settle something with a die of your own. If the Show Dice Roll Video setting is on, a short die-roll clip plays (with sound) as it lands. |
| 🎙️ Voice input | A toggle that dictates your next move into the command box using the browser's speech recognition. Turn it on and speak your intention; it's transcribed into the input, and once you pause it's submitted automatically — dictate-and-go. Turning voice off before it fires leaves the text in the box for you to edit and send by hand. (Availability depends on your browser.) |
| 📖 Make a Book | Opens a little menu with two ways to bind the story so far into an illustrated PDF (via your browser's print → Save as PDF): Transcript reproduces the story panel's narration verbatim, a chapter per scene; Story has the Game Master retell your adventure as chapter-based prose that reads like a novel (needs an API key). Both add an illustrated appendix of the people, beasts, and relics you've met. |
| ⏸ Pause Story | Holds the whole game still. The in-world clock stops, and with it everything the clock drives — no time passes, nothing wanders in, no ambience fires, nothing ages or restocks or comes back from the dead. Use it to read back over a long passage, plan a route, check the Compendium, or simply walk away from the desk without the realm moving on without you. Your next action starts it again by itself — move, rest, speak to someone, anything you actually do in the world — and the clock picks up at the exact instant it was held, with no jump and nothing missed. Clicking the button again also resumes it. Asking the app a question does not: a / Field Guide question, or a // DM line, leaves the pause where it is, because neither is you acting in the world. Not available during a fight — combat runs on its own clock and its own turn order, so the button says so and does nothing until the fight is over. While it is on, the button stays lit and the header clock is marked to say the world is being held, so a still realm never reads as a stuck one. |
| 🔊 Music | Mutes or restores the room's background music, the way the title screen's sound toggle does. Purely local to you; it changes nothing in the world. |
| − / + | Scales only the narrative text (not the whole interface); your chosen size persists. |
The sidebar
Seven collapsible blocks, each with an ⓘ info button, give an at-a-glance read of your situation:
| Character | Portrait (click for the full sheet), name/title/class/level, and HP · MP · XP · WT bars, with collapsible Stats and Statuses. |
| Wealth | Gold / Silver / Copper (1 gold = 10 silver = 100 copper). |
| Inventory | What you're carrying. |
| Magic | Your spells and abilities. |
| Items | Items lying on the floor of the current room. |
| People | Beings present in the room. |
| Exits | Directions you can travel from here. |
Status bar
Bottom-left shows the engine's state (Ready, Typing…, Thinking…, or a saving shimmer). Center shows the map-data version. Bottom-right shows the moon phase (☽, hover for its name) and the in-world date.
On a credits server (a vault run in credits mode, where turns are metered against an account) the status bar also carries a balance badge, read off every reply: your balance, the word low under about five turns of the current narrator and out of credits at zero. Hover it for the last turn's cost, the sitting's spend and how many turns the balance buys; click it to open the narrator picker, which in this mode lists each model on sale with its credits per turn (est. until enough real turns have been measured). A refused turn — out of credits, signed out, the service down — takes nothing from you: it appears as a line in the story saying why, your command returns to the box, and it is not kept in the conversation history, so you can simply retry.
The calendar
Click the date and a month view opens above it: the whole month laid out under your world's own weekday names, with the moon phase drawn on every day and today picked out in gold. ‹ and › step months, « and » step years, and Today brings you back; the foot of the view names the weather pattern that month runs. Hovering a day gives its full weekday, date and phase. Click outside it or press Esc to close.
The months, weekdays, year and year label are all the world's, so a world that renames its calendar renames this too (see the Editor’s World › Calendar tab). The grid itself — month lengths, which weekday the first falls on, leap years — comes from the real calendar underneath, so it is right without anyone maintaining an almanac.
How to play
Every turn is the same simple rhythm: you describe an intention, the GM narrates the outcome and applies its consequences, and the world moves on.
Issuing intentions
Write naturally. Attacking, examining, taking, dropping, using, sneaking, persuading, bartering — there are no special command words. The GM interprets your sentence into a game action, resolves it against the world's rules and your character's abilities, and narrates a couple of vivid sentences in the second person.
Movement & clickable links
- Exits appear as clickable links in the scene and in the sidebar's Exits block. Clicking one is exactly like typing
go <direction>. - Item and person names in the story, sidebar, Compendium, and on the map are clickable — but they open a detail popup rather than taking a turn, so you can inspect without acting.
Doors & barriers
Not every exit is open air. Some carry a door (or a barrier — a boulder, a portcullis, a fallen tree; same mechanism, different noun) with a real state: open, closed, or locked. Examine one by name — or just "the door" if there's only one in the room — to see its picture, description, and state without spending a turn; a known door also shows as a small icon beside its exit, and clicking it opens the same detail in a popup. A shut or locked door genuinely blocks you: the engine refuses the move and says so, whatever the narration implies, so open it first — or open it and walk through in the same breath ("I turn the key and step into the vault" resolves as one turn).
A lock may want a specific key, a magic item, or a spell, or be sealed shut by nothing ordinary at all; some locks can also be picked, if you have the skill for it. And some answer to something you do rather than something you carry — a word spoken aloud, a lantern held up at the right hour, a hand laid where it belongs. You are never told which; a door like that has no keyhole to work at, and what it wants is in the door itself, in what it looks like and what the world says about it. Do the thing, in your own words, and the Game Master decides whether it counts. A hidden door isn't merely closed — it isn't there as far as you can tell, until an NPC tells you, a document says so, or the GM decides your searching turned it up.
Combat
There is no separate battle screen. Combat is narrated by the GM and resolved through the changes it returns — your HP shifting, a foe falling, a status like bleeding taking hold, XP awarded. Your class and level inform how hard you hit.
Coin & trade
The default money is gold, silver, and copper (1 gold = 10 silver = 100 copper). Some worlds mint currency of their own on top of that — gems, chits, favors, whatever the DM has defined — and a being only takes what it's set up to accept. Offer the wrong kind and the narration refuses and tells you why; sell to a being that deals in its own currency and it pays you back in kind, not necessarily coin.
Slash commands: / and //
Almost anything you type is a story intention for the GM — unless it begins with a slash. A slash marks the line out-of-character (OOC): it's handled instantly, with no GM turn, no narration, and no time passing. The number of slashes decides who it speaks to:
- A single
/— ask the Field Guide./how do I learn a spell?puts your question to the built-in Field Guide: a helper for the app itself — its tabs, buttons, and systems — grounded in this very guide and answered in a small popup. It is not the Game Master and never touches the story or your character. A bare/(nothing after it) lists every player command;/guideopens the full guide in its own window, and/handbookopens the Player's Handbook. Available to everyone. /hint— ask for a nudge. When you're unsure what to do next,/hintasks the Game Master for a short, in-world hint toward the nearest thread worth pulling — often someone nearby worth speaking to. It's a gentle steer, never a walkthrough, and like the Field Guide it costs no turn and changes nothing./usage— what the Game Master has cost. Opens a spend ledger for this character in this world — see What the Game Master costs below. Like the rest of this list it spends no turn and asks the model nothing.- A double
//— DM meta-commands.// heal,// give me a torch,// set dex 14reach past the fiction to change the live game state directly, for testing and debugging (with a GM fallback for free-form requests). These are Dungeon-Master-only: a regular player who types one is simply told the feature is DM-only. See Part II for the full family; a bare//lists them in play, and// guideopens the Dungeon Master's Guide.
So the rule of thumb: no slash talks to the world (the GM), one slash asks the app for help, two slashes are the DM's debug console. A few plain phrases are also handled instantly without a GM turn — verbose on / verbose off lengthens or tightens the GM's narration (the slashed /verbose on / /verbose off does the same), and prepare <reagent> / brew <concoction> (see Reagents & Concoctions) resolve the same way, with no GM call.
What the Game Master costs: /usage
Every line the Game Master writes is a paid call to Anthropic on your key. Type /usage at any point in play and the game opens a ledger of what those calls have actually come to. It costs nothing to look: no turn passes, no model is asked anything, and the world does not move.
Four figures sit across the top. Spent so far is the running total in dollars. GM calls is how many there have been, with the average cost of one beneath it. Prompt tokens is everything sent — the world, the rules, your history — with the share of it served from cache beneath, which is the number that decides most of your bill. Reply tokens is what came back.
Under them, two charts. Cumulative spend is the single rising line of the whole playthrough. Cost per call plots every individual call against a ten-call trailing average, so a spike stands out from the ordinary rate. Hover either to read a value. Show the numbers opens the plain table behind them — the last sixty calls with their time, what each one was for, the model used, tokens in, tokens served from cache, tokens out, and cost.
Two honest limits, both stated in the dialog rather than hidden. The total carries a + when some calls ran on a model with no published rate: those calls are counted but not priced, because a made-up number in a spend report is worse than a blank. And the ledger keeps the most recent 5,000 calls; past that the oldest are dropped, and the dialog says how many, so a total that starts partway through never pretends to be the whole story.
Taking it with you. Export CSV at the foot of the dialog, or /usage export typed in play, saves this playthrough's ledger as a spreadsheet: one row per call, with its time, what it was for, the model, the four token counts and the cost — plus, where they apply, the model the game asked for when a different one answered, and the part of the Game Master's cached instructions that had changed when a call had to re-write the cache. /usage export json writes the same as a JSON file, and /usage export all gathers every playthrough this browser holds into one. The file is named after the save it belongs to, so the two sit side by side in a folder. A call on a model with no published rate exports a blank cost rather than a zero, for the same reason the total carries its +. Nothing you typed and nothing the Game Master wrote is in it — the ledger never kept either.
It is scoped to this character in this world — a per-playthrough figure, not an account total. Your real bill lives in the Anthropic console, and this is a running estimate of one playthrough's share of it, computed from the token counts the API itself reported rather than guessed at.
Your character
The Character tab carries nine subtabs: Profile (where it opens), Equipment (see What you wear & wield), Spells (see Spellbook & magic), Inventory (see Everything you carry), Crafting (see Crafting), Skills (see Skills), Factions (see Your factions & their ranks), Progression (see Progression), and Statistics — a lifetime tally of your deeds across the Realms, grouped into cards, kept as you play and saved with your journey. The Profile sheet holds:
- Portrait — beneath it sit three buttons: ⬆ upload your own image, ♻ regenerate one (the GM paints a fresh portrait), and a magnifier (enlarge), which opens the portrait full-size in a modal. You can also just ask in the request bar. A collapsible Gallery section keeps every portrait you generate (type a variation prompt and press Generate to add more); enlarge any gallery image and press its Use button to make it your portrait, or drag a thumbnail straight onto the portrait frame.
- Identity — name, a title (starting at Adventurer), your level and class, your Fame label, your Alignment (see below), a Gender dropdown (Unspecified / Female / Male / Non-binary / Other, fed to the GM so it portrays you correctly), an Age that reads off a Born date in this world's own calendar rather than a stored number — so winding the world's clock genuinely ages you — a Race dropdown (default Human, plus whatever peoples the world defines), and a click-to-edit one-line summary. The Character Creator carries the same Age box and Born calendar picker, before play begins, so you can set a starting Age (25 by default) or the exact day — typing an age there moves the calendar to the year it implies, keeping the month and day already chosen. From there Age and Born are a DM's to change (the picker opens on the birthday already chosen, and typing a whole-years age moves the birth year alone, keeping the day) and everyone else just reads them.
- Abilities — a section listing your character's special abilities together with any inherited from your race; the racial ones carry a Racial badge.
- Background — click-to-edit prose, plus a ✨ Generate background button that asks the GM to write one for you.
- Vitals, Attributes, Statuses, Wealth, Inventory — the full readouts described below.
- Ailments — appears only once you're carrying one; a card per sickness with its name, days borne, and, once a Field Medicine check or a competent examiner has diagnosed it, what a healer would know about treating it. See Ailments.
- Marks — appears only once your character carries a lasting scar. It lists one row per mark, with a checkbox. Ticked marks are painted into your portrait and full-body render. Unticked ones are left out of the picture, but the Game Master still knows about them, because the scar still happened. Marks are cosmetic only. Worn gear can be damaged the same way: a tunic torn in a fight becomes Brown Tunic, torn at the front, only the one you were wearing is torn, and a tailor can mend it. A Damaged gear section beside Marks lists each damaged piece with what the damage looks like and whether you are wearing it; click a name for its details. The Equipment tab shows the same list under the paper doll, and marks the slot of a damaged piece with a small ! whose tooltip says what the damage looks like. On the Inventory tab its card carries the same mark and a Damaged tag (hover it for the damage), and typing damaged in the filter finds every damaged piece.
- Factions — the orders and organizations your character belongs to, shown as a row of 🛡️ chips. Click one to open its portrait-and-details popup. The section only lists factions you've actually joined; it reads "Not a member of any faction" until you do. (See Factions.)
- Magic — a two-column glance: Items (the magical items you carry) beside Spells (the ones you know). The full grimoire lives on the Spellbook subtab.
- Spellbooks — the spellbook tomes you carry, each listing the spell(s) it teaches; reading one learns them (see Spellbook & magic).
- Skills — a compact list of the proficiencies you've learned, mirroring the Spells glance. Full cards are on the Skills subtab.
- Treasure — coveted trophies you keep to admire rather than use (a jewelled crown, a golden idol); acquiring them also raises your Fame.
At the foot of the sheet is a request bar: "Ask the GM to paint your portrait or rewrite your background — e.g. 'paint my portrait' or 'rewrite my background as a disgraced knight'."

What you wear & wield
The Equipment subtab of the Character tab is where carried gear becomes worn gear. Thirteen slots make up the body: Head, Amulet, Armor, Clothing, Weapon, Sidearm, Shield, Gloves, Belt, Leggings, Bracers, Ring, and Boots. A world's classes may add their own on top — a Mage's Spellbook slot is the built-in example, and a field spellbook always lands there (see Spellbook & magic).
An item fits exactly the slots it declares — nothing is inferred to make it fit. That is what lets a two-handed sword be weapon-only while a dagger declares both Weapon and Sidearm, so you may run it as your main arm or off-hand it beside a heavier blade.
The character render, and the renders you keep
Left of the paper doll stands a full-body render of your character: your portrait's face on a figure wearing everything you have equipped, painted on request by ✨ Generate. It works from your portrait, so paint one on the Profile tab first — without a face there is nothing tying the render to you, and a stranger in the right armour is worse than no picture. ◑ Extract Portrait does the reverse: it crops a head-and-shoulders portrait out of the render and makes it your character portrait, so the face on your sheet is the face on the body. The Character Render tick-box above the inventory hides the column if you would rather have the width.
Under the buttons sits Renders — every full-body render this character has worn. Each one you paint is filed there as well as put on, so re-generating after a change of sword never costs you the picture it replaces: click a thumbnail to wear that render again, at no cost and with no waiting. The one you are wearing is outlined in gold and stays in the strip, and the ✕ on a thumbnail removes a render you have finished with. Removing the one you are wearing tidies the strip and leaves the picture on your character — choosing a different render is what the thumbnails beside it are for.
You do not have to have the game paint it. The ⬆ beside the buttons takes an image file of your own — your own art, a picture you made elsewhere, anything you would rather see standing in that column — and puts it straight on your character, filed in Renders like a painted one. It is the one button on the column offered whether you have a render or not, because a player with no way to paint one is exactly who needs it. An uploaded render is a render in every other respect: ◑ Extract Portrait will crop a face out of it, and the edit line will change it.
Changing gear in a fight
Out of combat, swapping gear is free — take as long as you like. In a fight it costs you the round. Equip or stow anything mid-combat and that is your action: your foes still get theirs, and you do not also swing. The change itself always goes through — what you reached for is in your hand — but the fumble at your belt is an opening, and an enemy may take it.
The skill Quick Draw (DEX, open to any class) closes that opening: with it the change is clean and nothing can interrupt it. It does not make the change free — you still spend the round. Plan the swap for a round you can afford to lose, or learn to do it under a blade.
Potions and thrown things
Not everything has to be worn to be used. A potion, salve, ration or scroll — anything spent in the using — and anything you throw at a foe come straight out of your pack: they need no slot and there is nothing to equip. That is the one exception to the rule above; what stays in play is gear, and gear must be worn.
In a fight they are priced like a gear change: drinking or throwing is your whole action for the round. You do not also swing, and your foes still get their turn. Out of combat, both are free.
The two part company in what becomes of the thing. A dagger you throw is gone from your pack — it lands where you threw it, and you can pick it up again when the fight is over. A potion you drink is gone: spent in the drinking, with nothing left to retrieve. Your Potions consumed tally on the Statistics tab counts each one.
Everything you carry
The Character › Inventory subtab is your pack laid out: one card per thing you are carrying, showing its picture with its name beneath. Click a name and that item's details open in the top-right corner of the tab — what it is, what it is worth, what it weighs, and whatever else it carries.
Anything you can swallow, chew or smear on carries an action in that popup, labelled with the word for it — Drink a potion, Eat a plant or a ration, Use a salve. Pressing it spends a turn: it types what you would have typed and sends it, so the Game Master narrates it like any other move and the world gets its turn back. Nothing here decides what the thing does. There is no hidden table of effects — the GM reads the item's own description and settles the outcome from that, which is why a potion that says "restores 30 HP" restores about that and a bitter herb does whatever its author wrote. The button is offered only over things that are yours: your pack in the sidebar and your Inventory tab. A thing lying on the floor offers Loot instead, and the Compendium — which is a reference, not a pack — offers neither. An item's popup shuts the moment you press it, because the turn is about to spend the thing the card was describing.
The cards are gathered under headings by what the thing is — Spellbooks first, then Weapons, Armor, Consumables, Keys, Books, Miscellany, Treasure and the rest, each with a count beside it. Only headings with something under them are drawn, so a fresh character sees a short tab rather than a wall of empty shelves. The headings are the world's own item kinds, so a realm whose DM has added a kind of its own gets a shelf for it here without anything being arranged in advance.
A toolbar runs across the top. On the left is a Filter box that narrows the tab as you type — by an item's name, or by its kind, so typing consumables brings up every potion and ration at once. The ✕ beside it clears the box and the filter together. Between them sit three readings of what you have. ITEMS is how many things — pack and trove together, counting stacks, so four rations count as four; it is a different question from the number beside a section heading, which counts the cards under it and moves when you filter. WT is what your pack weighs against what you can carry, the same figure the sidebar tracks, turning red when you go over. It counts the pack only: trophies are kept in a trove and weigh you down not at all, and a filter hides cards without lightening anything. Beside it, VAL is what everything here is worth at face value — pack and trove, stacks counted. The two disagree about treasure on purpose: a trophy has worth but no weight. And when something you hold still has a story to give, an XP reading appears: what the hidden lore of your things is still worth. It counts each item once however many you carry — a story is learned once — and only while it is still locked, so it falls away as you uncover them. None of these figures move when you filter, because they describe you rather than the cards. On the right sits a pair of buttons: By Type is the sectioned view described above, and By Item lifts the headings off and lays every card out in one run. The order does not change between them — the same pack, seen two ways — so switching is only ever a matter of whether you want the shelves marked. Whichever you pick is remembered, and the tab opens that way next time, even after closing the game; the filter box is not, so you never come back to a pack that looks half-empty because of something you typed days ago.
Your Treasure shelves here too, though trophies are never in your pack — the game keeps them in a trove of their own, to be admired rather than used (see Your character). This is the one tab that shows you both at once, so a gem-set reliquary stands on the same screen as the sword you are carrying. Treasure alone is ordered by worth, the finest piece first — every other shelf keeps the order you acquired things in — and each trophy carries its price under its name, so the ranking shows its working. A piece nobody has put a price on simply carries none. Beside the Treasure count stands what the whole hoard comes to, stacks and all — where a card shows what one of a thing is worth, the heading shows what you have.
Stats, combat & reputation
Vitals & attributes
You track HP (health), MP (mana), XP (toward the next level), and WT (carry weight). Your six attributes are STR, DEX, INT, WIS, CHA, CON. Three derived values matter often:
| Downtime | Duration | Restores HP & MP | Notes |
|---|---|---|---|
| Rest | a short while | up to 35% | A quick breather; keeps your prepared spells. |
| Sleep | a full 8 hrs | 65% | Real sleep; clears a caster's loadout. |
| Camp | a full 8 hrs | 90% | Food & fire — the most restorative. Outdoors only; clears the loadout. |
| Time awake | Stage | Toll on your attributes |
|---|---|---|
| ~18 h | Tired | −1 DEX, −1 INT |
| ~30 h | Fatigued | −2 STR / DEX / INT, −1 WIS |
| ~42 h | Exhausted | −3 STR / DEX / INT, −2 CON |
- Armor Class (AC) — shown at the foot of the attribute block, the number an attacker must beat to hit you: base 10 + your DEX modifier, or the base your equipped body armor sets (only body armor sets a base; a coif, helm or shield adds a bonus on top, so wearing one never makes you easier to hit), plus any AC bonuses.
- Persuasion — a bonus from CHA that increases the reputation you gain with NPCs.
- Fortitude — a bonus from CON that helps you resist poison, disease, exhaustion, and environmental hazards (distinct from raw HP).
Attributes can drift: acting in character quietly trains them, and at a level-up that hidden progress can surface as a permanent trained ±N bonus. Temporary buffs and debuffs from status effects show as a status ±N tag and expire against the game clock — with one exception, below.
Reputation
Every NPC holds a numeric opinion of you, shown as a tier. How much they'll tell you — small talk, personal history, motives, secrets — is gated by how far you've earned their trust.
| Tier | Score | What it unlocks |
|---|---|---|
| Devoted | ≥ 40 | Will share their deepest secrets. |
| Friendly | ≥ 20 | Shares history and motivations. |
| Warm | ≥ 5 | Open and helpful. |
| Neutral | −4 to 4 | Polite, guarded. |
| Wary | −5 to −19 | Reluctant, terse. |
| Hostile | −20 to −39 | Antagonistic. |
| Enemy | below −39 | Attacks on sight. |
Aggression
Separate from reputation, and easy to confuse with it. Reputation is a being's disposition toward you — whether it will talk with you, trade with you, tell you what it knows, take your side — and it moves with what you do. Aggression is narrower and harder: its willingness to engage you physically, and it does not move. A being can be set against you in every other way and still never raise a hand. Both scales have a rung called Hostile, and they mean different things: an innkeeper who has come to loathe you is Hostile by reputation and still Passive by aggression — they will not swing at you, they will simply refuse to serve you. Wherever the game shows you one, it says which it is showing.
And the two are asked about different things. Reputation is about you — it is what this being has come to make of you, and it starts at nothing because you have not met. Aggression is not about you at all: a wolf is Hostile to whatever walks into the clearing, and its Neutral reputation is not indifference you earned but a wolf having no opinion of anybody. That is why a creature can be dangerous and unjudged at once, and why doing right by a wolf moves the first number without touching the second. The wolf has its reasons and none of them are you: you are food, or you are too close to its young, and the undead thing in the barrow hates the living as a category.
It runs the other way too, and this one is easy to take personally. A being can start out below Neutral before you have said a word to it, because that is how its author wrote it: reserved, guarded, hard to charm. The quiet farmer who does not talk to passers-by is Wary by reputation and Passive by aggression — he is not going to fight you and he is not going to warm to you quickly either, and the low number is a description of him rather than a record of anything you did. Earning that one up is the game; it will take more than a greeting.
Evasive is the one that says something about a creature before you have done anything at all. The other four are answers to being met; that one is an answer to being seen. A deer is Evasive — not because it will not fight, but because it has no intention of letting you close enough to find out. Cornered, it behaves like a Passive creature; the difference is that it spends its whole effort on not being cornered.
| Aggression | What it means |
|---|---|
| Evasive | Keeps its distance, and will not be approached. |
| Passive | Will not fight unless attacked. |
| Defensive | Fights back, and defends its own. |
| Aggressive | Picks fights when it likes the odds. |
| Hostile | Attacks the moment it sees you — on sight, with no parley and no retreat. |
The last one is written just Hostile on a card, because the five read as one scale when they are all single words. It means hostile on sight: it attacks the moment it sees you, and expects no parley. Hover it anywhere the game draws it and the tooltip says so.
It appears on a being's detail popup whenever it has been set, and only then — a being with nothing stated is not "Passive", it is simply a being nobody has decided about yet, and the engine treats it as no kind of fighter. The Game Master weighs it when judging whether a creature in the room turns on you, alongside its reputation and its classes: a being carrying the enemy class is hostile regardless.
Pace & Notice
Two facts that only matter below ground, where the engine walks monsters on its own account. Pace is how fast a creature moves through a dungeon, measured against your own walking: an unstated one is Steady, three squares to your four, so a party who decide to leave will slowly draw away from it. That is the point of it — a monster that matched you stride for stride could never be escaped and never be shaken, and breaking off a fight bought you nothing.
| Pace | Against your own | What it means in a corridor |
|---|---|---|
| Shambling | half | You can simply walk away from it. |
| Steady | three quarters | The default. It follows, and slowly loses ground. |
| Quick | the same | Stride for stride. It never gains and it never falls behind. |
| Swift | half again | It closes on you. Walking away is not enough. |
Notice is how many squares off it becomes aware of you, down a corridor. Left blank it is twelve — as far as you chart yourself, so if you can see it, it can see you. Lower it for something dull-witted or half-blind; raise it, up to sixteen, for a thing that hunts by scent or hearing and will be coming before you have seen anything at all.
Neither has any effect above ground, where beings move on their daily routines and the Game Master decides the rest.
Size
How big a creature actually is, in six steps. Medium is your own scale, so every other value is read against a person standing beside it.
| Size | Roughly | Examples |
|---|---|---|
| Tiny | under 1 ft | A rat, a sparrow, a beetle — it fits in a pack. |
| Small | 1–4 ft | A badger, a goblin, a child — half a person. |
| Medium | 4–8 ft | A human, a wolf, an orc — your own scale. |
| Large | 8–16 ft | A bear, a horse, an ogre — it looms over you. |
| Huge | 16–32 ft | A troll, a giant, a war-beast — several people tall. |
| Gargantuan | over 32 ft | A dragon, a kraken — larger than a building. |
It is not decoration. The Game Master reads it to settle what physically fits, fits through and fits inside — a rat can be carried off in your pack, a wolf cannot, whatever way you phrase the request — and to weigh a grapple, a shove or a lift when the two of you are rows apart on that table. It also reaches the victory banner: with a size stated, the picture paints the creature at its true scale beside you. Without one it does not guess, which is why a nameless thing occasionally comes out looking bigger than it fought.
Like Aggression, it shows on a being's detail popup only when it has been set. A being with nothing stated is not Medium — it is one nobody has decided about yet, and the Game Master judges it from the creature itself.
Gender
A being may be Male, Female or Other — or nothing at all, which is not the same as Other. Other says something about this person; blank says nobody has decided, and the Game Master reads the description instead. Like Aggression and Size it shows on a being's detail popup only once it has been set.
What a creature is wearing
Beings wear their gear, exactly as you wear yours. A guard in mail is harder to hit than one carrying mail in a sack — its Armor Class is worked out the same way as your own: the base its worn body armour sets (or 10 plus its DEX modifier when it wears none), every other worn piece's magical bonus on top, and any natural armour it has of its own. A chain shirt means the same number whoever is wearing it, which is the point.
The same goes for what it swings. A foe holding a weapon fights with that weapon's dice, not with a number the Game Master picks; a foe holding nothing fights with whatever the fiction gives it — claws, teeth, a chair. So looting a body is not only a reward, it is a disarmament: what came off the corpse is not coming back at you.
A being's popup shows what it has on. What it is carrying and what it has on are different facts, and the game keeps them apart: a merchant's spare blades are stock, the one at his hip is not.
Spellbook & magic
The Character › Spells subtab is your grimoire. It lists spells as collapsible cards — a cropped icon of the spell's portrait, its name, and tags for its school, level, and MP cost — with a Filter by name box and collapse/expand controls, exactly like the other card views. A scope toggle switches between Known (the spells you've learned) and All (the whole world grimoire, so you can see every spell and where to learn it).
A second toggle switches between By Card and By Portrait. By Card is the list described above; By Portrait draws the same spells as a wall of their pictures with the name beneath each, which is the quicker way to find one you would recognise by sight before you would by name. Clicking a tile — either half of it, the picture or the name — opens that spell's detail popup in the tab's top-right corner: its school, level, MP cost, whether you are carrying it, and the Cast button, exactly as clicking an item in your pack does, and the same panel the Compendium opens. That is the whole answer to what does this do and can I cast it, which is the question a spell is looked up to settle, so there is nothing else for a half of the tile to lead to. The choice is remembered per tab, so the Spells tab can sit on portraits while your pack sits on cards. The loadout strip stays above both: it is what you can cast, not one of the cards. This is the same control the Inventory tab's By Type / By Item is, and the one the Editor's own card tabs carry.
Open a card for its description, effect, its Spellbooks field (below), and — for a spell you already know — its action buttons:
The tomes themselves are objects in your pack, and they live with the rest of your belongings on the Inventory subtab (see Everything you carry), under a Spellbooks heading of their own.
- Cast · N MP — spends the spell's mana and applies its effect. Healing, restoration, and self-buffs resolve mechanically; damage and utility magic are narrated and adjudicated by the GM. The button is disabled when you're short on mana or down.
- Forget — lets a known spell slip from memory.
Your MP pool (on the Vitals readout and the sidebar) is the fuel; it regenerates as the world's rules allow. The Magic sidebar block and the Profile's two-column Magic glance both mirror what you carry and know at a glance. Magical items are a distinct item type — they're filed under the Compendium's Magic tab and the Magic glance rather than plain Inventory.
book among their classes) that name the spell or spells they inscribe. Carry one and a Read button appears on its detail popup; reading learns every listed spell you don't already know. Unlike a skill book, a spellbook is never consumed — it stays in your pack as a permanent reference you can re-read or pass on. Each spell card's Spellbooks field shows which tomes teach that spell (click a chip to open the tome); if none exists, a DM sees a Generate button that authors one. Your carried tomes are also gathered in a Spellbooks section on the Profile, beneath Magic. And wherever the GM's narration names a spell or a spellbook, that name is a clickable link that opens its popup. A Cleric's psalter, a Druid's greenwood token, and a Ranger's hunter's knot fill this same slot as a tome does — not every focus is a book you'd call one.Reagents & Concoctions
Not every working is a spell. The Concoction skill (CON, built on Herbalism, open to any class) compounds ordinary ingredients into a magical draught, salve, dust, or oil through ritual rather than a loadout — and it runs in two steps. Prepare an ingredient you're carrying into a reagent (a Prepare button on its card, or typing prepare <name>) — labour rather than a roll, though it costs the hours and the ingredients. Then brew a concoction from reagents you've prepared (a Brew button, or brew <name>, adding a number to brew several at once) — a CON check against the recipe's difficulty; a failed roll still costs what you spent. The result comes out graded Workable, Sound, or Potent, named right in the item itself. Nothing yet stops a working by place or circumstance, so for now you can brew wherever you have the reagents and the time.
Two gates stand between you and a prepared reagent, and they are different questions. The craft is whatever skill the reagent is worked under — Concoction for everything shipped so far — and without it you cannot prepare that reagent at all, whatever you're carrying; the refusal names the skill, so it sends you to the Skills tab rather than leaving you guessing. The formula is separate: most reagents are common knowledge, but a rare one may be secret until somebody teaches it to you — a receipt book (an ordinary book carrying a formula alongside, or instead of, a skill lesson) sets it down in your compendium the moment you read it, with no roll and the book never consumed. Lacking the formula reads as a different refusal from lacking the craft, on purpose: one sends you looking for a teacher or a book, the other to the Skills tab.
Skills
A skill is a learned proficiency — Lockpicking, Herbalism, Swordsmanship — that you either begin with or read out of a book, and then sharpen through use. The Character › Skills subtab shows a card for each skill you know: its icon and name, the governing attribute with your current modifier, its level and tier (Novice → Master), and an xp-to-next-level bar. Until you've learned any, the tab reads "No Skills Yet."
Where your first skills come from — inherent class skills
Every class begins knowing one to three signature skills that fit its playstyle — a Warrior starts with Swordsmanship, a Rogue with Lockpicking, Sneak, and Surprise Attack, a Mage with Spellcasting. Skill-reliant, lightly-armored classes carry more; armor-and-weapon front-liners carry fewer. These inherent skills are part of world design, defined per class, so a DM has the final say and can add or change them for their world (via the Classes editor); when the GM invents a new class it assigns fitting signature skills the same way.
Learning more skills — from books
Beyond your inherent skills, new ones are taught by book-type items. Carry a book that teaches a skill and a Read button appears on its detail popup (or simply tell the GM you read it). Grasping the lesson isn't automatic — it takes an Intellect check: the engine rolls d20 + your INT modifier against the skill's difficulty and shows a Skill Study card. Succeed and the skill unlocks at Level 1 and a card appears on the Skills tab. Fail and the book stays in your pack.
How a check is rolled
When you describe an action a learned skill covers, the GM rolls the check for you. It sets a difficulty (DC) from the situation and rolls d20 + your ability modifier + skill proficiency against it. Because the modifier reads off your live attribute, any buff or affliction bends the odds automatically — a Cat's Grace buff or a crippled condition changes every relevant check with no extra bookkeeping. One action can trigger several checks at once (picking a lock and staying hidden).
| Difficulty | DC | Outcome | When | |
|---|---|---|---|---|
| Easy | 8 | Critical | total ≥ DC + 10, or a natural 20 — clean result, bonus xp | |
| Moderate | 12 | Success | total ≥ DC | |
| Hard | 16 | Partial | within 2 below DC — succeeds at a cost | |
| Very Hard | 20 | Failure | otherwise, or a natural 1 | |
| Formidable | 25 | — |
The GM's reply shows a compact skill-check manifest — every check it rolled this turn, with the die, your modifiers, the DC, the outcome, and any xp gained — printed just above the narration, so the dice are honest and legible. A successful use earns that skill xp (a critical earns more); cross a threshold and the skill levels up, its proficiency bonus growing with it.
A craft is a day’s work at a time. One turn buys one sitting of about eight hours, and the engine rolls a stage for each and shows you the dice. Then the light goes and your hands are done: sleep and take it up again, or press on into the night and be measurably worse at it, because tiredness costs you the very attributes crafting leans on. The half-made thing sits in your pack meanwhile. It cannot be worn or wielded — an unfinished sword is not a poor sword, it is not a sword — and its picture is repainted as the work goes, so what you look at is the blade as it currently stands.
You can have more than one on the bench. Start a second project of the same thing and it is named (partial 2), so the two never get confused for each other, and Character › Crafting lists everything you have unfinished with how far along each one is. A project you began three sessions ago is not something you have to remember.
How long you give it is the real decision. Ask for something and name no time and the Game Master allots what the job wants. Insist on less and every stage gets harder; give it longer and you buy a couple of extra stages to get it right, and no more than that. Reaching too high is not punished the way you might fear: how far up you got is what you end up with, so a novice reaching for a masterwork usually comes away with an honest blade rather than with nothing. The grade you reached is in the name of the thing you are holding.
You can watch the hours go. Each sitting plays the same banner a night’s sleep does — the clock face at each end, the hours between them, and a bar that fills while the clock in the header races to catch up. Under it, the manifest shows what each stage of the work rolled.
And the dice are yours if you want them. With Auto Roll Skills off in Settings, the bench asks you to roll: the bag opens, the line above it names the stage and the number to beat, and your d20 settles that stage and no more. A long piece of work asks once per stage, so you are at the bench for every one of them — and taking a thing apart and mending one ask the same way, once each. Rolling your own costs no extra hours; it is only a question of whose hand is on the die.
And when it comes to nothing at all, you keep the makings. Clear no stages and the half-made thing is destroyed — it was never going to be a sword — but everything you put in comes back to you, one rung worse than it went in. Good iron comes back average; ruined iron comes back ruined, because the ladder has a bottom. The week is still gone, and so is the edge on your stock: a thing can be no better than its worst material, so what you salvage caps whatever you make from it next. Botch twice with the same iron and you are working ruined metal that can only ever make ruined things. That is the real price of a bad week at the bench, and it is charged later rather than at the moment it goes wrong.
The state a thing is in counts now. Every item sits somewhere on a five-rung ladder — ruined, worn, average, good, pristine — and good is where anything that says nothing about itself sits, at no penalty. Below that it fights you: a worn thing is harder to take apart than a sound one, and the engine shows you exactly how much on the roll. What you get out of a dismantling is always one rung worse than what went in, so a good sword gives average iron — which means you cannot take a blade apart and rebuild it forever and come out ahead. One thing to watch when it lands in your pack: things stack by name, and a stack is only ever in one state, so ruined scrap dropped in with good scrap makes the whole pile ruined. Keep salvage you care about away from salvage you do not, or the good of it goes down with the bad.
What you build from matters as much as how well you build. A thing you make can be no better than the worst of what went into it: work scrap iron for a week and you get a well-made piece of scrap. The name still says how well you made it, so a Pristine Short Sword in merely good condition is exactly what it sounds like — beautiful work, ordinary iron. There is one way past that, and you cannot plan it: a critical on the final stage of the work lifts the result one rung above your materials. Good stock is the reliable answer; a great roll at the very end is the rare one.
And you can mend things. Say so — I mend the sword — and if you have Crafting, the work takes hours and a roll and brings the thing up a rung, or two if the roll is very good. The worse its state, the harder that is. A failure costs you the hours and whatever you used, but it will never leave the thing worse than it was. Something already pristine cannot be improved, and a half-made craft is not mended — that one wants finishing.
There is stock to work with, and it says so. Ore, ingots and charcoal; hide, leather and sinew; timber, planks and glue; fibre, thread and cloth; gold leaf and silver wire. Open any of them and the Kinds line says material — that is the word for a thing a craft is meant to consume rather than use as it is, and it is worth reading before you sell something you will want back.
Somebody sells it. Market Row has a tanner and a chandler beside the herbalist — hide and leather from one, board, glue, charcoal, thread and cloth from the other — and the smith sells the ore and ingots he works from. All of them keep daylight hours, so the Row after dark is bare frames and a stray cat — materials are a morning errand.
Some of it is not sold anywhere, and that is the answer rather than an oversight. The fine engraver's stock — gold leaf, silver wire, enamel, niello — is not village trade, and no stall on the Row will have it whatever you offer. If you want to work in it you will have to find it: a city, a hoard, or something taken apart that had it on already.
What you get back is marked as salvage. Every part that comes out of a dismantling carries a salvage kind on it, so the pieces in your pack are tellable at a glance from the things you bought — which wear material instead. And some items already know what they come apart into — where they do, the answer is the same every time you take one apart, which is worth knowing before you break the second one hoping for something better.
And where a thing did not know, you are the one who finds out. Take something apart successfully that nobody had worked out before, and what you got becomes the answer for that kind of thing from then on — you are told when it happens. The second short sword comes apart into exactly what the first one did, so a dismantling is worth doing once for the knowledge even when the parts are not worth much. A failed attempt settles nothing: you learn what a thing is made of by getting it apart, not by trying. What state the parts come out in still depends on the state of the thing you took apart, every time — a ruined sword gives ruined iron however fine the first one you broke was.
A chest counts, once it is empty. Anything you are carrying that holds things can be taken apart like anything else — but not while there is still something in it, and the game will tell you so. Empty it first and the chest is boards and bands like any other made thing.
Taking apart has rules worth knowing. Crafting is the only skill you need — the craft the job wants (Metalwork for a blade, Leatherworking for a jerkin) just makes you better at it, never allowed to try. You get one attempt per thing per day, win or lose, so a failure means coming back tomorrow. And nothing magical ever comes out of a dismantling, nor goes into anything you make: magic is not a material a hammer can work.
You will not get rich this way, and that is the design rather than stinginess. What a thing comes apart into is worth a fraction of the thing itself — a sword in pieces is worth less than a sword. So taking something apart is a decision: you are trading a finished object for the makings of a different one, and if what you wanted was coin you were always better off selling it whole. Where dismantling pays is when the parts are what you actually need and nobody nearby sells them, or when you want the knowledge of what that kind of thing is made of. The state of the parts does not change their price, incidentally — worn iron fetches what fine iron fetches. It changes what you can make from it, which is the cost that matters.
The five crafts sit behind Crafting on your Skills tab — Metalwork, Leatherworking, Woodworking, Tailoring and Engraving. Crafting alone lets you attempt anything; the five are how you get good, not permission to try. An armourer takes Metalwork and Engraving, a thief Leatherworking and Tailoring.
Name it yourself. A blade you spent a week on is yours, so its popup carries a field for a name of your own — call it Widowmaker and it is Widowmaker from then on, in your pack, on the paper doll and everywhere else. Only things you made: a sword off a shop shelf is one of many of its kind and renaming it would rename all of them. Two of your own things may end up sharing a name, and that is fine — they stay two things, and neither will swallow the other.
Character › Crafting is where all of it lives. Unfinished shows every project you have on the bench, with how many stages are behind it and a button to take it back up — so a craft you started three sessions ago is not something you have to remember. And Methods is your notebook: a thing you make once, you can make again, and the second time nobody needs to work out what it would take. A method you cannot work right now says on its own card what you are short.
One oddity worth knowing, because it looks like a bug: a method matches its materials by name, exactly, and it runs with no Game Master in the loop at all — that is what makes it free. So if it says you are short Iron Bar while you are standing there holding Iron Ingots, it is not confused and you are not wrong; the method was written down against what you used the first time. Ask for the thing the ordinary way instead and the Game Master will sort out what you are carrying. The next one you finish overwrites the method with the materials you actually used, so it only happens once.
Your factions & their ranks
Character › Factions holds one card per order you belong to. Each carries the order's emblem and name (click it for the full faction popup), the role you hold in it, its short description, and the two numbers that say where you stand: a standing badge — what the order has come to make of you, in the same words and colours a person's reputation wears — and its aggression, shown only once somebody has set one.
Under a collapsible Duties heading comes what the order asks of its people — the small, repeating work of belonging: a watch stood, a package carried, a tally fetched back. This is not a menu, and the section says so: a duty comes to you through a member of the order, when there is work to be had, and you never take one off the list. What is listed is the frame — what is asked and where it applies. What actually happens during any given turn of it is invented on the spot and is never twice the same, so the same night watch is wolves off the moor once and a cold six hours the next. How one begins: go to the order’s people and ask for work. That is the whole of it — there is no button, and the Game Master hands a duty out through one of the order’s members, in the fiction. Asking is a real move and is usually answered with work; but not every request is met, any more than it would be in life, and an order may turn you away for a reason of the moment — the roster full tonight, the causeway under water until the tide turns, the serjeant unwilling to send anyone up the wall in that wind. A refusal like that always comes with its own when, so ask again once it has passed. A duty you are currently carrying is marked In hand; click it and you land on that task in Journal › Tasks, where its steps and its state live. No more than three stay open at once. The section is drawn only for an order that asks something, and it deliberately shows no figures: what a duty pays is reported on the task itself, once it is done. An order that asks nothing shows no section at all.
Below that is the order's rank ladder, under a collapsible Ranks heading — the same gold, caret-headed section a card's Prompt or Lore wears elsewhere in the app, and it folds away the same way. It opens showing the ladder, because that is what the card is for; fold it shut and it stays shut while you play, including across the redraws that happen when an order's regard for you moves.
The ladder itself is a timeline in the same shape as your class's Progression, and read the same way. The rungs are levels and your standing is the experience that buys them. The rail numbers them 1, 2, 3 exactly as the class timeline numbers levels; what differs is what earns one. A class beat is paid for with character levels; a rung is paid for with standing — a place on that order's regard for you, which is why each header reads Rank 2 · at +30 standing. The left rail says Held for a rung you have climbed, Next for the one above you, and Later for the rest, and the line under the order's name says which rank you hold and what it is called.
Under that line is a bar to the next rank — the same affordance a skill carries toward its next level, and the same question: how much further. It is measured between the rung you hold and the one above, not from the bottom of the scale, so a member four points from promotion sees a bar nearly full rather than one that says they are a third of the way through their whole career. Climb the top rung and it says so instead.
A rung grants exactly what a class beat grants — a skill, an attribute bump, stat points, or a named mechanical boon — and the same rule holds: no flavour-only rewards. What differs is the flavour of what an order can give, which tends to be things an organization holds rather than personal growth: its stores opened to you, its people bound to answer, a writ that carries weight.
That distinction is what answers the question a class ladder never has to. A character level never falls; an order's regard for you can. Fall below a rank and you keep what it taught you and lose what it lent you. Nothing takes an attribute back — you cannot unlearn a thing, and points you have already spent could not be reclaimed anyway — but the privileges stop, and its people act as though they have. Climb back and the rank returns; it does not pay out a second time.
It has one consequence worth knowing. Some stories fork, and taking one road shuts the others for good. If the rung was waiting on a road you did not take, the rail reads Closed and it means it: that rank, and every rank above it, are out of your reach in this order for the rest of the game, however high your standing climbs. That is not a fault — it is an order’s door closing on a choice you made, and your DM decides whether any of its ladders work that way.
Reputation & Fame — being known
Two different things track how the world regards you, and they work in opposite ways.
Reputation is one person's opinion of you, and you can see it: an NPC's close-up shows a number and a word for it — Devoted, Friendly, Warm, Neutral, Wary, Hostile, Enemy. It moves as you deal with them, and the far end of the bad half is not a mood: an Enemy attacks on sight.
Fame is what the realm at large has heard, and you never see its number — only a word for it on your Profile: Unknown, then Locally Known, Recognized, Notable, Renowned, Famous, Legendary. A new character is Unknown, which is not a fault in the sheet; it means nobody has heard of you yet. You are told, once, each time the word changes — "◈ Your fame grows — you are now Notable."
It rises on its own, from three things, and you never have to ask for any of them: finishing quest beats (and more for the beat that ends a thread), collecting treasure — the jewelled, admire-don't-use kind that goes to your Treasure trove — and simply being wealthy, which counts your purse at its highest, so spending later costs you no renown. The Game Master can also grant it outright for something notable you did.
Progression
A skill is something you go and earn; an ability is something you have. Progression is the third lane: the milestones your class itself promises you, charted level by level and paid out as you reach them. The Character › Progression subtab draws your class's path as a vertical timeline, earliest level first.
The header names the class and your current level, with the title you're wearing beside it. Each stop on the timeline is a beat — a numbered level marker, a header (the beat's name, or just Level N where it has none), and the rewards it carries. A status rail on the left reads Achieved for a beat behind you, Next for the one you're climbing toward, and Later for the rest.
Beats are sparse and front-loaded by design — not every level has one. A class charted across twenty levels typically carries four to eight in total, clustered close together early and spaced out afterwards, so the later ones are worth the wait. Level 1 is character creation; beats begin at level 2.
What a beat grants
| Reward | Effect |
|---|---|
| Class skill | A skill specific to your discipline, learned outright at Level 1 and sharpened through use like any other. The GM authors it alongside the timeline if the world doesn't already have it. |
| Skill | An existing open-gated skill any class may hold, granted the same way. |
| Attribute | A permanent bump to one of the six — usually +1, applied to your sheet immediately. |
| Stat points | Extra unspent points added to your pool, spent through the usual allocation dialog. |
| Boon | A named, mechanical gift — extra max HP or MP, a resistance, a standing check modifier. Where it carries a typed effect the engine applies it as a status; otherwise it is recorded as a labelled note. |
Rewards are gameplay-rooted only — the GM is explicitly forbidden from paying out a beat in flavor. Each reward announces itself in the story as it lands ("✦ STR 13 → 14", "✦ Class skill gained — Shield Wall").
d20 + INT roll, and it doesn't consume your one attempt for the level. Your class simply teaches you what it was always going to teach you.Titles — the honorific you wear
The meatier beats carry a name — Skirmisher, Vanguard, Scholar, Nightblade — and reaching one earns it as your title. A gilt Title Earned banner announces it in the story, and the title then shows beneath your name in the sidebar and on the Profile sheet, replacing the Adventurer you started as. The most recently earned named beat is the one you wear.
The title is also fed to the GM as part of who you are ("a level 4 Warrior (Skirmisher)"), so narration and NPCs can address you by what you've become. Unnamed beats grant no title — they're pure mechanics.
What's visible ahead
A beat you've reached always renders in full. One still ahead renders only if the DM flagged it revealed; otherwise the timeline shows its level and the line "A milestone yet to be revealed." Reaching the level reveals it permanently. If your class has no timeline charted, the tab says so and points at the DM, who shapes each class's path.
Saving throws
A saving throw is a roll the world forces on you — the moment something threatens and you have a chance to resist it. A basilisk's gaze, a gout of dragonfire, a lungful of poison gas, a spell that would seize your mind: each calls for a save. Where a skill check measures something you attempt, a saving throw measures whether you withstand what is done to you.
Unlike a skill check, a save is always yours to roll, and the engine — not the GM — does the whole calculation. When a save is called for, a Saving Throw Called For card names what you're resisting and the governing attribute, and the dice bag opens. You throw the d20, and the engine computes:
| Your total |
|---|
d20 + your governing-stat modifier + any of your saving-throw ability bonuses that apply |
— then grades it against the difficulty on the same ladder skill checks use (Critical / Success / Partial / Failure), shows a manifest with the full formula (e.g. d20 12 · WIS 14 (+2) · Warded Mind +2 = 16 vs DC 15), and hands the resolved outcome back to the GM to narrate the consequence. Because the stat modifier reads off your live attribute, any buff or affliction bends a save exactly as it bends a check.
The saving-throw ability bonuses above come from your abilities — inherent, racial, or granted by worn gear — that carry a bonus "to your saving throws". A bonus that always applies is folded in automatically; one that's situational (say "+2 to saving throws · against fear") is added only when the threat genuinely fits. You never have to track or claim these — the engine applies every bonus you're due.
Time & the world
The realm runs on its own accelerated, decoupled clock: roughly one real-world hour equals one in-world day. It keeps ticking while you read and type. A new game begins at 09:00 on the 1st of Frostmark, Year 437.
The day is divided into six periods, each with its own icon:
| Period | Hours | |
|---|---|---|
| Dawn 🌅 | 05:00–08:00 | The clock also drives a custom calendar of twelve months (Frostmark, Emberwane, Thawmoot, Greentide, Bloomrest, Suncrest, Highflame, Embergold, Harvestfall, Witherfall, Graymist, Hollowtide), seven weekdays, and an eight-phase moon shown in the status bar — click the date there to open the month view. |
| Morning 🌤️ | 08:00–12:00 | |
| Afternoon ☀️ | 12:00–17:00 | |
| Evening 🌇 | 17:00–20:00 | |
| Dusk 🌆 | 20:00–22:00 | |
| Midnight 🌙 | 22:00–05:00 |
When the period changes, NPCs move to wherever their routine puts them, and if a room actually reads differently at the new hour the scene is reprinted (its title tagged like "Market Row : Afternoon", with fresh banner art if the world provides it). Otherwise you just see a quiet note like "◈ It is now afternoon."
The Compendium
Your growing record of the world, in eleven subtabs: People, Places, Items, Monsters, Flora, Fauna, Races, Magic, Lore, Factions, History. Ten of them fill in through play — entering a room records the place, everyone present, and the notable items on the floor; each is filed under the right tab by its kind. (Flora collects plant-type things — herbs, fungi, trees; Fauna collects wild animals; Races collects the peoples of the world — a card is added the first time you encounter each.)
Every entry shows a thumbnail (its own art, or for a Place the room's live banner), a description, and its discovery date. People entries also show your current reputation and cross-link to any Journal beats that mention them.
Click a person or item name to open its detail popup; the Items tab even lets you open two side by side to compare.

The Journal
Six subtabs: Quests, Factions, Legends, Languages, Tasks, Gallery — all of them working views. Quests is a chronological timeline of the story beats you've unlocked, each stamped with its in-world date, parent thread, title, and text. Factions is a matching timeline of the faction discoveries you've made — one entry per faction, recorded the moment you first come to know of it (through the person who reveals it), stamped with the in-world date. The faction's name heads each entry as a link into its detail popup, and at the foot a reputation chip says how that faction regards you now — read live, so it moves as your standing does rather than being frozen at the moment you met — beside a read-only aggression chip saying how readily they start a fight. Both also appear on the faction's Compendium card. A faction nobody has decided about shows no aggression chip at all, rather than being reported as Passive. Tasks is the small work of living in this world, and it is worth saying plainly what it is not: a quest is a narrative backbone — the plot, the big turns, the larger rewards, the spine the story runs along — while a task is a small, one-and-done request from a person or an order: an errand, a watch, a tally fetched back, a responsibility somebody trusted you with. You may ignore tasks entirely. A character who cares only for the grand story can play the whole game and never take one on, and that is a complete way to play rather than a way of missing content — nothing in the story is locked behind an errand. The tab collects the jobs you've taken on as cards — each showing its giver, its description, and its milestones, a state badge that advances Accepted → Started → Completed, and the XP it awards once complete — with a toolbar to filter, collapse, and import or export them. The boxes beside the milestones are not yours to tick. They are an indicator and not a control — a small square that fills with a mark when the step is genuinely done — and the Game Master is what fills them, on the turn you actually do the thing. There is no override anywhere, which is deliberate: if a step you believe finished stays open, the Game Master is saying it is not, and it owes you the reason in the scene — the meat wanted butchering, the tally is two short. This is also where an errand you simply agree to arrives. Say yes when somebody in a scene asks you for something and it is on this tab by the end of the turn, with whatever the world needed for it authored in the same breath — the beast you were asked to hunt now standing somewhere it was not before. Five such errands stay open at once; a sixth waits until one is finished. Sometimes an errand turns out to be bigger than an errand — the courier run is an ambush, the missing tally is a conspiracy — and when that happens the task is promoted: it becomes a full quest thread, and its card gains a Became a thread line naming it, which opens the Journal at the story. You keep the errand you took on, milestones and all — a promotion adds a line rather than replacing the task — and the thread opens already recording the part you have done. It is rare on purpose: most errands are errands — and it is meant to catch you off guard, which only works because a task is normally the small thing described above. This is also where an order’s duties land: when one of its people sets you a turn of the small, repeating work the order asks — a watch stood, a package carried — it arrives here as a task like any other, its milestones written for that occasion by the GM, and finishing it pays the order’s regard as well as the XP — both shown as chips on the finished card, though the standing one names the order only if you have discovered it, since you can be sworn to one you cannot yet name. You may carry three such duties at once, and the same one is never set twice while you are still on it. Legends is where a story arc goes once it ends: one dated entry per resolved thread, told in the world's own voice as a chronicler would tell it rather than as a stats dump, carrying the outcome it reached, the renown it earned you, and chips for the spoils it won — click one and the item or place it names opens. Languages is a card per tongue you know so much as a letter or a word of — never only the ones you sat down to study — with the alphabet you've learned drawn out letter by letter, a count of the words you know under each, and a letter's card opening the filtered list behind it — or, for a tongue somebody has taught you whole through a rare grammar, a gold Fluent chip in place of the tally. It's the one screen that answers what do I actually know of a tongue, rather than leaving it to memory or to guessing from what renders in English when you read. See A passage can be written in a world's own tongue for how a tongue is learned in the first place. Gallery keeps your painted moments in one running record, newest first — victory banners and sleep pictures alike (see Images & installing) — each capped on its own so a quiet week of sleep can't crowd out a campaign's fights.
Crucially, there is no visible quest list telling you what to do. Quests are curated threads whose beats stay hidden until you organically satisfy their conditions in play — helping the right person, reaching a place, earning enough trust. When a beat unlocks it's woven into the narration, and only then does it appear in your Journal. You discover the story by living it, not by reading objectives.

Factions
The world is threaded with factions — guilds, orders, watches, cults, and other organizations that its people belong to. A being can serve one or several, each with a role (member, captain, initiate…) and its own standing. You, too, can belong to factions, and your memberships show as chips on your Character sheet.
Once discovered, a faction turns up in several places, all sharing one faction popup (its emblem, alignment, reputation toward you, and description, with a gold Compendium button that jumps to its full card). The emblem carries the same picture controls an item's popup does — a dimmed ♻ floating in its bottom-right corner to repaint it from its prompt, or a ✨ Generate button in the placeholder when the faction has no emblem yet. Clicking the emblem itself still expands it to full width and back:
- The Compendium › Factions tab — its permanent card, alongside every other faction you've uncovered.
- An NPC's detail popup — a Factions field lists the orders that NPC belongs to (only the ones you've discovered), each a link that opens the faction popup beside the NPC's.
- Your Character sheet — the 🛡️ chips for factions you belong to; clicking one opens the same popup.
Maps
The Maps tab shows a node-graph of the places you've visited — a World overview, a Region subtab showing the map of the region you're currently in, plus a subtab for each interior structure you've entered. Drag to pan, scroll to zoom, and use + / − / ⟲ to zoom in, out, or reset. Multi-level buildings show one level at a time with a legend. Click a room name to open the same room detail popup you see elsewhere; item and being icons along a node's bottom edge open their own detail popups.
A subtab named after a district — Quill Ward, the Dock Ward — appears while you are standing in a room your DM has filed under one — a named quarter of a place, the shambles or the dock ward — and goes again when you leave it. It shows the picture your DM had painted of that quarter, with a marker over each room in it, the room's name above the dot. It pans and zooms like the Region map. Unlike the node-graph, nothing here is hidden until you have been there: a district map is one drawn picture rather than something assembled from your own walking, so you see all of it or none of it. If the room you are in belongs to two quarters, you get a subtab for each, so the strip names both.
The markers are how you get about a district. Press one and you are asked whether to travel there; say yes and you walk. It is a real journey and a real turn — the time passes, the Game Master narrates the crossing, and whatever is out there is out there while you cross it — not a jump to the far side of the map. The marker for the place you are standing in is drawn and cannot be pressed, since that is where you already are.
This is the one place in the game where somewhere you have never been is still somewhere you can walk straight to. A district is a small area — a market, a dock ward, the yards inside a keep — and you can see across it from where you stand, so a stall you have never stopped at is a short walk and not an expedition. Two things it does not change: a shut or locked door still stops you, exactly as it would if you tried to walk through it any other way; and you still cannot reach a place that is not on this district's map — press its marker from somewhere you have wandered out of and you will be told you cannot get there from where you are standing.
Inside that room popup, the Items and Present (occupant) names are themselves clickable: click one and its detail opens in a second popup beside the room popup, so you can inspect a person or object without losing the room in view — exactly the two-panel behaviour of the DM Editor's map. (The World-map room popup omits the exit list, since the map already draws every exit as a line between rooms.) The popup also names the room's Region and, under it, any District it has been filed under.
At the foot of that popup is a Return button, and it is the map's one control that changes the game rather than describing it. Press it and you ask the Game Master to walk you back to that place. It is not a jump: the engine follows open exits through rooms you have already visited, one at a time, entering each properly — so time passes, the journey is narrated, and whatever the world has been doing while you were away is there to be walked into. Anything hostile standing on the way stops you in that room rather than being skipped past, and you are told where you actually got to; a door that has been shut or locked since you came through it stops you the same way. If there is no route through ground you know, nobody moves and the Game Master says so. The button is off — with the reason on hover — when you are already in that room, when you are below ground (the dungeon is walked yourself, with the keys), and in a detached Maps window, which is a read-only view of the session and cannot take a turn.


Settings & comfort
The ⚙ button opens Settings. Player options today:
- Theme › Appearance — a Dark / Light picker for the whole app (default Dark, the classic parchment-on-black look). Light flips the palette to ink-on-parchment. The choice is remembered across sessions.
- Logout after Inactivity (off by default) with a minutes stepper (1–240, default 15); any activity resets the countdown, and a timeout logs you out (your save is kept).
- Dice › Show Dice Roll Video (off by default) — when on, rolling a die from the story panel's Dice bag plays a short clip of that die tumbling (with sound) in the centre of the screen — each die has its own video — and when the clip ends the rolled number flashes large in the centre of the screen for a couple of seconds before fading out. The result is also recorded as a note in the narration.
- Dice › Auto-roll skill checks (on by default) — controls who rolls a skill check. Left on, the GM rolls each check itself and reports the result. Turn it off and the GM instead asks you to roll: when an action calls for a check, a Roll Called For card names the skill and DC and opens the Dice bag, and the d20 you throw is sent back to the GM to settle the outcome — same odds and manifest, your hand on the die.
- Story › Ambient on Enter (off by default) — ambient beats are the background life of a place: a snatch of overheard song, a shopkeeper muttering over his ledger, wind in the shutters. Normally each one rolls its own small chance every so often while you stand there, which means a player who keeps moving can walk through a whole village and never hear any of it. Switch this on and every room you walk into greets you with one, chosen at random from what is available and delivered at once rather than waited for. It draws from the room's own beats for the hour and from the people standing in it, so an NPC with something to say says it as you arrive instead of half a minute later. This is a setting for wanting more ambience than the world would otherwise give you — a beat written at 20% stops reading as 20% the moment you walk in, which is the trade, and why it is off unless you ask for it. It skips the chance roll and nothing else: a beat its author set to never still never fires, a remark aimed at someone who is not here still waits for them, and a fight or a turn in flight still holds it back.
- Voice Input › Silence window — a seconds stepper (0.3–5, default 1.2) for how long voice input waits after you stop speaking before it auto-submits the dictated move. Shorten it for snappier dictation, lengthen it if it cuts you off mid-thought.
The dialog also holds the generation-provider pickers, one per slot: Image (portraits & banners), Icon (inventory glyphs — and the reference-taking one the mesh icon needs), Map, Gallery, Weather, Sound, Video, 3D (item models), and Language (a world's alphabet sheet and starter dictionary — the only slot with two model rows, one per half). Each lists only the providers that can fill that slot, so they can differ freely — the icons can come from one service while the portraits come from another. Tracing a drawn or uploaded glyph sheet into vectors is separate again — it runs through Glyph AI, which is vault-hosted and has no picker of its own here.
Two more comfort controls live on the tab bar: ☰ opens a checklist to show or hide individual sidebar blocks, and ▶/◀ collapses or restores the whole sidebar. Every sidebar section (and the Stats/Statuses subsections) can be collapsed on its own. All of these preferences persist.

Images & installing
The art you see
Generated images come from pollinations.ai. Your character portrait is made on demand — ask the GM ("paint my portrait"), click ♻, or upload your own. Room banners are not auto-generated during play: if a room has no art for the current time of day you'll see a "🎨 Artwork Not Yet Generated" placeholder; where banners do exist they expand to full width (and can swap to an animated variant if the world provides one).
Victory banners
Win a fight and the story can paint the moment you won it — you, the creature you just felled, the room you fought in, and the blow you actually struck. The room comes in as you were seeing it — if the weather has been painted into the banner, the fight is painted in that weather too. It reads what you typed: "stomp on the rat" paints a boot, "stab it with my dagger" paints the dagger, and a spell brings its own look with it. You appear as your Equipment tab's full-body render if you have generated one, so the gear in the picture is the gear you were carrying; without one your face portrait stands in and your kit is described instead.
It needs the pictures to exist first: a monster with no portrait, or a room with no banner, means no banner for that fight. It also needs a Nano Banana key, because the banner is composed from those pictures and that is the provider that can be sent them — your DM supplies it, and nothing else about your world's art has to change. Whenever a banner can't be made you'll be told why in the story, right under the victory line. By default only a notable victory earns one — your DM can switch Settings › Imagery › All Victory Banners on to get one for every win, at one image generation apiece. The banner stays in the story where it was painted, and the picture is kept in Journal › Gallery — your last dozen victories, newest first, each with the Game Master's own account of the kill folded underneath. Past a dozen the oldest drops off and its line in the story says the picture has aged out.
Sleep pictures
Sleep a full night and the game paints the night itself: you, asleep, in the room you slept in. It is composed from two pictures you already have — your Equipment tab's full-body render (your face portrait if you have no render yet) and the room's own banner as it looks at that moment, weather and all. A night in the rain is painted in the rain.
What it paints depends on where you lay down. If the room has a bed, you are painted in that bed — the one already in the room's picture, not a new one. If it has nothing to sleep on, no bed is invented: you are shown on whatever the room actually offers, a bench, straw, a cloak on the flagstones. And if you camp under open sky, a campfire is added to the scene and you are laid down asleep beside it, with the firelight doing the lighting.
The picture is painted before the night passes, not after — you see where you lay down, and then the eight hours sweep by. In the story it is sized and framed like a room banner, and clicking it widens it to the full column exactly as a room banner does. Every one is also kept in Journal › Gallery, beside your victories and in the order they happened.
Only a full night counts — a sleep or a camp, not a short rest. It needs both pictures to exist: a room with no banner yet, or a character with no portrait, gets a line saying which one is missing rather than a picture of nobody. Like a victory banner it needs a Nano Banana key, since it composes from reference pictures, and it costs one image generation a night. Your DM can turn it off in Settings › Imagery › Sleep Pictures; it is on by default.
Install as an app
The game ships a web manifest and service worker, so on a secure origin you can install it as a standalone app.
The file:// caveat
file://) makes browsers treat it as an isolated origin, which can break save/resume and the DM's detached editor. If you hit trouble, serve the folder over a local web server — e.g. run python -m http.server 8000 in the folder and open http://localhost:8000/text_adventure.html. The title screen shows this advice automatically when it detects file://.Dungeon MasterBecoming a DM
There's no password — checking Dungeon Master on the title screen is the whole gate. That choice is remembered for next time and reveals the authoring surfaces: the Editor and Logs tabs, the Compendium's Reveal all toggle and per-type art/prompt controls, the full Quests view, and assorted DM-only fields.
The Editor
The DM Editor tab holds fifteen subtabs. Most of them present the world as read-only cards; you make content changes by describing them in a "Tell the GM to create or change…" box and pressing Apply, which hands the request to the AI. The exceptions are Classes (with editable stat fields), skill and spell descriptions (editable in place), and the per-card portrait/prompt controls, which you edit directly.
| # | Subtab | What it's for |
|---|---|---|
| 1 | Map | Three inner tabs. World is the fully-revealed, zoomable map with drill-down; click rooms/beings for read-only detail. Regions collects every region’s map image on one screen — a card each with its map, its own map prompt and Generate/Upload, under the one shared Style — so the whole atlas can be reviewed without selecting each region in turn. Background is the world map: a single 2D render of the world’s exterior areas. Inspection, navigation and map art. |
| 2 | Quests | The full quest timeline (locked + unlocked), with a confirmation step for edits that touch already-seen beats. |
| 3 | NPCs | A card per non-hostile being; filter, collapse/expand, portrait & prompt controls, GM edit box. |
| 4 | Monsters | Same, for hostile beings. |
| 5 | Rooms | Room cards (descriptions, exits, banners, contents) + GM edit box, with a Region select and a name filter (see Editing rooms). |
| 6 | Classes | Character classes with editable base-stat inputs, plus a GM edit box. Each class also carries its inherent (signature) skills — the skills a character of that class begins knowing; ask the GM to add or change them here ("give the Warrior an inherent Shield Wall skill"). When the GM authors a brand-new class it assigns 1–3 fitting class skills, at least one inherent, scaled to how much the class leans on skills vs gear — and you can revise its choices. Each class card also carries a ✦ Progression button opening its level-milestone timeline (see Charting a class progression). Each card also carries a portrait with the usual Generate / ⬆ Upload / ♻ Regenerate controls and a Prompts › Portrait box with its ✨ writer — blank falls back to a prompt derived from the class’s description and starting loadout, and a class the GM creates arrives with one written and painted. |
| 7 | Items | Item catalog cards, image & prompt controls, GM edit box. Excludes magic- and spellbook-type items (those live on the Magic tab). Beside the name box a funnel button filters by the card's own fields — type, equipment slot, and whether a portrait or icon exists — as checkbox groups; each group's title is itself a tick-all/none box, so isolating a single type is none then the one you want. Only groups that can tell two things apart are offered. A badge on the funnel counts what is switched off, and Show all clears it. |
| 8 | Magic | Five inner subtabs — Items (magical items, with their special naming), Spells (the world grimoire: cards with school/level/MP, portrait & prompt, editable description), Spellbooks (the tomes that teach spells — an Items-style catalog scoped to spellbook-type items), Schools (a card per school of magic and, optionally, what attribute it casts off), and Concoctions (earth-magic recipes and their reagents). See Editing magic & skills. |
| 9 | Skills | A card per world skill — governing stat, class gate, default DC, and an editable description — with filter, collapse/expand, import/export, and a GM edit box. See Editing magic & skills. |
| 10 | Environment | Three inner subtabs — Flora (plant-type items) and Fauna (animal-type items), each a catalog view like Items matching the Compendium's Flora and Fauna tabs, and Ailments (the world's sicknesses, illnesses and diseases — see Ailments). |
| 11 | Art | A dashboard of everything still missing portrait art, with one-click batch generation. See The Art tab. |
| 12 | Encounters | Wandering/ambient encounter definitions, portrait & prompt, GM edit box. |
| 13 | Factions | A card per faction — description, hidden reveal condition, emblem & prompt, lore, its Reputation toward the player, its Aggression, a Discovered checkbox and an Add to Player / Remove button — with filter, collapse/expand, and a GM edit box. See Editing factions. |
| 14 | Races | A card per character race, with filter and a GM edit box. |
| 15 | World | Several bottom inner tabs, among them Profile (the world's framing — Name, Theme & Premise, Tone, Scope, Art Style, World Rules, Prologue — pre-filled from the world; everything read-only except World Rules and Prologue, which are editable here), Chunks (paste-and-merge world chunks, generate regions with the GM, Export the world), Geography (two inner tabs of its own: Regions — the region map, plus a Region Builder for authoring one region at a time, see below — and Districts, the named quarters a region’s rooms are filed under, each carrying the painted map and the per-room markers a player gets about it by; the DM’s Guide has the authoring detail), Calendar (the months the world turns through, its weekdays and the current year — renaming any of them renames what the header clock and the month view show), Currency (a world's own coinage — denominations, a worth against the base copper unit, and whether each is exchangeable for it; see Editing items), Culture (Languages, Folklore, History, Religions, Heraldry, plus the still-disabled Castes — see Culture), and Evaluate (compile the world and report what is provably wrong with it, with a remedy per finding — see Evaluate & Fix World). |
A DM-only Logs tab sits outside the editor and records the engine's activity, including every GM hand-off — invaluable when authoring.


Editing beings (NPCs & Monsters)
NPCs and monsters share one card design. What you edit directly is their art; what you shape through the GM is their character.
Portraits — three image fields
- compendiumImage — the canonical portrait; the Generate, ⬆ Upload, and ♻ Regenerate buttons all write it.
- portraitPrompt — the text-to-image prompt, in a collapsible Portrait Prompt section with a ✨ button that asks the GM to write one.
- conversationImages — optional per-location close-ups; the game prefers the one matching where the NPC is, then falls back to the canonical portrait.
Character, routines & location
The card also shows vitals, attributes (including CON, the constitution stat every being now carries), profile, and a Routine (prose plus a per-time-of-day table of where the being is and what it's doing). Current/Home locations are clickable, opening the room popup. If the being belongs to any factions, their names appear as links (both on the card and in the being's detail popup) that open the faction popup. When you ask the GM to create a being and the world has factions, it is now asked to consider putting them in one where their work or loyalties plainly fit — most beings still belong to none, and it is told so.
Factions — the picker
The Factions row on the card is where you decide what a being belongs to, and it is a picker rather than a sentence for the GM: a select listing every faction the World › Factions tab defines that this being is not already in, and a + Add beside it. Each membership it already has gets a row of its own — the faction's name (a link into its popup), the role held in it, the standing within it, and a ✕ that ends the membership. Join through the picker and you get the ordinary answer to both: member, and liked. Clear either box and it goes back to that default rather than sitting empty. Nothing stops you asking the GM instead ("put the gate guards in the Ember Watch") — the edit box still takes it, and still merges rather than replaces — but a membership is one id off a list the world has already written down, and the picker is the list.
Folklore — the picker
An NPC card (monsters carry none) also gets a Folklore row — chips for the tales this person can tell, picked from a roster grouped by kind, the same picker shape as Factions above. It's the field conversation reads from: the GM's dossier is told, per room, only the tales tellable by whoever's actually standing there. See Culture.
History — the picker
Beneath Folklore sits a matching History row: a picker of this world's recorded events, in chronicle order with each one's date beside its title, that says which of them this person can speak to. Pairing an event with a being is standing, not permission — anyone in the realm may know a siege happened, but the people paired with it are the ones who were there, so the old soldier tells you about the ninth day and the miller tells you what it did to the price of bread. Leave a being unpaired and they still know of the thing the way everyone does; the GM is told not to invent an account for them. When someone paired with an event actually recounts it, the engine files it into the player's own Compendium › History and says so in a clickable line — no XP, no condition, since being told a fact anyone in the realm could tell you is not a reward. See Culture › History.
classes (a being's kind labels, e.g. undead, humanoid) and lore (its private history) — are real and consequential (see the GM section) but are not editable directly on the card. Change them by asking the GM ("make the Bog Wraith incorporeal — classes undead, spirit"). A being's lore — plus its unlock condition and the "unlocked for the player" toggle — can also be authored by hand (or with a GM Generate button) from the Compendium's People and Monsters tabs, exactly like item lore.
Editing items
An item carries a type (its one mechanical slot: weapon/armor/consumable/key/misc, plus book and magic), description, value (in copper), weight (which counts toward the player's carry weight; defaults to 1), quantity, icon, a close-up image with its own Portrait Prompt (Generate/Upload/Regenerate + ✨), a condition label, a classes taxonomy, and private lore. As with beings, classes and lore are shaped through the GM edit box rather than on the card.
magic item is catalogued and shown under the Compendium's and Editor's Magic surfaces rather than plain Items (magical items usually carry unique names — Firebrand, Ring of Invisibility — rather than generic ones). A book item can carry either or both of two fields: a teaches naming one skill id or a list of them — reading the book studies them one lesson at a time, each its own successful, class-eligible read — and chapters, what it says — each a title, a page of text (up to 4,000 characters) and optionally an illustrated plate beside them, printed into the story on every read. A book with only a teaches is spent once its last lesson is learned; one that also (or only) says something is never consumed, since re-reading it as a reference is the point. Chapters are authored on the item card, one dialog per chapter; teaches and the class gate go through the GM edit box. (A book authored before chapters carries a single passage instead, and still reads exactly as it did.)language (pointing at an entry in World › Culture › Languages) and it is no longer always plain English to the reader — a fact about the object, so it applies to a book's passage, a spellbook, or a scroll alike, not to books alone: a world's language carries a script and a lexicon, either or both, and a reader who hasn't learned them sees glyphs where the alphabet is unknown, and a pronounceable-but-meaningless placeholder for any word the lexicon has but they haven't. The four lessons that teach the tongue itself — teachesScript (the alphabet, one flag), teachesWords (a list, granted only for words the lexicon actually defines), bilingual (a Rosetta stone, its own passage carrying the pairing so every lexicon word in it is learned at once), and teachesLanguage (a whole grammar, the largest and rarest of the four, granting outright fluency — every word the tongue's record ever pairs, now and later, in place of the other three) — stay with whatever is actually read, a book or a scroll: they are facts about reading a thing rather than about the thing, and a spellbook grants none of them, being inscribed rather than read. Each deterministic — no GM call, no roll — and a bilingual item's carving stays fixed in the world's letters however fluent the reader becomes. The Languages tab's own alphabet editor (glyph grid, sheet upload, sample sentence) and dictionary are real and DM-authored — the grid can also be traced from a drawn or uploaded sheet, letter by letter, through Glyph AI, and a Language AI provider can author a whole sheet and a starter dictionary from a prompt. Reading a page in an unlearned tongue also offers Translate, once you've learned the built-in Foreign Languages skill (INT, open to any class): one attempt per book per character level, easier the more of that tongue you already know, showing a one-time reading beside the original — it teaches you nothing, so the same page is no easier to read next time. A language invented by the Game Master on request is not yet built. A language can also be a dialect of another: give it a parent on the Languages tab and it inherits that tongue's script and lexicon wholesale, letting you write only the words it says differently as overrides. A reader of the parent tongue is not shut out of a dialect's page — script and any un-overridden word resolve exactly as they would in the parent, so a fluent reader of the capital's tongue reads the valley's at a stumble rather than not at all, tripping only on the words the dialect overrides. Chains are refused at one level: a dialect cannot itself have a dialect. See Dialects & Languages.lore is its hidden history, and it stays hidden from the player until unlocked. Two companion fields govern that: loreKey — a short note on how the player earns it (e.g. "close examination of the maker's mark", "researched in the temple archives") — and loreUnlocked, the flag the engine flips once the player satisfies the key. During play the GM decides, turn by turn, whether the player's action meets the key and unlocks the lore. You can also manage all three directly from the Compendium: on any Items/Plants/Animals/Magic entry, a DM-only Lore section lets you write the lore, set its unlock condition, and toggle "Unlocked for the player" by hand. A DM always sees an item's lore (flagged 🔒 locked while the player hasn't earned it); the player only ever sees it once unlocked. Edits apply to the item type and every copy of it in the world. The very same Lore section now appears on People, Monsters, and Places entries too — see the Compendium as a DM.value is always a copper integer — the base unit every currency prices against. A world can mint currencies of its own on the World › Currency tab (denominations, a worth against the base coin, and whether each is exchangeable for it), and a being then names which currencies it will take in its acceptedCurrencies field, in the order it prefers to be paid — edited through the GM box, the same way as classes and lore. Offer a being a currency it doesn't take and the player is refused and told why; sell to it and it pays out in its own currency, not necessarily coin.3D models — and the icon they are made from
Every item card carries a 3D column beside its picture: a still of the item's model, a Generate / Re-Generate button, and an upload/download pair for bringing in a .glb or .gltf of your own. Generate turns the item into a textured mesh through Settings › 3D AI (Tripo, defaulting to its v3.1 model — the version row beside the provider picks another, and a world that already chose one keeps it), which takes minutes and reports its progress as it works; the still is rendered once and stored beside the model so a card costs nothing to draw, and clicking it opens the real thing in a lightbox you can spin, zoom and pan. An item's own popup carries the same thing in miniature, in its Model field beside Icon: while the item has no model the field shows a ✨ — the same button the Icon field beside it uses, doing the same job — and pressing it opens the lightbox and meshes the item there, so the minutes it takes are visible rather than silent. Once a model exists that button is gone and the thumbnail itself is the way in: click the little still (it turns to a pointer under the cursor) to open the same viewer. If the still failed to render you get a ◈ in its place, and that is clickable too — a model whose picture did not come out is exactly the one worth looking at. The Icon field beside it follows the same rule for the same reason: a ✨ while the item has no icon, and once it has one that button is gone. Click the icon to enlarge it and the bigger view carries a Regenerate pill that repaints it in place, without closing — which is where a second attempt belongs, since the moment you decide an icon is wrong is the moment you are looking at it big rather than at a 32px chip. Spellbooks have no 3D column — a book is not a thing to mesh.
The lightbox's own controls sit bottom-right: + / − / ↻ to zoom and reset the view, then two that act on the item itself. Regenerate paints a fresh mesh icon and meshes it again, replacing what you are looking at — the box drops back to its progress display while it works rather than leaving the old model on screen, since a superseded model sitting under a progress bar looks exactly like the new one. Generate from Description takes the other route entirely: instead of meshing a picture, it sends the item's written description to the 3D service as text. What goes over is only the subject — no styling, no background instruction, no negative prompting, none of the scaffolding the mesh icon carries — and the button's tooltip shows you the exact words first. An authored image prompt is mostly not subject: a real one reads "Oil painting, traditional fine art style with visible brushwork… Subject: a small stoppered glass vial of deep crimson liquid… Moody atmospheric lighting… no text or watermarks." Sent whole to a 3D service, which reads its input as a description of an object, "visible brushwork and rich impasto texture" is a request to model some brushwork — so the Subject clause is lifted out and the rest is left behind. Where a prompt announces no subject that way, the item's own description is used instead, behind its name: a prompt that cannot be trusted to be subject-only is not sent at all. The two routes fail differently, which is why both are offered: meshing a picture inherits whatever that picture got wrong, while meshing a description inherits nothing and invents the rest. Neither is reliably better, so when a model comes back wrong the quickest thing to learn is whether the other route does better on that item. Icon shows the mesh icon this model was generated from, over the model; press it again to put it away. All three appear only when the box was opened from an item — it will open any model file the app has to hand, and there is nothing to regenerate for one of those.
What gets meshed is not the item's inventory icon. It is a second icon, painted for this and nothing else, from the item's own picture as a design and colour reference. You never see it: it is stored on the item, reused if you mesh again, and repainted when you press Re-Generate.
Minor (incidental) items
"minor": true is a fully interactable object — the player can examine, take, and use it — but it is deliberately kept out of the item catalog and the Compendium. It's meant for the mundane props a room logically contains (utensils, plates, a stray tool, a small puzzle bit) that shouldn't clutter the player's collection. Because they aren't catalogued, minor items don't appear as cards in the Items editor; you author them inline in a room. The GM is instructed to reach for minor items for one-off flavor and reserve catalog items for things that recur or matter.{ "name": "Chipped Clay Plate", "type": "misc",
"description": "A cracked dinner plate, long unwashed.",
"minor": true }

minor items are authored inline in a room and don't appear here.Editing magic & skills
Both the world's spells and its skills are DM-editable catalogs, edited on their own tabs the same way the other catalogs are — filter, collapse/expand-all, import/export, and a natural-language GM edit box — with the card description editable directly in place.
Magic
The Magic tab has five inner subtabs. Items is the magical-item catalog (the magic-type items excluded from the plain Items tab); its GM box is primed to give magical items the unique, evocative names they warrant. Spellbooks behaves like the Items tab (filter, Import/Export, Collapse/Expand, GM box) but is scoped to spellbook-type items — the tomes that teach spells (see Spellbook & magic). Its card is laid out for a tome: the portrait and Details/Classes share the top row, with the Description and Detailed Description full-width below, a collapsible Teaches section (a chip per spell it inscribes — click one to open that spell's detail popup), then the Portrait and Lore sections. Its GM box authors tomes with a teaches spell id (or list) and an evocative title. Spells is the world grimoire — a card per spell with its school, level, and MP cost, an editable description, a portrait image with its own prompt (a ✨ button asks the GM to write a prompt from the spell's name and description), and a collapsible Spellbooks section (the tomes that teach the spell, plus a Generate button to author one) beneath the Portrait. Anything you author here is what players see and can learn on the Spellbook. (For the full spell model — and where it could grow — see the design doc under Designs/spells-and-scrolls.html.)
Schools
Schools is one card per school the world's own spells and craft skills actually declare — derived from live data, so a school appears without anyone maintaining a list. Each carries a name, a type of magic (divine, arcane, earthen, or whatever this world calls its kinds), an origin, a description, and a governing attribute that, once set, overrides the engine's own school→attribute table for every spell in that school. Left blank, nothing changes. There's no GM box here yet — cards are hand-edited.
Concoctions & Reagents
Concoctions sits beside Spells and Schools as a peer, not a filter over them — earth magic, compounded from ingredients by ritual rather than cast from a loadout. Three tiers: an ingredient is a real item the player finds or buys; a reagent is a transformation of one (a record, not an item, with prepared measures counted on the player); a concoction is brewed from reagents and is an item again. The tab's two panels: Catalog, one card per recipe (world.recipes) showing the governing skill and DC, the hours a working takes, a reagents map of reagent → count, the batch one working yields, the yields item, and a Preparation box for the rite itself; and Reagents, one card per reagent record, each carrying an origin (where in this world it is got) and its own preparation (how the raw ingredient is readied). Because a concoction is the item it makes, + Add is disabled here — mint the item on the Items tab first, then ask the GM box to recipe it. "Recipe a Knitbone Salve from comfrey root and beeswax, worked by poultice" is a typical request.
Playable end to end. A player prepares an ingredient into a reagent (Prepare button, or prepare <reagent> — pure labour, no roll, but it costs the hours and the ingredients) and brews a concoction from reagents on hand (Brew button, or brew <concoction>, adding a number to scale up) — a d20 + Concoction proficiency + CON check against the recipe's DC, rolled after the reagents and hours are already spent, so a failure still costs them. The margin sets a grade — Workable, Sound, or Potent — carried in the brewed item's own name and description. A natural 1 spoils the working and a natural 20 lands it at the best grade; missing the DC by one or two gives a thin batch (half the doses, floored, never below one, at the plain grade), and three or more spoils it. The recipe's hours fall with skill: proficiency (skill level + 1, capped at 5) takes about a tenth off per step above the first, quantised to the quarter hour — never keyed to the grade, since the clock advances before the roll is known. The GM's dossier carries the craft and is told never to move a measure, decide an outcome, or hand over a brew on its own.
Skills
The Skills tab is a card per world skill: its icon and name, a tag for the governing attribute and one for its class gate (anyone, or the named classes), an editable description, and read-only details (governing stat, gate, default DC, id). Describe changes in the GM box — "add a Pickpocketing skill for Rogues governed by DEX", "make Herbalism open to anyone" — and Apply. A skill's classes list is the single source of truth for gating: empty means anyone may learn it; naming classes restricts it. To have players actually learn a skill, pair it with a book that teaches it. Which skills a class begins with (its inherent/signature skills) is set on the Classes tab, not here — this tab defines the skills themselves; the Classes tab decides which class starts with which. Either way, you are the final arbiter: the GM assigns sensible skills to classes when it authors a world, and you can add, change, or remove them before players engage. (For the full model, see the design doc under Designs/character-skills.html.)
Charting a class progression
Every class card on the Classes tab carries a ✦ Progression button, with a count of the milestones already charted. It opens that class's timeline — the level-by-level path its players will read on their Progression subtab. The DM view shows every beat, named and unnamed, revealed and hidden, with a hidden tag on any the player can't see yet.
Two controls sit beneath it. Generate asks the GM to draft a complete timeline from scratch; if one already exists it confirms first, because generating replaces the current chart wholesale. The ask bar below applies a natural-language revision — "add a level-6 milestone that grants +1 STR and a shield skill", "reveal the level-8 beat", "drop the nickname from the level-4 beat" — and the GM returns the complete updated timeline, so edits and generation land the same way. Neither is a story turn; both are authoring hand-offs, logged like any other.
The GM is held to a specific shape. Beats must be sparse and front-loaded — roughly four to eight across twenty levels, clustered early and spread out later, never one per level. Beats start at level 2 (level 1 is character creation). Nicknames are optional and reserved for the meatier periodic milestones, since a name becomes both the beat's header and an honorific the player wears; naming every level cheapens it, so unnamed in-between beats carry a smaller reward and no title. Rewards must be gameplay-rooted — a class skill, an open skill, an attribute bump, extra stat points, or a mechanical boon — never pure flavor.
revealed flag decides whether players see it before reaching its level; reaching it reveals it permanently regardless. Set it through the ask bar. Leaving later beats hidden is the default and keeps the path a surprise — flip one open when you want to dangle what's coming.You are the final arbiter here as everywhere: add, retune, reorder, hide, or reveal any beat before players engage. (For the full model, see the design doc under Designs/player-progression.html.)
Editing rooms
Room cards surface everything the engine knows: region tags, the base description plus a Descriptions by time of day table, Exits and hidden exits (direction → destination + description), floor items and resident beings, containment (which building a room is part of, and any interiors it holds), and a Banner section reporting how many of the six time-of-day art slots are filled, alongside the banner prompt.
Room content is edited via the GM box. Room banner art is generated from the Compendium's Places subtab — and that same Places subtab is where a room's own lore (its hidden history, its unlock condition, and the unlocked toggle) is authored, just like item and being lore.
Doors on exits
Any exit can carry a door. Click + door beside it — or its state chip, if one already exists — to open the Door Editor: name, kind (Door or Barrier; the same mechanism, only the flavor and art shape differ), description, state (open/closed/locked), how it opens (none/key/magic item/spell/narrated act/sealed), whether it's pickable and at what DC, hidden + hides-the-exit-too + how it's found, its own art (Generate/Upload), and a "same door on both sides" toggle that mirrors it onto the room at the far end.
moveToRoom while it's shut or locked — the GM narrating someone through it does not override that. See Doors & barriers and the openDoor/closeDoor/lockDoor/unlockDoor/revealDoor directives in Appendix A.
Editing factions
The Factions subtab is where you author the world's organizations. Like the other catalog tabs it carries a Filter by name box and collapse/expand-all controls, and a bottom "Tell the GM to create or change factions" box drives most edits — factions live in the world as an id-keyed map, so the GM creates, edits, and removes them by id, strictly scoped (it won't touch rooms, beings, items, or quests from this box).
Each faction card carries:
- Description & Detailed Description — click-to-edit prose with a ✨ GM-generate button, exactly like a being or item.
- Reputation — how the faction regards the player, on the same −100…+100 scale and wearing the same coloured badge a person's reputation does, because it is the same question asked of an organization. Click the badge to edit it (DMs only; everyone else sees the standing and cannot change it). It starts at Neutral 0 — a faction that has not met the player has no opinion of them yet.
- Aggression — a pick list saying how readily the faction starts a fight: Evasive, Passive, Defensive, Aggressive or Hostile — the same words a being's aggression uses, and the same list, because it is the same question asked of an organization. Leaving it unstated is a real answer and the default — it is not the same as Passive, and nothing will read it as such. DMs only, like Reputation above it.
- Ranks — a collapsible section, like Prompts and Lore above it, holding the order's rank ladder: each rung's standing threshold, the rank it confers, its boons, and a hidden tag on any the order does not name to its members, plus a trial tag and the condition itself on any rung that asks a ceremony as well as a price. A beat tag marks the other kind of gate — a rung held until a named quest beat unlocks — with the quest and beat ids and where they stand: Awaiting beat, Beat done, Beat foreclosed (that road is shut, so the rank can never be reached), or Beat MISSING. The last one matters: a rung pointing at a quest you have since deleted is conferred as though it had no requirement at all, because a rank sealed for ever with nothing saying why would be worse — so the gate you wrote is simply not there, and this card and the world evaluator are where you find out. Deleting a quest a ladder needs warns you first. A rung with an unstood trial blocks the ladder — nothing at or above it is conferred until the Game Master judges it stood — and the note at the top of the section says so when one is pending, which is the answer to why has nothing happened at +70. The player never sees the condition, only that there is one. Ask for trials sparingly and high: one on a first rung makes an order impossible to get into, and one on every rung makes the ladder a quest chain. This is the authoring view, so unlike the member's own sheet it shows every rung — you cannot edit what you cannot see. A line at the top says where the current player actually stands: the rank they hold, or that they belong but have not reached the first rung, or that they do not belong at all and what joining would be worth. Chart or change a ladder through the GM request box at the foot of the tab (or the one under Character › Factions) — there is no by-hand editor for a rung.
- Quests — a collapsible section listing the quest threads that belong to this order, each as a chip carrying its name and how many of its beats are done. Click one to open it on the Quests tab; the colour says whether the player could find it at all right now, since a bound thread is invisible to the Game Master — and unlockable by nobody — until they join. Remove beside a chip unbinds it: the thread is kept and only stops being this order’s, which also means it stops being members-only and becomes discoverable by anyone. Delete a thread outright from the Quests tab, where the confirmation that guards already-discovered beats lives. A rank gated on one of its beats keeps working either way. The bar at the foot of the tab writes them: ask for an order’s climb — the ranks and the work that earns each — and one answer can carry the threads and the ladder that gates on them together.
- Duties — a collapsible section holding the small, repeating work this order asks of its people: a watch stood, a package carried, a tally fetched back. A duty is not a quest and is not shaped like one. A quest is large, dangerous, one-time and written end to end as a chain of beats; a duty authors only the frame — what is asked, where and when, and what one turn of it pays — and the Game Master invents what actually happens each time it comes round. The same night watch is wolves off the moor once and a cold six hours the next. Each row shows what is asked, where it applies, and its payout in standing and XP; there is no coin, deliberately, because coin is the one reward that accumulates without limit and a repeating source of it would make a world’s wealth unbounded — give a wage as an item instead. Remove deletes a duty outright, unlike the Quests section’s Remove, because a duty is a frame with no history behind it: nothing the player carries is ever “a duty”, only an instance of one, and instances live on their own sheet. Ask the bar at the foot of the tab for them — “give the Saltguard two or three duties its people would be set”. An order the player belongs to carries its duties to the Game Master every turn, so it can set one when the fiction offers an opening — and when it does, the frame is copied onto the player’s sheet as a task in Journal › Tasks, with that occasion’s own steps as its milestones. The payout travels with the copy, so removing a duty here never strands one somebody is halfway through. The standing stops where your ladder does — a member raised as far as an order will raise them goes on being asked and is simply thought no better of for it — while an order with no ladder at all keeps paying, having never claimed that bound.
- Rivals — a
rivalslist of other faction ids this one is at odds with, set through the GM box (“make the Ashen Order and the Salt Cartel rivals”) rather than on a card control of its own — a wall-watch and the smugglers it exists to stop, two houses contesting the same office. Naming it in either direction is enough: the engine reads the union of what a faction names and everyone who names it back, so a half-authored feud never leaves one side paying a cost the other does not. Once set, rising with an order costs the player half as much with each of its rivals the moment the gain lands, and only rises do — a fall credits nothing, so the mechanic cannot be farmed by wronging one order to help its enemy. Most worlds want none of this; reach for it only where two of your factions have a real, nameable reason to be enemies. See Your factions & their ranks for how it plays. - Values — a collapsible, DM-only section holding the two GM-eyes-only lines that say what raises this order’s regard and what lowers it. They are what the Game Master prices a deed against: without them it falls back to a general reputation scale written once for every order in every world, so the same act is worth a different amount in two different sessions and an order’s standing wanders. Write them as deeds, not virtues — “anything that keeps the sea-wall whole, and anyone who answers a flood-bell” is useful; “honour and loyalty” is not. One ✨ writes both halves in a single call, deliberately: they are two halves of one judgement about what the order is for, and generating them separately lets a model please and offend an order with the same deed. Leave them blank and nothing breaks — the general bands apply, exactly as they did before the field existed. The player never sees them, from any surface: a visible list of what an order rewards is a grind sheet, and it answers in a panel the question the climb is supposed to pose in play. New worlds are generated with both filled in.
- Reveal — a small text box holding the faction's hidden reveal condition: how the player is meant to discover it in play. It is GM-only and never shown to the player; a ✨ button asks the GM to write one. Every faction should have one so discovery has a trigger (see Factions).
- Emblem & Portrait Prompt — Generate / ⬆ Upload / ♻ Regenerate for the faction's image, plus a collapsible Portrait prompt with its own ✨.
- Lore — the same DM-only Lore section found on beings, items, and places (hidden history, unlock condition, and the "Unlocked for the player" toggle).
- Discovered — a checkbox at the left of the card's foot toolbar saying whether the player has discovered this faction. Tick it and the encounter is written into their Journal › Factions timeline exactly as an earned reveal would be, so the faction can be named to them from that moment; clear it and the entry comes back out. It exists because discovery is otherwise earned and nothing else can grant it: a world opened mid-story, or a faction whose every member stands somewhere the party will never go, has no path to being discovered at all (see Factions).
- Add to Player — a gold button at the right of the same row that enrolls the current player in this faction; the membership appears immediately as a chip on the Character sheet. Once they belong, the button becomes Remove and takes them back out again. Re-adding never duplicates a membership.
Culture
World › Culture is six further inner tabs — Languages (see A passage can be written in a world's own tongue), Folklore, History, Religions, Castes, and Heraldry. Another, Beliefs, was folded into Folklore as a fourth kind of tale rather than built on its own. Five carry real data; Castes alone remains furniture — no data model exists for it yet, and every write control on it is disabled with its reason in the tooltip. Heraldry is the one whose records are used somewhere else: a device carries a kind — tapestry, flag, coat of arms or symbol — and an armour item's card carries a select listing this world's coats of arms, so arms devised here are worn there.
Folklore
A tale a world's people tell — a myth, a belief, a fable, or a legend, picked on the + New menu before the dialog opens. It's the first Culture system a player actually meets: unlocking a tale (through conversation, the same way lore is earned) copies it into the player's own Compendium › Lore, with the tale's own picture rather than a borrowed one. There's no + Add yet — author a new tale through the GM box ("add a legend about the drowned bell under the millpond") or by hand. Every turn, the GM is told only the tales tellable by whoever is standing in the current room — not the whole world's, the way Lore Hooks does — because a tale is earned from its teller, and a teller who isn't present is telling nothing.
History — what did happen
It sits next to Folklore because the two are a pair, and the pairing is the thing most easily got wrong. A tale is hearsay: what a people say happened, handed down and shaped in the telling, true or not. A historical event is the factual record — wars, famines, sieges, plagues, treaties, the year the river froze. The test is one sentence: could a clerk have written it down at the time, and would an ordinary person know it the way anyone knows their own century? A prophecy, a curse or a founding myth fails that test and belongs one tab to the left.
Each entry carries a date, a title, the text of what happened, and optionally people — and most name nobody at all, because a famine has no cast. Where one is named they are stored as ids into your own roster of beings, so renaming somebody does not silently unsign a treaty, and an id that stops resolving is kept and shown as a dashed chip rather than pruned. The people you can attach are drawn from the whole catalogue rather than from who is currently standing somewhere, because a historical figure is one precisely because they are not standing in front of you.
Dates use your world's own calendar — its month names and its word for a year — so renaming a month on the Calendar tab moves every entry that names it. Precision is deliberately partial: the year is required and is what puts the event on the timeline, while the month and the day are each optional and usually absent. That is how history is actually known, and an event forced to carry a day it does not have lies with more confidence than a vague one.
The tab draws a timeline, oldest first, the same shape the Journal uses; within a year the precisely-dated entries come first and “sometime that year” trails them. Click any entry to open it and edit it in place. Two buttons add one and they are different acts: + Add hands the job to the Game Master — it is given your world's canon, its calendar and the events already recorded, so what comes back fits; press it with the request box empty and it records something your world implies but has never had written down. + New opens a dialog for when you already know what happened and want to type it.
Religions
A faith: name, deity, description, and a worship field — deliberately not temple, since where a faith is kept isn't always a building. races and regions are stored as ids into the rosters the world already has, and an id that stops resolving is kept and shown as missing rather than pruned. Its insignia is painted from worship. + New opens a dialog and refuses a nameless faith; the GM box ("found a new religion of the sea, worshipped by the Fisherfolk") has its own + Add, and — uniquely among Culture's rosters — refuses an invented reference: asked who keeps a faith, a model will happily answer with a people the world doesn't have, so the request carries the real ids in full and drops anything else, naming the drop back to you. Religions is also a group on both halves of the Art tab.
Heraldry
The devices a house, an order, a realm or a faith is known by, and the one Culture record read on another tab entirely. A device carries a title, a kind — tapestry, flag, coat of arms, or symbol, which is what it is borne on and the most load-bearing field on the card — an optional faction it belongs to, a description in enough detail to paint, and a picture with its prompt. + New refuses a device with no kind, where the Religions dialog beside it refuses only a missing name — filing a woven hanging as a coat of arms would be the engine deciding what the thing is. An armour item's card on the Items tab carries a Heraldry select, filtered to this world's coats of arms and nothing else, so a device devised here is worn there; removing a device clears the armour that bore it, the one place this app breaks its own keep-a-dangling-reference habit on purpose, and the confirmation names what it is about to clear. The GM box ("a drowned-oak coat of arms for the Fenwardens, and a flag to fly over their tower") has its own + Add, refuses an invented faction the same way Religions does, and refuses to guess a kind — asked for a "pennant" it creates the device without one and tells you, rather than filing it as a flag. Heraldry is also a group on both halves of the Art tab.
The two halves of an effect
Wherever the editor lets you author an effect — on an item, on an ailment — the same dialog opens, and it asks for a condition in two halves.
The first is what the engine can do: a Status name it tracks by, Stat effects in the six attributes, a duration, a grade. The second is the Effect line: what having it actually feels like, in plain words — "aches & pains and sleeplessness", "a ringing in the ears and a taste of iron". Six attributes cannot say most of what a condition is, and this is where the rest of it goes.
Cover two things. What it stops or forces — cannot rise before noon, vomits after eating, hands too unsteady for fine work. And what is visible to anyone nearby — grey and sweating, yellow about the eyes, a rattling breath. That second half is not decoration. It is what lets an innkeeper refuse a room, a physician recognise the disease across a street, or a companion ask what is wrong; the Game Master is told to let them react to it, and without a visible sign written down there is nothing for anyone to notice.
Both in one sentence, and the shape of that sentence matters more than it looks. It is a note the GM narrates from, not narration — so no storytelling, and no pronouns and no name. Write bare: "walks slow and heel-first, cannot run, stinks of rot". Not "Every step comes down wrong on sores that split and weep, so he walks slow…" — that is a scene, and it also decides the character is a he, which is not the field's business. The box holds 160 characters and cuts a longer line off at the last whole word.
It is written once, when the effect is authored, and does not change afterwards. In play the GM relays it and narrates it; it never rewrites it, and a condition the GM invents from what just happened carries no such line. That is also why it is worth writing well — you are writing the symptom, not the mechanic. "A dry cough that will not settle, and hands that shake by evening" tells the GM what to do with it; "-2 DEX" does not, and the stat field already said that.
Ailments
Editor › Environment › Ailments is where a world's sicknesses, illnesses and diseases are authored — marsh fever, the grey rot, miner's lung. Like the other catalog tabs it carries a Filter by name box, + Add / Export / Import, collapse/expand-all, and a bottom "Tell the GM to create or change ailments" box that drives most authoring.
Ailments are their own catalog rather than a thirteenth item type, and the difference is not cosmetic: an item can be carried, dropped, sold, weighed, equipped and put in a chest, and every one of those would be offered to a disease unconditionally. Flora are items because a plant is a thing you pick up; an ailment is a thing that happens to you.
Each ailment card carries:
- Description & Detailed Description — click-to-edit prose with a ✨ GM-generate button, exactly like an item or a faction. The detailed one is the closer read a player earns by examining or by skill.
- Contracted By — the field the tab turns on: how or when a character catches it, in plain words. "Staying out in the cold more than three days running", "drinking the swamp water", "breathing the fumes of a burning corpse-flower". It is prose rather than a rule, because the Game Master is the only thing that can judge whether a player has done it — and a machine-checkable version of that sentence would be a project of its own.
- Effects — the toll, using the same triggered-status entries an item carries and the same effect editor. The trigger for a sickness is constant: not a moment an object produces but a thing that is simply true of the sufferer, from the day they catch it until it is cured. It takes no duration, and the chip reads until removed.
- Each effect also carries an Effect line — see The two halves of an effect. For an ailment this is usually the important half: most of what being ill is cannot be said in six attributes, and a stat penalty with no words behind it is a sickness the player never feels.
- Portrait & prompt — Generate / ⬆ Upload / ♻ Regenerate, plus a collapsible Portrait prompt with its own ✨ and the shared Override World Art Style toggle. The picture is of the affliction's visible signs, not of a sufferer's face — what a card wants is something recognisable at thumbnail size.
- Lore — the same DM-only Lore section found on beings, items, places and factions: hidden history, unlock condition, XP, and the "Unlocked for the player" toggle. The GM prices an ailment's lore when it writes one, on the world's shared XP scale — a sickness's secret is weighed against a place's or a being's of the same importance, not against the other ailments. Leave the XP box empty and the engine pays a flat 12, which is the same figure for a rumour as for the truth behind a plague.
- Delete — removes the ailment from the world, after a confirm.
A borne ailment isn't diagnosed by default — the player's card shows only what they can feel. Diagnosis places it: a Field Medicine check against a difficulty that falls the worse the sickness shows (severe ones are louder, not harder to place), or the GM directly recording that a physician, herbalist, or ledger examined the character and would plainly know. Once diagnosed, the character's card and the GM's own dossier fill in the real name and course; nothing about the ailment itself changes.
Encounters
Encounters are the chance meetings that populate the world as the player moves. Each defines a chance, an interval, a despawn rule, the entities it can spawn (by reference), a where table (which rooms, with per-time-of-day probabilities), and optional ambient behaviors (little scripted moments — a line of speech or an action — triggered periodically or on a status change). Encounter cards also carry their own portrait and Portrait Prompt (Generate/Upload/Regenerate + ✨). Edits go through the GM box.

Quests
The DM Quests view shows the complete timeline — every beat, locked and unlocked, with its hidden trigger and any reward, under a Dungeon Master view banner. Editing quests goes through the GM box; because reshaping a thread can affect beats the player has already seen, the editor computes the impact and asks you to confirm before applying anything destructive, preserving unlocked state by beat id.

The Art tab
The Art subtab is a production dashboard for filling in missing portrait art across the whole world in one place. It has two bottom inner tabs — Missing and Review — sitting at the foot of the panel like the World tab's Chunks/Regions tabs.
- Missing gathers every catalogued thing that still has no image, as cards, each with its details and (where present) its portrait prompt: characters and monsters, races, classes, encounters, rooms, items (and, separately, their 32px icons), spells, skills, and factions. A Filter by name box in the upper-left narrows the list.
- A toolbar pinned to the bottom holds a single right-aligned gold Generate button. Pressing it batch-generates art for exactly the cards currently shown (anything filtered out is skipped), working one card at a time from the top. For a card with no prompt it first asks the GM to write one, then paints the image from it; each step is logged to the Logs tab and echoed in the status bar, and the card being worked shows an animated indicator in its header.
- While a batch runs the button reads Stop — click it to halt after the current card. Each card's own collapsed/expanded state is preserved throughout, so you can open the ones you want to watch and leave the rest closed.
- As each card finishes, its new prompt and image appear in place. When the batch completes, the button turns into a green Confirm: the freshly-arted cards stay on the tab for review until you press it, at which point they drop off the Missing list (they have art now) and the filter box clears.
The Review inner tab is the other half: a gallery of everything that can carry a picture, grouped the same way — rooms, NPCs, monsters, fauna, races, classes, encounters, items, flora, magic, spells, skills, factions, and item icons. Objects with no art yet appear as placeholder cells rather than being hidden, so the gaps are visible at a glance, and clicking any cell opens that object's detail popup. It is where you spot-check a world's art after a batch without walking every catalog tab.
The Compendium as a DM
As a DM the Compendium gains authoring power over types, not just discovered instances:
- Reveal all — a toggle that lists every world-defined entry, discovered or not, so you can curate the whole catalog. Undiscovered entries are badged as such. It reaches the Factions tab too, exposing every faction the world defines.
- Per-type art & prompts — for People, Monsters, Items, Flora, Fauna, Magic, Places, and Factions, each entry gets ⬆/♻ portrait controls and a collapsible Prompt section with a ✨ GM-suggest button. These edit the shared type (the catalog template), not one live creature.
- Places — a place's "type" is the live room; its prompt is the room's
bannerPromptand its portrait is the room banner (wide frame, painted across all six time-of-day slots). - Per-entry Lore — every catalogued kind (People, Monsters, Places, Factions, and the item-backed Items / Flora / Fauna / Magic) now carries a collapsible, DM-only Lore section: a box for the hidden lore, a box for the unlock condition, an "Unlocked for the player" toggle, and a Generate button that asks the GM to write both from the world's canon. Edits write to the type and every live copy by name. This is the being/place counterpart of the item lore described under Editing items.

loreDiscover; see Part III). The canon lore you seed when forging or expanding a world (the world's lore array of {title, text} entries) is behind-the-scenes fuel for the GM — it is not shown to players directly; it surfaces into a player's Lore tab only as they draw pieces of it out in play. With Reveal all on, a DM additionally sees the world's canon lore listed as "Undiscovered", so you can review everything the GM has to work with.Evaluate & Fix World
Editor › World › Evaluate compiles the world and reports what it can prove is wrong with it — an exit that leads nowhere, a shop nothing in the world can pay for, a lore hook worth no XP, hidden lore with no unlock condition so nobody can ever earn it, a quest beat that needs a being something else kills. Evaluate this world runs the pass on the Server Vault, using the same code as the command line, against the draft currently open in the editor rather than the published world. Without a vault there is nowhere to run it and the tab says so.
A report is three parts: six headline figures (objectives, findings by severity, authored XP and the level it reaches, authored wealth, and what the economy reads as); an action plan of remedy cards; and the findings themselves, each with an Action button that jumps to its card.
Every card carries a badge saying whose job the fix is — Ask the GM (invention: the card holds the prompt and names the roster), DM edit (a mechanical change the pass has already worked out, faster by hand), or Your call (the missing input is your intent, so there is nothing to hand over yet). Ask the GM cards have an Execute button that confirms, then runs the prompt in that roster's own GM box where you can watch it land. A card with two or more branches also offers Plan placement, which decides where every subject belongs first and opens the result for review. Done / Dismiss tick a card off; that checklist is per world and lives in your browser, so it never travels with an exported world.
The gold Fix World button at the top right appears once a report exists and hands the whole remedy plan to the GM in one press. Its dialog lists what will run — numbered, in order, each with its instruction and roster — above what is left for you, greyed with the reason. Nothing is written until Execute Plan; the dialog then stays up and ticks each step as it lands, because each roster switches tabs as it goes. A failed step is marked and the rest carry on, and the pass re-runs itself at the end so the report matches the world you now have.
lore and no loreKey is writing nobody can ever reach, so the pass reports one finding per subject — for every kind the game can unlock: rooms, beings, items (which means Items, Flora and Magic alike, whether or not the thing has been placed anywhere yet), races, factions, dungeons and ailments. Everything but rooms and beings runs against the Lore tab rather than its own editor: that tab spans every kind at once, shows the GM each subject's current unlock condition, and is scoped to the lore fields — so it cannot rewrite a race's abilities or a dungeon's description while writing one string. You can see the same gaps yourself with the Lore tab's Missing checkbox.Growing the world
You can ask the GM to author a brand-new region on the fly. It returns a self-contained world chunk — a few new rooms with fresh ids and exits, plus optional new beings, items, lore, quests, encounters, and classes — and an exitPatches object that stitches one new exit onto an existing "anchor" room so the region is reachable. The merge is strictly additive: it never overwrites existing rooms or quests.
{ "rooms": { "salt_marsh_edge": { "name": "Salt Marsh Edge", "description": "...", "exits": {...} } },
"exitPatches": { "market_row": { "west": { "to": "salt_marsh_edge", "description": "a reeking track" } } },
"entities": {...}, "items": {...}, "encounters": {...} }
You can trigger this from the World subtab (generate with the GM, or paste a chunk and Merge) or, in play, with the DM-only command expand the world <brief>. DMs also have two other in-play commands: unlock the quest beat <name> and lock the quest beat <name>.

Building one region: the Region Builder
Where a world chunk grows the map in general, the Region Builder (World › Geography › Regions, select a region, then Build Region) develops one region on its own terms. It's a brief — description, climate, theme & premise, tone, scope, art style, rules of this place, prologue, narrative, and the beings that belong there — that steers what the GM writes for this region only; any field left blank inherits the world's own answer. Pressing Build Region asks the GM to write that region's rooms, beings, items, quests, encounters, and (optionally) lore from the brief, and merges the result straight into your world. The brief itself is authoring context and is never shown to the GM during play. Export Region / Import Region save or load a region — its brief and everything in the world that belongs only to it — as its own JSON file; a region file doesn't yet carry dungeons, which are built and placed separately with the Dungeon Builder.
A region is also asked what its own ground yields — ore and cut stone from mining country, timber and pitch from forest, hide and horn where the herds are — so two regions differ in more than scenery. It's told to reuse an existing material rather than mint a near-twin (an "Iron Bar" beside your "Iron Ingot" splits one material into two, permanently), and it adds a vendor for that stock only where the region actually has somewhere for one to stand — a settlement or waystation, not a barrow or a stretch of road.
OOC meta-commands (//)
For testing and debugging, a DM can prefix a line with // to issue an out-of-character directive that changes the live game state directly — no story turn, no GM call, no time passing. These are instant and DM-only: a non-DM who types one is simply told the feature is DM-only (the engine refuses it — no state ever changes). This is the DM half of the two slash commands: a single / asks the Field Guide (app help, open to everyone), while the double // is this DM debug console. Type a bare // in play for the full list, or // guide to open the Dungeon Master's Guide.
| What | Examples |
|---|---|
| Attributes | // str +2 · // set dex 14 · // raise con by 3 |
| Health & mana | // set hp 50 · // mp +5 · // set maxhp 200 · // heal · // kill |
| Coin, XP, fame | // gold +100 · // xp +150 · // level up · // set fame 500 |
| Age & the clock | // set age 30 · // age +1 · // date · // advance 3 days · // rewind 6 hours · // set date 14 Greentide 1002 |
| Scars & worn damage | // scar face left three parallel claw scars · // unscar 1 · // unscar all · // tear clothing: torn at the front | ripped open across the chest · // mend clothing |
| Status effects | // add status poisoned con -2 for 30 · // remove status poisoned · // clear statuses |
| Spells & skills | // learn spell fireball · // forget spell light · // learn skill lockpicking |
| Alignment & travel | // set alignment Lawful Good · // goto village_square · // teleport The Old Mill |
| Build world & beings | // add an abandoned house to the east · // add a goblin warlord with a rusted axe · // spawn two skeleton guards |
| Inspect & delete | // list the chest · // list goblin · // delete gold ring · // delete goblin warlord |
| Recolour the app | // make this world's interface frozen and blue · // reset the palette |
Each directive echoes in the story panel and prints a one-line confirmation of what changed; the phrasing is forgiving (set … to N, … +N, raise … by N, and bare … N all work). Status effects added this way carry the same optional stat modifiers and timed durations the GM can assign, so they flow into effective attributes and expire on the world clock exactly like ones earned in play. Learning a skill via // bypasses the class gate so any system can be exercised. // advance/// rewind/// set date move the world's own clock — ageing every character whose birthdate is set along with it — while // set age reaches past the clock to move one character's birth year directly, keeping their day.
// list <object> dumps every data field of an in-scene thing — a being or item named in your current room (containers are searched), or room/player/world — as a collapsible table, for low-level debugging. // delete <object> permanently removes a named item, NPC, or monster from your current room (a being is matched first, then a floor item, including one tucked inside a container). Both are instant, local, and need no API key. Deletion can't be undone, so it's an authoring/testing tool — a being that's part of an active fight must have the fight ended first.// scar <region> [left|right|center] <what it looks like> gives the character a lasting mark, exactly as if the GM had narrated one. The region must be one of face, scalp, neck, shoulder, arm, hand, chest, back, abdomen, leg; plain words like cheek or thigh are understood, and anything else is refused. // unscar 2 removes the second mark on the sheet, and // unscar all removes every one. // tear <slot or item>: <label> | <what it looks like> damages the one piece worn in that slot: it is split from any identical ones in the pack and renamed (Brown Tunic, torn at the front), while its namesakes stay whole. Only a worn piece can be torn. // mend <slot or item> repairs it, and the piece takes back its plain name. Both are cosmetic only: they change how the character and their gear are described and painted, never a stat.// give me a flaming greatsword and poison me for an hour, or // max out my stats and make me legendary. It sees the current character state plus the valid alignment, spell, skill, and room names, and reports exactly what it changed. Without a key, an unrecognized line just points you at // help.// line that adds a place in a direction — // add an abandoned house to the east, // build a shrine cave down — has the GM author that location (its rooms, the NPCs and items inside, descriptions, lore, and image prompts) and stitch it onto your current room in the named direction, with a return exit back. It merges straight into the live playthrough and persists, so you can grow the map by travelling into what you just made and building onward from there. Needs an API key. If that direction is already an exit, the DM is asked to pick a free one; the connection is always guaranteed even if the GM's stitching is imperfect.// line that adds a creature or NPC with no direction — // add a goblin warlord with a rusted axe, // spawn two skeleton guards, // add an npc herbalist named Mara — has the GM author the being(s) you describe (full stats, class abilities, inventory, aggression, size, kind labels, lore, and a portrait prompt) and drop them straight into your current room, ready to fight or talk to. Lead with a kind word the parser knows — monster, creature, beast, enemy, npc, guard, merchant, undead, spirit, goblin… — or a common creature type; naming a direction instead builds a new room (above). Needs an API key. The being spawns live and is saved with the world, and the DM editor's NPC/Monster tabs can refine it further.// line asking to change the interface's look — // make this world's interface frozen and blue, // give the UI a warmer, autumnal palette — has the GM author a palette for the sixteen editable CSS colour variables (the app's chrome, not the world's art style — those are different things) and applies it live. Only variables the palette editor itself offers are accepted, and only values it would accept; anything else is dropped and named in the confirmation rather than silently ignored, and the GM is told the result must stay readable (no setting text and background to the same colour). It rides with the save like the rest of the palette, so it never touches the login screen or the world's own built-in look. // reset the palette returns to the default. Needs an API key.Forging a new world
The New World button on the title screen opens a standalone editor — "Forge a New World" — for building a world from scratch (anyone can reach it, not just DMs). You give it a Name, a Theme & Premise, a Tone (Dark Fantasy, High Fantasy, Grimdark, Heroic Adventure, Gothic Mystery, or Whimsical Folklore), a Scope (Small 4–6 or Medium 8–12 rooms), an optional World Rules, an optional Prologue, and an optional Narrative.
These sections build on one another, each grounding the next so the setting stays cohesive: the Tone informs the Name; the Name informs the Theme & Premise; the Theme & Premise informs the Art Style and the World Rules; the World Rules inform the Prologue; and the Prologue informs the Narrative. When you forge a world with only a Tone chosen, the Game Master invents each field in that order. The Narrative is your loose summary of the world's stories, plots, and quests — an over-arching narrative and its threads. It is never shown to the player; the Game Master draws on it heavily when crafting quests and plots (and the people, places, and items they hinge on), both at generation and during play. Each optional section carries its own ✨ Generate button to have the GM draft it from everything above it.
- Create Prologue — the GM drafts a 2–4 paragraph prologue, inventing a Name/Theme first if you left them blank.
- Narrative → ✨ Generate — the GM drafts the world's narrative from the name, theme, tone, World Rules, and (especially) the Prologue, which informs it.
- The world's skills — two checkboxes above Generate World decide what this world's characters can learn. Include the built-in skills (on by default) starts it from the app's standard set — Stealth, Herbalism, Athletics, Persuasion, Lockpicking, Arcana and the rest — and shows that list to the Game Master so it reuses Lockpicking rather than inventing "Pick Lock" beside it. Generate new skills, with a number from 4 to 24, asks for skills of this world's own: the built-in classes' signature knacks first, then whatever the setting itself calls for — its trades, its hazards, the arts its magic needs. Tick both and you get a familiar foundation with this world's character on top; untick the first and the world holds only what the Game Master wrote for it. They are written after the world's peoples and classes, so they can be tailored to both, and before its items, beings and traps, which are the things that lean on them.
- Generate World — the GM forges the whole world; the result fills an editable World JSON box (a syntax-highlighted code editor, themed to match the game, with a plain-textarea fallback if the editor library can't load).
- Save World — validates the JSON (it must actually load as a world, with a starting room and at least one class), then keeps it in your browser's saved-worlds library (IndexedDB), keyed by the world's Name. These are authored worlds you can reload into the editor later — not saved games. Give the world a real name first (the placeholder "Untitled Realm" is rejected); saving the same name again overwrites that library entry.
- Export World (the darker button beside Save) — validates the same way, then downloads the world as a file on your drive. That file is what you Import Game from the title screen to play.
- Import World (the darker button beside Export) — opens a file dialog and loads a world JSON previously written by Export World straight back into the editor. It does not build or start the world — it drops the saved world JSON verbatim into the box and repopulates the form fields (Name, Theme & Premise, Tone, Scope, Art Style, Prologue) from the saved editor block, so you can pick up exactly where you left off. Any validation issues (missing starting room, no classes, …) are surfaced so you can fix them before saving or editing.
- Back to Login — returns to the title screen, where you can Import what you saved.

Import / Export
From the Editor's World subtab, Export World downloads the active world in a versioned envelope; Import Game on the title screen loads one back (it also accepts a bare world object). Importing a world always starts a fresh game on it — whereas importing a saved game file (from the toolbar's Export Game) continues that playthrough.
{ "format": "thelostrealms.world", "formatVersion": 1,
"worldVersion": "1.0.0", "exportedAt": "2026-07-05T12:00:00Z",
"world": { /* rooms, catalogs, classes, lore, quests, encounters, ... */ } }
Where a world's pictures live
A world's art and sound are the bulk of its weight. A generated banner, item icon or music track can be stored two ways: inline, as the bytes themselves written into the world file, or as a reference — a short link to a copy the vault is keeping for you. Both play identically. The difference is what happens to the file on your drive, and it is large: one measured world weighed 43 MB inline and about a quarter of a megabyte once its art moved to the vault.
That is why the detached editor's header has two buttons that both download a world:
- Export World — writes a portable file. Any art held as a vault reference is pulled back and embedded on the way out, so the file is self-contained: it will open on another machine, on someone else's vault, or on none at all. It is also big.
- Download World — writes the world as it stands, leaving vault references as references. Small and quick, and the right choice for a backup or for version control. It needs that vault to be reachable to show its art, so it is not the file to hand to someone else.
Dungeons in an exported file
A dungeon is two things: its card — name, location, description, portrait, lore — which has always been part of the world, and its map, drawn in the Dungeon Builder and kept in the browser's own store. Both now travel. Export a world, or export a game from the toolbar, and the dungeon maps ride along in the file; import it anywhere and the dungeons are drawn.
The tile art is the exception, and it has a checkbox of its own beside Export World: Include dungeon tile art, off by default. Tiles you have uploaded are pictures, and a dungeon dressed in fourteen of them measured over two megabytes on its own — against tens of kilobytes for the layout. Leave the box unticked and the dungeon arrives on the built-in stone; tick it and it arrives exactly as you drew it, and the file grows accordingly. The answer is remembered, and it applies to game exports too.
Nothing is ever overwritten on the way in. If the machine receiving the file has already drawn that dungeon, the copy in the file is ignored and what is on the machine stands — so re-importing an old world, or loading a save from last month, cannot undo an afternoon's mapping.
Tools › Remote Embedded Media is what moves art the other way. It walks the loaded save, uploads every embedded picture and sound to the vault once, and swaps in references — it counts them separately before it starts, so you can see what you are about to move. Identical files are stored once no matter how many places use them — an item's icon usually appears on the catalogue entry and on every copy of the item lying in a room — so a world often shrinks by more than its art alone would suggest. Media already stored as a remote link is left alone: the tool moves embedded bytes, it does not fetch other people's URLs.
When it finishes it says what is still embedded, by field. That last part is not decoration: the tool only knows to move a fixed list of fields, so anything carrying data in a field nobody listed would otherwise sit there invisibly while the save looked clean. The Logs tab lists every offending field path.
A draft or a vault world you are editing has no loaded save for that menu item to walk — there is no player and no story log, only the world itself — so the detached editor's header carries its own icon button, beside Publish, doing the same move scoped to the world alone. It shows only when this session is playing against a vault with its media store on, since there is nowhere to send the art otherwise. Moving a world's art out of it is the natural step just before Publish: art still inline is what makes a published world too big to serve.
Getting a world's hosted art back out — Media Pack & Vault Pack
Once a world's pictures and sound are remoted rather than inline, they live on a server rather than in the file you'd hand somebody. The Tools menu's Download Media Pack… and Download Vault Pack… are how you get them back out as one zip — two items rather than one with a switch, because they write for different destinations and unzipping the wrong one into the wrong place fails silently rather than loudly. Download Media Pack gathers every hosted picture and sound this world references into a zip meant to unzip into a plain server directory, so you can serve the world's art from your own machine. Download Vault Pack, shown only in Vault mode, packs the world and its art the way a Server Vault keeps them on disk, so the archive unzips straight into another vault's data directory and becomes one of that server's worlds. Neither changes the world you are playing, and neither is a substitute for Export World — a pack moves art that is already hosted somewhere; Export World is what makes a world's data portable.
The detached editor
Right-click the Editor tab and choose Detach to pop the editor into its own window — a second view of the same session, handy on a second monitor. Because the session snapshot lives in IndexedDB (which fires no cross-window change event), each save also writes a tiny signal that the detached window watches; it then re-reads the snapshot and rebuilds only the world, leaving the main window's play (your character, story, clock) untouched. Under file:// the two windows can't share storage, so serve over http://localhost for Detach to work.
The Editor's menu is one of several — the four player tabs and the Guide carry the same right-click Detach — and they share one rule: only one is ever open at a time, and a right-click anywhere else dismisses it. See The screen › Detaching a tab.
Game MasterWhat the GM is
The Game Master is not a person — it's the AI that narrates every turn. The game calls Anthropic's Messages API directly from your browser, using your own API key and the model you pick in Settings — claude-sonnet-5-5 (the default) or claude-opus-4-8. Story turns carry the recent conversation history (trimmed to the last 40 messages) so the tale stays coherent; the many authoring calls (writing a background, forging a region, suggesting an image prompt) are standalone single-message calls that never disturb the ongoing story.
anthropic-dangerous-direct-browser-access, meaning your key is used client-side. This is convenient for playing solo on your own machine, and the code itself flags that a shared or public deployment should route calls through a backend proxy instead of exposing the key.The dossier
Before every call the game assembles a fresh system prompt — the GM's briefing — from live state. It includes:
- Role & tone — that it is the Game Master of this dark-fantasy world, must enforce the rules, and must reply with structured JSON. A verbosity directive reflects the player's
verbosetoggle. - Canon — the world's prologue and a summary of its lore, for flavor and NPC dialogue (never to be info-dumped).
- Quest threads (GM eyes only) — every quest, its private summary, and each beat's locked/unlocked status, hidden trigger, and reward note.
- Current state — your name, level, class, gender; the in-world date, time, and time-of-day windows; HP/MP/wealth; your six attributes and the derived persuasion/fortitude bonuses; inventory; the current room and its time-aware description; its exits (with a count of undiscovered secret ones); and its items.
- Per-being dossiers — stats, kind
classes, abilities and gear for each present creature; for NPCs, also routine, appearance, personality, speech style, and reputation-gated history/motivation/secrets, plus GM-onlylore. - Item lore (GM eyes only) — for every item in the room or your inventory that carries lore, its hidden history, whether it's already unlocked, and — while still locked — the unlock condition the player must satisfy, so the GM knows when to fire
itemLoreUnlock. - Factions in the room (GM eyes only) — every faction represented by a present being, each flagged revealed or hidden. A hidden faction is a secret the GM must not name, confirm, or hint at until its reveal condition is met; the dossier includes that condition so the GM knows exactly when to fire
factionReveal. - Tellable tales (GM eyes only) — the Folklore tales the beings present in this room can tell, each with its full text while still locked to the player (so the GM can tell it the moment it's earned) under a standing warning that it's a secret until then; an already-told tale stays listed, since asking to hear a story again is the commonest thing anybody does with one.
- The world's skill catalogue — every skill the world contains, with its governing attribute, base difficulty, tier and what it wants learned first. This is what the world can teach, which is a different list from the skills you have; both are sent, and only the second says what you are trained in. It rides in the cached half of the briefing, since it does not change from turn to turn.
- Reagents on hand (when the world has any) — the craft's own rules (what earth magic is, that prepare and brew are the player's own to invoke, that grade multiplies effect) and how many prepared measures of each reagent the player is currently holding.
- The world map — every room and its connections, so the GM can reason about routes beyond the next door.
The rules it plays by
The dossier injects a numbered ruleset. The ones you'll feel most as a player:
- Narration — interpret natural language into an action; answer in 2–4 second-person sentences; wrap NPC speech in quotes; never invent an exit that isn't listed.
- Secret exits — reveal a hidden passage only when you genuinely search/examine, and then via a
revealExit(not by silently moving you). - Doors — a shut or locked door is the engine's to enforce, not the GM's to narrate past; open it (a directive) before describing anyone walking through, and a hidden door stays unmentioned until
revealDoorsays otherwise. - Combat & durability — damage scales by class and level; CON governs resistance to hazards distinctly from HP.
- Creature-kind feasibility — the being's
classesgovern what's physically possible: you can disarm or dismember a humanoid skeleton, but a blade passes through an incorporeal spirit; constructs and undead don't bleed or take poison; beasts can't be reasoned with. - Reputation — interactions emit proportional reputation changes and honor the disclosure tiers; a high CHA increases gains.
- Quests — check the threads each turn and unlock at most one beat when its trigger is truly met, weaving it into the prose (never announcing "quest unlocked"), and deliver its reward that turn.
- Faction reveals — a faction is discovered through play, never on sight of a member: reveal one (via
factionReveal) only when the player's action genuinely satisfies that faction's hidden reveal condition — typically drawing it out in conversation — and weave it into the prose rather than announcing it. Until then, treat a member as just themselves, never as belonging to a named order. - Telling a tale — unlock a Folklore tale at most once per turn, only when someone actually present tells it, and pay its XP exactly once (a tale already told stays tellable again, but pays nothing the second time).
- Reagents & concoctions —
prepareandbreware the player's own to invoke, resolved by the engine; the GM never moves a measure, decides a working's outcome, or hands over a brewed item on its own initiative. - Time, discovery & conditions — pass time when the fiction calls for it; record first encounters into the Compendium and hard-won knowledge as lore (with XP); apply player status conditions with optional stat effects and durations.
The language of change
Each story turn, the GM returns a single JSON object. The prose the player reads is just the narration field; everything else is machinery the engine applies to the world. A trimmed example:
{
"narration": "The grate shrieks open. Cold air rises from the dark below, and the ...",
"stateChanges": { "revealExit": "down", "hpDelta": -3, "xpGain": 15 },
"reputationChange": { "entityName": "Aldric", "delta": 4 },
"compendiumDiscover": { "category": "places", "id": "cellar", "name": "The Cellar", "description": "..." }
}
The complete field vocabulary is catalogued in Appendix A. In brief: top-level fields carry the narration and the higher-order effects (reputation, quest unlocks, discoveries, lore, player/NPC status, skill-check results, who's speaking); a nested stateChanges object carries the concrete adjustments (HP/MP/currency deltas, time skips, XP, movement, exit reveals, picking up / adding / dropping items, alignment drift, a skill learned in-fiction); and a nested roomUpdates object handles removing or killing beings.
skillChecks array — one entry per skill tested, each with the DC it chose, the d20 it rolled, and the outcome. The engine recomputes the totals from the player's real modifiers (so the arithmetic is honest), renders the manifest, and awards xp on success. An action with no matching skill leaves skillChecks null and takes the flat 5% floor instead. Separately, stateChanges.alignment lets the GM quietly nudge the player's moral alignment one step when their conduct has durably shifted it — never announced in the prose.compendiumDiscover is for cataloguing — it fires on any genuine first encounter (a person met, a place entered, an item found, a creature fought) and files the entry under the matching tab. loreDiscover is for knowledge earned — it fires only when the player draws out a specific, hard-won piece of history, secret, or legend through real questioning: asking the right things, earning enough trust or reputation, or piecing clues together. The GM is explicitly instructed not to award lore for facts freely volunteered, small talk, common knowledge, or anything the player already learned, and to honor reputation gates — if an NPC wouldn't reveal something yet, no lore is emitted. Each piece is granted once, with an XP value proportional to how hard it was to extract: roughly ~5 for something minor coaxed out easily, ~10–20 for a real secret that took trust or clever questioning, and ~30–50 for a deeply guarded or pivotal revelation. A single turn may emit both fields. Both NPCs and some items hold lore.A turn, end to end
- You type an intention and press Enter; your words are echoed into the story.
- A few phrases are handled locally (like
verbose on); otherwise the input locks, the typing indicator appears, and the status bar reads Thinking…. - The request — system dossier plus recent history — is sent to the model.
- The reply's text is extracted and parsed (tolerantly — stray prose around the JSON is stripped).
- Hidden stat-training is banked; then
stateChangesare applied before the prose prints (so a time-skip banner appears above the narration); expired statuses are swept; the speaking NPC's close-up is shown. - The narration prints, followed by reputation, status, quest, Compendium, and lore updates as discreet notices — and the sidebar, character sheet, journal, and compendium re-render.
Throughout, the status bar narrates what's happening: "GM is painting a new portrait…", "GM is writing your background…", "GM is authoring a new region…", and so on.

Robustness & known quirks
- Tolerant parsing — the engine extracts the outermost balanced JSON object even if the model wraps it in stray text or code fences, and every handler guards its inputs (checking arrays, verifying that a target room/item/being exists, clamping numbers) before mutating anything.
- Graceful failure — a bad HTTP response (e.g. a rejected key) surfaces a clear message; a failed authoring call returns an error with the raw text rather than corrupting state; a failed image load is simply never committed.
- Two quirks worth knowing —
entityKilledis only applied when the reply also includes aroomUpdatesobject, andremoveItemappears only as a "do not use" note, not as a handled field. Both are edge cases you're unlikely to hit in normal play.
Appendix AChange-field reference
The full vocabulary the GM can emit on a story turn. Top-level fields first, then the nested objects.
Top-level
| Field | Shape | Effect |
|---|---|---|
narration | string | The prose shown to the player. |
stateChanges | object | Concrete world adjustments (see below). |
roomUpdates | object | Room-level being removal (see below). |
reputationChange | {entityName, delta} | Shift an NPC's opinion; positive deltas get your CHA bonus, clamped to ±100. |
questUpdate | {questId, beatId, npcs[]} | Unlock one beat, stamp its time, tag involved NPCs, update Journal/Compendium. |
compendiumDiscover | {category, id, name, description, imageUrl} | Add a Compendium entry (deduped by id). |
loreDiscover | {id, title, text, xp} | Record lore and award its XP once. |
itemLoreUnlock | item name | Unlock a locked item's hidden lore once the player earns it; reveals it in the item's details. |
factionReveal | {ref, entityName} | Reveal a still-hidden faction (by id) the player has genuinely discovered this turn; records it once in the Journal › Factions timeline and shows a discovery note. |
statEffects | [{stat, delta, reason}] | Bank hidden stat-training progress. |
skillChecks | [{skill, dc, roll, outcome}] | One entry per learned skill the action tested. The engine recomputes total = d20 + live ability modifier + proficiency, renders the check manifest, and awards skill xp on success. Null when no learned skill applies (then the unskilled 5% floor governs). |
statusChanges | [{entityName, status}] | Override an NPC's live status. |
playerStatusChanges | {add[], remove[]} | Add/remove player conditions (optionally with stat effects & a duration). |
speakingNpc | string | Name the NPC speaking this turn (triggers the close-up portrait). |
Nested in stateChanges
| Field | Effect |
|---|---|
hpDelta / mpDelta | Adjust health / mana (clamped). |
goldDelta / silverDelta / copperDelta | Adjust the three currency pools. |
timeSkipUntil | Advance the clock to a named time of day (engine does the arithmetic). |
timeSkipHours | Advance the clock by a relative number of hours. |
xpGain | Award XP (handles level-ups and the hidden stat review). |
fameDelta / fame | Nudge the hidden Fame value for a notable deed / override the derived Fame label. |
alignment | Set the player's moral alignment to one of the world's exact alignment names — used sparingly, one step at a time, only after a durable behavioural shift. Never announced in narration. |
skillLearned | A skill id the player just learned in-fiction (a mentor's lesson, a tome finished in the narration). Adds it at Level 1, honoring the class gate. Usually null — normal book-reading is handled by the engine. |
moveToRoom | Move the player to a room (if it exists). |
revealExit | Promote a hidden exit into a real one. |
openDoor / closeDoor / lockDoor | Open, shut, or lock a door by id. A locked door only opens if the player holds what its lock wants, its pick check has already been rolled, or it opens by a narrated act the GM has judged — otherwise the engine refuses and says why, to both player and GM. |
unlockDoor | Turn a locked door's lock without swinging it open. |
revealDoor | Promote a hidden door into a known one. |
pickupItem / dropItem | Move a named item between the floor and inventory. |
addItem | Mint a brand-new item into inventory ({name,type,description,value,quantity,icon,classes,lore,loreKey}). Any lore starts locked; loreKey notes how the player unlocks it. |
Nested in roomUpdates
| Field | Effect |
|---|---|
removeEntity | Mark a being gone. |
moveEntity | Send a being somewhere else — { who, to }, or a list. Departure from the scene rather than from play. |
addItem | Leave an object lying in the room — a catalogue { ref } or a whole item, or a list. The floor-side twin of stateChanges.addItem, which puts a thing straight into your pack; this is for what you have not picked up yet. Below ground it lands on the party’s own square. |
entityKilled | Mark a being slain (only applied when roomUpdates is present). |
Appendix BReputation & time at a glance
Reputation tiers
| Tier | Score |
|---|---|
| Devoted | ≥ 40 |
| Friendly | ≥ 20 |
| Warm | ≥ 5 |
| Neutral | −4 to 4 |
| Wary | −5 to −19 |
| Hostile | −20 to −39 |
| Enemy | below −39 |
Times of day
| Period | Hours |
|---|---|
| Dawn 🌅 | 05–08 |
| Morning 🌤️ | 08–12 |
| Afternoon ☀️ | 12–17 |
| Evening 🌇 | 17–20 |
| Dusk 🌆 | 20–22 |
| Midnight 🌙 | 22–05 |
Calendar: twelve months — Frostmark, Emberwane, Thawmoot, Greentide, Bloomrest, Suncrest, Highflame, Embergold, Harvestfall, Witherfall, Graymist, Hollowtide. Seven weekdays — Sunsday, Moonsday, Ashday, Wyrmday, Thornday, Forgeday, Hallowday. Time runs at ~24× real time; a new game starts 09:00, 1st of Frostmark, Year 437.
Appendix CGlossary
| GM | Game Master — the AI (Claude) that narrates and adjudicates. Not a person. |
| DM | Dungeon Master — a human author with the DM box checked; edits and builds worlds. |
| Compendium | Your discovered bestiary, catalog, gazetteer, and lore, filled in through play. |
| Journal | The timeline of story beats you've unlocked; no visible objective list. |
| Beat | A single unlockable step of a curated quest thread. |
| Faction | An organization beings (and the player) can belong to, each membership carrying a role. Discovered only through play, via the GM's reveal, and gated by a hidden reveal condition. |
| Skill | A learned proficiency (Lockpicking, Herbalism…) read from a book, gated by class or open to all. It levels with successful use; the GM rolls its checks against your live attributes. See Skills. |
| Proficiency | A skill's level-based bonus added to its checks (Level 1 → +2, up to Level 5 → +6). |
| Spell | A magical effect from the world grimoire; learned and cast (for an MP cost) on the Spellbook. |
| Alignment | The player's moral position — one of the nine classic alignments, starting True Neutral — drifted one step at a time by the GM in response to durable conduct. |
classes | A being's or item's kind labels (e.g. undead, humanoid) — used for grouping and action feasibility. Distinct from type. On a skill, the class gate: empty = anyone may learn; naming classes restricts it. |
type | An item's single mechanical slot (weapon/armor/consumable/key/misc, plus book and magic) or a being's role (npc/enemy/merchant). |
teaches | On a book item, a skill id or list of ids reading it unlocks, one lesson at a time. On a spellbook item, a spell id or list. |
chapters | On a book or scroll, what it says — a list of chapters, each with a title, a page of text (up to 4,000 characters) and optionally an illustrated plate that is drawn beside the words. Printed into the story on every read, never rolled or gated. An item carrying any chapter is never consumed. |
passage | The single page a book carried before chapters, and still does. One with a passage and no chapters reads exactly as it always did. |
language | On an item, which world-authored tongue its passage is written in. Unlearned, it renders in glyphs or meaningless placeholders rather than English. See teachesScript, teachesWords, bilingual. |
minor item | Incidental, interactable room dressing kept out of the catalog and Compendium. |
| Door | A record on an exit carrying its own state (open/closed/locked), an optional lock, and whether it's hidden. Examine it, or click its icon on a known exit, to see picture, description and state; a shut or locked one is engine-enforced, not just narrated. See Doors & barriers. |
| Barrier | The same mechanism as a door, under a different name and a squarer picture — a boulder, a portcullis, whatever isn't built to swing on a hinge. |
| Currency | A family of denominations that trade as one kind of money. The base is gold/silver/copper; a world may mint others (gems, chits…) that a being either accepts or refuses. See Editing items. |
| World chunk | A JSON fragment of new rooms/beings/items that merges additively into the world. |
| exitPatches | The part of a world chunk that connects a new region to an existing room. |
| Banner | A room's wide scene art, stored per time of day. |
Appendix DAbout this guide
The Lost Realms is an HTML game (text_adventure.html), optionally served — with its keys — by the Server Vault in Server/, and with the Dungeon Builder living alongside it in Modules/Dungeons/. This guide is a companion document, styled in the game's own palette and typefaces (Cinzel and Fira Code, with EB Garamond for long-form reading). It's fully self-contained bar the web fonts, which fall back gracefully offline.
The Lost Realms · Field Guide · styled after the game itself.