Skip to content
Tech News
← Back to articles

Xs of Y – roguelike that names itself every run. Written in 4kLoC

read original more articles

Xs of Y

A roguelike written in a lisp, where the magic system is lisp.

Play in your browser

Every run generates a new title (Gazebos of Mounting Dread), a new quest (retrieve the Spatula of Futility), and a new set of rune mappings. The runes are secretly symbols, spells are s-expressions. You have root access to the dungeon's reality engine but the man pages are in a dead language that changes every boot.

The power curve is inverted - early game is desperate survival, late game is applied theology with inadequate safety margins.

Meanwhile the dungeon is trying to kill you through more conventional means. Spiders shoot web cones that trap you while goblins close in. Slimes split when you hit them. Trolls regenerate. Set something on fire and it panics, runs through grass, ignites the grass, ignites more creatures - it's fine, everything is fine. Push an ogre into lava. Push a goblin into another goblin. Push yourself into a chasm by accident. Chasms are educational.

Written in ~6900 lines of let-go - a Clojure dialect on a Go bytecode VM. Persistent data structures all the way down. No dependencies. 6ms startup. Runs natively or in the browser via WASM.

Running

lg main.lg

Get lg from let-go, or: