In development (Reviewed 2026-10-07; confirm after 2026-11-06.)
Freedom, with rules you can trust.
A solo fantasy RPG designed for short sessions, meaningful choices, and a world that remembers.
Ben’s role
Ben leads product direction, experience design, and AI-assisted implementation and review.
AI performs the world.The system owns truth.
Flexible narration brings the world to life. Deterministic systems govern rules, rolls, and lasting consequences.

The Greymantle opening
At Old Crown Minehead, people are trapped in a burning cage. Your next choice starts the story.
Project notes
1d20 compiles role-specific context from versioned state and source pins, exposing only permitted facts and actor knowledge. Recent dialogue is bounded and labeled noncanonical; it cannot become persistent game truth merely by appearing in conversation.
Ben’s product and experience direction; AI-assisted implementation and review
1d20’s SQLite commit coordinator writes the event, state, immutable result, random inputs and interaction checkpoint in one transaction. Matching retries return the same committed result without recalculation; stale or conflicting writes are rejected. Tests inject faults after partial writes to check rollback.
Ben’s product and experience direction; AI-assisted implementation and review
Ben directs 1d20’s product, experience design and AI-assisted delivery: a mobile-first solo fantasy campaign for short sessions, meaningful choices and persistent consequences. AI performs the world; deterministic systems own rules and state.
Ben’s product and experience direction; AI-assisted implementation and review
The mobile composer has separate Play and Ask drafts, selection restoration and queued saves. Mode-change recovery fences late writes and blocks submission in the wrong mode. Browser regression cases cover held responses, reloads, failed saves and newer-tab checkpoints.
Ben’s product and experience direction; AI-assisted implementation and review
1d20 persists AI request and attempt state, checks request/checkpoint ownership before accepting output and preserves the committed result across narration interruptions. The lifecycle bounds retries and records failures instead of inventing fallback narration or rerolling to fit generated prose.
Ben’s product and experience direction; AI-assisted implementation and review
The inspected 1d20 code rejects AI candidates that target stale state, propose canonical writes, reveal forbidden facts, exceed an actor’s knowledge or narrate an uncommitted consequence. Candidate acceptance tests exercise those boundaries and separate hard rejection from semantic review.
Ben’s product and experience direction; AI-assisted implementation and review