Long read · SolitaryStudio
SolitaryStudio
A writing studio for stories with a System. It reads the game straight from the page.
Prose with a game under it
LitRPG and progression fantasy are prose with a game running underneath. A chapter carries status windows, level-ups, skills, quests and ranks, and readers check them.
Royal Road comment sections are full of people catching a stat that went down for no reason, or a skill that was forgotten. Serials run for hundreds of chapters, so somebody always has a spreadsheet.
Writers keep that game layer in spreadsheets too, next to a manuscript in Word or Scrivener, and keep the two in sync by hand. World-building tools such as World Anvil and Campfire understand characters and maps, but not the System. Spreadsheets understand numbers, but not stories.
The tool I wanted reads the System straight from the page. It keeps continuity without making me fill in a form, and it helps me plan what happens next.
Five rules
- The page is the source of truth. The status window readers see is the data. Progress, continuity checks, the reader’s character sheet and the quest log are all read from it, so there’s no second copy to keep in sync.
- Never feel like filling in a table. Every feature has to work from writing: a name typed on a card, a window dropped in with
/status, a quest the System hands over in the prose. - Narrative over numbers. I cut a “wealth” tab, because stories don’t track who has how much money; games do. Progress asks what changed and what did it cost, not how much XP per chapter.
- The studio grows with the story. A first chapter needs a page and the System. Progress, the Board, Arc, Viewpoint and Publish each appear once the manuscript gives them something to show.
- Your folder, your files. Plain Markdown with YAML frontmatter, opened straight from disk. No account, no server, no lock-in. The project is open source.
The test case is The Hush, a story I wrote entirely through the studio: six chapters, with a System of Gifts, Prices and Shades. Tam Vey’s Gift came with a Price, and the Price is that she can’t say her own name.
A quiet page
The editor is a quiet page. Slash commands drop in System windows that belong to the world: status sheets, notices, creature readouts and quests, styled in the story’s own look. The Hush uses lavender glass. /status carries the last window forward, so you only change what moved. /quest carries the open quest forward, so you only move its count.
- Wikilinks (
[[Tam Vey]]) show hover cards, and the autocomplete creates entities as you type. - Alternates keep other ways to say a phrase. Overflow keeps what you cut, so it can come back.
- The Lab marks filler, repeated words and dialogue tags, when you ask it to.
- On the wall: ideas tied to this chapter, or to anyone on its page, sit in the left margin while you write it, open questions first.
In read view the windows respond. They power up as they scroll into view: meters fill and numbers count up. They lift under the cursor and a light runs across the glass. Press one and a ping goes out from where you pressed.
The rules in one file
system.md holds the rules in plain YAML: resources with cap formulas (20 + RES * 4), attributes, ranks with what it takes to reach each one, and laws such as “Breath never goes below zero”.
The System page shows these as rules you can read, and adds four rooms:
- a Playtest that runs a hero through the rules;
- a Test run that checks every chapter against the laws;
- a Bestiary, where each creature gets a specimen plate: its art, or a silhouette chosen from its description until it has some;
- Items, with slots that become keepsakes for readers.
Progress, read as a story
Climb charts any stat across the chapters, with turning points: the few chapters where the character changes most, each quoting what the System said there.
Abilities lists every skill from the windows, plus skills the prose names in brackets ([Chop]). Each row is the whole story, marked wherever the skill is used. It flags skills that have gone quiet: set up and dropped, or saved for later?
Becoming is the ladder. A System has five or six ranks, and each step is a big moment. For each rung it shows the chapter it was reached in, how many chapters and words the step below took, the notice that announced it, and what moved with it. For the next rung it shows what that rung asks for and how close the relevant pool is.
Plans that go wrong
Quests are what the characters are after and what they owe.
- The System’s quests are read from its windows (
Off With Their Heads (Unique): … (3/5)) and tracked as their counts move. - Promises, goals and favours are the writer’s own, with beats in the chapters they happen. The beat that matters most is “goes wrong”.
The log asks questions the story has earned: “Nothing has gone wrong with this in 6 chapters. Is that the plan?” or “Maud hasn’t been on the page since ch 2. Does the promise still weigh?”
Quests replaced the wealth tab. Plans going wrong is what a story is made of.
A stack of flat faces
The Board started as a graph of chapters and characters. It looked busy and did nothing. The rebuild treats the story as one structure seen from several sides, like slices through a 3D print. Each slice is laid out flat, in the way that suits it:
- Ideas is a mind map and moodboard. The story sits at the centre, and Tab branches an idea off the selection. Paste a link, a quote or a picture and it becomes a card.
- Chapters is the spine, wrapped into rows for long serials.
- Cast, Places, Lore are webs. Things that share chapters sit together, joined by how many chapters they share. Each keeps only its strongest few threads, so a crowded cast reads as clusters, not a hairball.
What runs between the faces are ties. Writing “Tam” or [[Tam Vey]] on an idea ties it to Tam. Ties are what make the Board pay off: while you write a chapter, every card tied to it, or to anyone or anywhere on its page, waits in the margin. Open questions come first, because they’re what the story owes.
Look through anything to see the stack cut there: every idea tree that touches it, its company, and the chapters it’s in as one strip. The strip is how a character who appears in 300 of 522 chapters stays readable. You don’t draw 300 lines; you look through her.
Try it:the Board, on The Hush’s real cards

