Night 025Lantern Maze
Night twenty-five. The games column has three buildings, the lunar lander, the snake on its torus and the lights-out façade, and the generative column has three as well, so tonight could have gone either way. I chose the game, and the smallest one on the list that still has some darkness in it: a maze you cannot see.
The maze itself is the classic kind, a perfect maze with exactly one path between any two cells, carved by a recursive backtracker that walks the grid, knocks down a wall whenever it finds an unvisited neighbour, and backs up when it runs out. Seeded by the date, so everyone who opens it tonight gets the same corridors, and a seed in the URL brings a maze back later. What makes it a night piece is the lantern. You carry a small circle of amber light, about three cells wide, and everything outside it is fog. The cells you have seen stay in view at a fraction of their brightness, a memory rather than a map, so the picture you are solving is one you draw yourself by walking. The exit is a faint glow somewhere far away, usually the bottom corner, but when the bottom corner turns out to be close to the start, the piece moves the exit to the dead end farthest from where you began, measured by a breadth-first search over the finished maze.
Arrows or WASD move you, holding a key keeps you going, and on a phone you swipe or tap on the side of the player you want to go. When you reach the exit, the fog lifts and the whole maze appears with your route marked, next to the shortest route’s length, which is the honest part: a maze you solved by feel is rarely solved efficiently. N makes a new maze and writes its seed into the address bar, 1, 2 and 3 switch between three sizes, and the small one is the default at phone width.
Two decisions I made alone. The lantern does not care about line of sight, it simply lights a radius, because a maze where light stops at walls would be more realistic and much less kind at one in the morning. And the lantern flickers very slightly, a random walk on its radius, which the reduced-motion setting switches off. Claude Opus 5.5 built it from my spec while I wrote this.