Lanternfall
A cozy puzzle where you are a lantern keeper. Place stone cairns so the wandering spirits can never slip out of the grove, then light the night.

What it is
Lanternfall is a small spatial puzzle. Each grove has a sleeping spirit and a wild edge it wants to wander off to. You get a limited number of stone cairns, and your job is to place them so the spirit can never reach the edge. When you press Seal, the grove lights up outward from the spirit, tile by tile, and every sealed tile scores.
A round takes about ninety seconds, so it works for a quick break or a long sitting. I wanted it to feel calm, which is why there are no timers anywhere in play.
Walkthrough
- Pick a modeOn the title screen choose Campaign (4 worlds of 12 groves), Daily Grove (one seeded puzzle a day with a shareable result and a streak) or Lantern Run (endless, with three lanterns for lives).
- Read the groveLook at where the spirit can walk. Tap the spirit to sense every tile it could reach before you commit.
- Place your cairnsClick or tap grass to place a cairn, and click it again to lift it. You only get a fixed budget, so every one counts. Keyboard works too: arrows and space, Z to undo, R to reset.
- Seal itPress Seal. The light spreads from the spirit and pops bonuses as it goes: a glimmer is worth 2 extra, a star-bloom 8, and gloom costs you 6. Stars are measured against the Keeper's best score for that grove.
- Learn from a leakIf the spirit escapes, the game plays it out and then shows the exact route and the gap it used. Your cairns stay where they were, so the next try is an informed one.
- Spend your embersEmbers earned from play buy lantern colors, which recolor all the light in the game, and board trims in the Keeper's Lodge. A Spirit Journal fills in as you meet new creatures.
The spirits and the tools
Three kinds of spirit change how you think about walls. A Mossling walks in four directions. A Cinder Wisp drifts in eight, so it can slip between two cairns that only touch at the corners. An Antlered Stag can leap over a single cairn, so you have to stack them two deep. Some groves have several at once.
You also get a Brazier, which works like a cairn but cleanses gloom on the eight tiles around it. Water and pine or boulder obstacles shape the map, and moongates teleport a spirit between two places.
Why the levels are fair
Every level is generated and then checked by a solver. The exact minimum number of cairns needed is computed with a max-flow cut, and a second solver searches for the best possible score. That best score becomes the Keeper's best that your stars are measured against. So a three-star grove is genuinely possible, and a level can never be accidentally unsolvable.
The 48 campaign levels are pre-solved ahead of time. Daily and Lantern Run levels are solved in a background worker, usually in under two seconds.
How it's built
- It is plain HTML, JavaScript, Canvas 2D and Web Audio. There are no dependencies and no build step, so you can host it on any static host.
- The music and every sound effect are synthesized in code. There are no audio files.
- Over HTTPS it can be installed like an app and works offline after the first load.
- Accessibility was part of the plan from the start: full keyboard play, screen reader announcements, a Reduce Motion setting that follows your system, nothing that depends on color alone.
- It has 336 automated rule and regression checks, plus a 44-step test that drives the real interface from launch to a three-star result.
Where the idea came from
The core mechanic, fencing in a creature with a limited number of walls, comes from the daily puzzle genre. The theme, rules, creatures, art, music and structure are all my own.