10 ideas · 2 open questions · 2 quotes · 2 links · 1 picture · 9 cards tied to the story’s pages
3 ideas not tied to a chapter, person or place: press [[tie]] on one
Plan the next part
- Arc lays chapters against a story structure (progression, three-act, Save the Cat and others). It suggests which chapter fills each beat, and plans one arc at a time across a long serial.
- Viewpoint shows the story as one character saw it: which scenes they were in, and what they could know about the lead at each point. A small local model can rule on whether someone ambiguous was really there.
- To-dos come from a wall card (“Write: The Cantor”), from a page, or are typed in, and can repeat weekly. The publishing schedule adds its own: “Ch 5 goes out in 7 days, 602 words so far.”
Publish, and the reader
Publish schedules chapters and copies them for Royal Road as clean HTML. Windows become blockquotes, state blocks are stripped and links are flattened. It also exports a bundle for the reader site.
SolitaryAdventures, the reader site, is a page on a desk that unlocks as you read. Status follows the lead as of the line you’re on. The System log keeps what the System has said. The quest log stays at the previous chapter until you finish this one. The Bestiary fills as you meet things.
None of it spoils. Readers get a profile that levels up from reading, and keepsakes from the story that their avatar can carry.
Testing it on real stories
A 518-chapter import. I tested the importer locally on a long published serial (not distributed). It found an O(n²) slowdown, now fixed with per-file caches; PDF paragraphs split mid-sentence, now rejoined; and runs of System lines the parser missed, now fenced into windows. On that import, Abilities finds 67 of the lead’s skills from the prose alone, and Becoming shows his race switching back and forth, which explains every level drop.
A new story, written through the tools. I wrote The Hush entirely through the studio’s UI. A Playwright “writer” types into the real app, which saves to a real folder. The order was the one a writer would use: rules first, then the wall, then chapters, then the world, then planning the next arc.
Every gap it found became a fix. Titles weren’t editable. There was no way to delete a page. New chapter files stayed named NN-new.md. Links ate the space before punctuation. A Gift on the stat window wasn’t counted as an ability. Link preview cards stayed on screen after you followed the link.
Under the hood, the lib/ modules turn files into views and are tested without a DOM. Progress, quests and the Board’s faces are worked out from the manuscript every time; lenses.json holds only what the writer chose. Saves are debounced, flushed on close, and snapshotted to .history/ first.
What I learned
- Links need a payoff. “Is all this only visual, or does it do anything?” was the right question. Ties now flow back into the margin of the chapters they bear on, into quests and to-dos, and into the Board’s nudges.
- Write with the tool to find what’s missing. Writing a real story through the UI found more gaps in an afternoon than any audit.
- Cut what a writer wouldn’t track. The wealth tab was impressive and useless.
Next: vault sync through GitHub, quick capture on mobile, and growing the reader site into a place where readers can become writers.