■ The engine
Plain code. Builds a four-floor descent from a seed, lists what you can do, rolls every die and decides who lives. Same seed, same run.
> procedural terminal game_
A roguelite dungeon crawl that lives in your terminal and listens like a game master. Say what you try. Roll for it. Fight everything.
Two minutes thirty-seven seconds of a dungeon that listens. Sound on.
Plays from YouTube. Watch it there and hit like, the goblins are watching.
Type an action, with a flourish if you like. The game turns it into a check: which stat, the number you need, and the props that help. Then you roll the d20. Then the narrator tells you how it went.
It can't lie about the dice. It doesn't know how. We checked.
This one's a toy. On this page your verbs get guessed at; in the game a language model reads what you wrote and checks it against the room and your pack.
The Goblin King sits on a throne of stacked chairs, waving a frying pan at nobody. A giant rat watches you from the cheese pile. You are carrying a pickle.
press space or click to roll
NEED13
Plain code. Builds a four-floor descent from a seed, lists what you can do, rolls every die and decides who lives. Same seed, same run.
A language model. It gets the list of what actually happened and tells it well. It can't make up loot, kill a monster or fudge your roll, and a guard reads every sentence as it streams in, just in case it tries.
Run the narrator on your own machine, plug in an API, or play with no model at all.
Some of our monsters were drawn by kids. Every one of them gets built in 3D, rigged, animated, and printed back into your terminal half a character at a time.
Yes, the 3D monsters are text. No, we don't know why we did this either. It looks great though.
Jar o' Light and Bomb Fairy, drawn by Belle. Bottle o' Baby, drawn by Joseph. Each one turning in a terminal, in a jar, for reasons.
Eating the Jar o' Light makes you glow, and everything nearby runs. Do not eat the Bottle o' Baby.
Every monster is weak to something: fire, holy, shiny, food, slippery, paper. Click one to meet it. The bestiary remembers.
MET 0/0
Eighty-odd things to find, throw, drink, wear, sell, or feed to something. Hover one.
Bosses wind up a big hit a turn early, so you can dodge it. You won't always. When you die, you lose the run, keep your souls, go in the Hall of Legends, and your ghost stays on the floor where you fell.
Natural 20s glow gold. Natural 1s shake the screen. You'll get to know both.
There's no engine. It's text, drawn to fit whatever window you've got, from a 4K monitor to the phone in your pocket.
Really. The game is text in a terminal, every bit of it: the castle in the storm, the dice, the 3D monsters. They're all characters, printed half a block at a time.
Within reason. Say an action and how you do it, and the game works out the stat, the number you need and the props that help. "Summon a dragon" fails. "Throw sand in its eyes" might stun it. You can always pick a numbered choice instead.
No. Run a model on your own machine (LM Studio, Ollama, Apple Intelligence), plug in Claude or any OpenAI-compatible server, or play offline with no model at all. Without one, commands go through a keyword matcher and the story is stitched together from the facts.
It would love to. It isn't allowed. The engine decides what happened and the narrator only tells it, with a guard that drops any sentence that invents an exit, an item or a monster.
1987 hard. Permadeath, telegraphed boss attacks you'd better dodge, and a d20 that does not care about your feelings. Fate tokens let you reroll a check. You earn them by showing off.
Soon. Leave your email and we'll tell you the moment the dungeon opens.
Get one email when it opens. That's the whole deal.