Cave is human-readable, software-agnostic, and future-proof. Your stories stay yours forever — no lock-in, no proprietary formats, just prose.
# Cavern Entrance
You stand at the mouth of a dark cave.
Cold air flows outward. A RUSTY LANTERN
hangs from a hook by the entrance.
[take] lantern
You lift the lantern. It feels cold
but the wick looks dry enough.
[+lantern]
[examine] darkness
You'll need light to go further.
north <-> Main Chamber {if has:lantern}
You stand at the mouth of a dark cave. Cold air flows outward. A rusty lantern hangs from a hook by the entrance.
Professional Tools, Zero Complexity
Your adventure reads like a story, not code. Room descriptions are paragraphs. Actions are natural. Anyone can read a .cave file and understand the game.
Write in any editor — Notepad, VS Code, iA Writer. No databases, no binary formats. Open your files in 2050 with any text editor.
Verb synonyms live in separate .cavelib files. "Take", "grab", "pick up" defined once, reused everywhere. Your story stays clean.
Import standard-en for English verbs. Create custom libraries for genres. Share with the community. Never define synonyms twice.
Compile to standalone HTML games. Share a single file. Play in any browser. No servers, no accounts, no dependencies.
Directional navigation, inventory management, conditional locks, NPC spawning, random events, nested locations — all in readable syntax.
.cave
Complete adventures. Contains imports, metadata, rooms, actions, and story content. This is your game.
.cavelib
Reusable libraries. Verb synonyms, object aliases, shared arrays. Import into any .cave file with one line.
It's Just Plain Text With A Few Simple Rules
# Room NameDefine A Location[verb] targetPlayer Action[+item] / [-item]Inventory Changesnorth <-> KitchenTwo-Way Navigation{if has:key}...{end}Conditional Content@import standard-enLoad Verb LibraryYour Adventure Is Waiting. No Signup, No Downloads, Just Write.
Launch CaveDraft Editor