Fly a loop of light
The caves have gone dark. You're a moth with a light: circle the creatures of the deep with your glowing trail, free the fireflies hidden inside them, and bring a friend to loop together.
- 1-2 players, co-op
- 15 caves
- 3 bosses
- 40 KB NES cartridge
Play now
Right here, in your browser
This is the real cartridge image running in an NES emulator. Click the screen to start with sound. Plug in a gamepad, or share a keyboard with a friend.
| Player 1 | |
|---|---|
| Drift | ← → |
| Flap (hold to keep flapping) | X or Z |
| Start / pause | Enter |
| Menu: 1 or 2 players | ↑ ↓ |
| Player 2 | |
|---|---|
| Drift | A D |
| Flap | G or F |
| Pause | T |
| Gamepads | Any standard pad |
How it plays
Every loop is a lantern
One verb, three beats. Learning when each creature pauses is the whole game.
Fly
Your moth drifts and flaps through the dark, leaving a trail of glowing dots that fades after a few seconds.
Loop
Cross your own trail around a creature and it wraps into a cocoon. Loop a whole ledge to catch whatever walks on it.
Collect
A firefly hatches from each cocoon. Catch it before it wakes, and when every firefly is free the cave lights up.


Co-op
Two moths, one light
Hand a friend the second controller. A loop made from both moths' trails counts: its fireflies are worth double and it drops a power-up in the middle. A caught moth becomes a spirit that the other can fly into to bring it back.
The cave
Six creatures, six ways to catch them
Each creature pauses at some point, because a loop takes a few seconds to fly. That pause is your moment.

Dust bunny
Walks its ledge. Loop the ledge.

Shadow bat
Flees your light, then flies home to doze. Loop it asleep.

Snuffer beetle
Eats your trail and breaks loops. Go wide, be quick.

Mimic stone
A rock until the light finds it. Then it chases.

Wisp
Harmless, but its touch steals your light for a while.

Moth-eater spider
Drops, hangs and spins webs that slow you down.
Every fifth cave
Three bosses in the deep
Bosses are drawn into the cave itself and light up like the walls do. You can't loop a boss, so loop what it sends out.

The Great Owl
Loop its moon orb while it hovers. Feathers fall while the owl is awake.

The Cave Toad
Loop its rising bubbles, two at once for two hits. Never fly over its mouth.

The Snuffer Queen
Loop her embers while her larvae hatch on the ledges and eat your trail.
Media
Trailer and screenshots
One minute in the caves
Loops, co-op, a cave lighting up and all three bosses, recorded straight from the cartridge with its own sound. Every screenshot below is a real frame at the NES's 256 × 240.






Release kit
Box, cartridge and booklet
Print-ready files for a boxed release, at 300 dpi and true size. Everything is also in one release kit zip.

Instruction booklet
8 pages, 5.5 × 8.5 in: the story, controls, creatures, bosses and scoring


Under the hood
A real NES cartridge
Lantern Moth is written in 6502 assembly for the simplest NES board there is. It runs on original hardware from a flash cart, and on any NES emulator.
| Cartridge | NROM-256 (mapper 0): 32 KB of program, 8 KB of graphics, no extra chips |
|---|---|
| Light | All of it is colour attributes and palettes. Each 16×16 block is dark, dim, lit or flaring, and no tiles are spent on light. |
| Loops | Found by scanline parity over a 32×30 bit mask, spread over a few frames, with no flood fill and no stack |
| Caves | Packed at 4 bits a cell with an overlay for boss art, 448 bytes each |
| Frame budget | Every frame fits about 27,000 CPU cycles; the busiest 2-player frame measured is about 23,600 |
| Tested | 134 automated checks play through every cave, boss and power-up in an emulator |


