Addventure

A game system & engine for paper-based text adventures where addition is the parser

Try It Live Build a Game
Act I

The Game

What players experience at the table

Addition Is the Parser

Every verb and every object has a numeric ID. To interact, you add them together. If the sum exists in the potentials list, something happens. No dice, no electronics — just pencil, paper, and imagination.

Verb 51
LOOK
+
Entity 951
TERMINAL
=
Sum 1002
ENTRY A-5

The compiler assigns IDs automatically — authors write stories, not spreadsheets.

Try a Turn

Pick a verb, pick a target, and see what happens.

Room Sheet — Control Room
1. Choose a verb
2. Choose a target

A Player's Turn

Pick a Verb

Choose an action from the verb sheet. LOOK, USE, TAKE — each has a numeric ID.

Pick a Target

Choose an object from the current room sheet or your inventory. It has an ID too.

Add the Numbers

Verb ID + Entity ID. Just arithmetic. Pencil, paper, done.

Look Up the Sum

Find the result in the potentials list. If it's there, something happens.

Read the Entry

The story ledger has narrative text and physical instructions to update your sheets.

Update & Continue

Cross out old IDs, write new ones. The game state lives on paper.

What Players Get

A compiled game is a printable PDF with four sheet types. Everything you need to play fits in a stack of paper.

Verb Sheet

Lists every action and its numeric ID. When the game transforms a verb, players cross out the old ID and write in the new one.

Room Sheets

One per location. Lists every visible object and its ID. Players flip between rooms as they move through the world.

Inventory & Potentials

Tracks carried items. The potentials list maps every valid sum to a story entry — the core lookup table.

Story Ledger

Numbered narrative entries. Story text with physical instructions: cross out, write in, move items, change rooms.

See it all come together.

Download “The Facility” — Example Game PDF

A complete, printable game. Print it out and play right now.

Act II

The Engine

How authors build worlds

Write Games in Markdown

editing control-room.md
CRATE
+ LOOK: A heavy wooden crate, nailed shut.
+ USE + CROWBAR:
  You pry it open. A keycard glints inside.
  - CRATE -> CRATE__OPEN
    + LOOK: Splintered wood, lid hanging off.
  - KEYCARD -> room
    + LOOK: A small keycard among the splinters.
    + TAKE:
      You pocket the keycard.
      - KEYCARD -> player
  - CROWBAR -> trash

A game is a directory of markdown files. One index.md defines metadata, verbs, and items. Every other file defines rooms.

This snippet defines a crate you can look at and pry open with a crowbar — transforming the crate, revealing a keycard, and consuming the crowbar. All in twelve lines.

Indentation defines hierarchy. Arrows move things: to the player's inventory, into the trash, between rooms, or into new states. The compiler handles the rest.

Markdown In, Printable Game Out

One command transforms your scripts into a complete, playable game package.

Input
.md Files
Parse
Script AST
Compile
ID Allocation
Output
Printable PDF

Automatic ID Assignment

The compiler allocates all verb and entity IDs automatically. Authors never touch a number — just write interactions and let the engine handle the maths.

State & Transformation

Entities transform between states with ENTITY__STATE syntax. Child interactions inherit automatically.

Cross-Room Cues

Deferred triggers that fire when a player enters a specific room. Build puzzles that span the entire map.

Collision Detection

The compiler validates that no two interactions produce the same sum. If collisions occur, it reallocates IDs automatically.

Easy PDF Output

Generates print-ready PDFs with fillable fields via Typst. Players can write directly in the PDF or print and play with pencil.

Multi-Entity Interactions

Combine a verb with two targets — USE + KNIFE + BINDINGS. Wildcards match all entities in a room for catch-all responses.