Liberties Lost is what happens when you play Go through Balatro’s scoring. Every capture pays chips, and the shape your stones make when they land multiplies them. A ring of four around an empty point is a ponnuki, worth a big mult bump. You get a handful of stones per encounter and a score to beat, called the blind.
This is the game’s first encounter, lifted straight from its JSON and running on a port of its rules engine. Five stones, a blind of 150.
White never surprises you
The enemy isn’t a Go AI. Each white group carries one authored rule, and the board shows you exactly where White will answer before you commit. Tap a point and you see the score and the reply. Tap again and it happens. The whole puzzle is reading those rules and choosing which direction to chase.
That constraint made encounters hard to author by hand, so I built a puzzle forge. It generates boards, runs a crowd of greedy “tourist” players against each one, then solves it exactly. A board only ships if every tourist falls short of the blind and a verified line still clears it. If you can win by grabbing the biggest capture in sight, the forge throws the board out.
The look
The whole thing sits behind a CRT: phosphor green HUD, scanlines, a wooden board in the middle. It started from a few concept mocks and ended up as a Flutter overlay that draws a dark line every third pixel.


The runs have chapters with a boss at the end of each, a shop between rounds, and rule breakers that bend Go itself, like one that makes diagonal stones count as connected. There’s also a versus mode where a bot plays you with tree search over a real KataGo network, run as a hand-written forward pass in plain Dart.