Touch: drag anywhere to fly left and right, and the firefly follows your finger's movement so your thumb never covers it; it fires on its own; tap when the lantern is full to set off a flare; pause and sound buttons are top right · Keyboard: Left and Right arrow keys (or A and D) move; Space, X or Up sets off a flare; P or Esc pauses; M mutes; Enter starts or retries
About:
A fixed shooter in the spirit of the 2000s Flash classics and the arcade games before them, made in-house for Leetdom. You are a firefly flying along the bottom of a night garden, and your light fires upward on its own. Bugs fly in on curving paths, settle into a swaying formation and break off in swooping dive runs, dropping pink spores as they come. Three toadstools stand between you and the swarm and get chewed away by spores and diving bugs. They grow back a little after each night.
Moths go down in one hit, beetles need two, wasps zigzag fast, and the purple Veilmoths sometimes hang over the garden and let down a silk web. If it catches your firefly, it gets carried up to the swarm. Shoot that Veilmoth while it is diving and the captive flies home to join you, and the pair fly side by side with twin fire, which we call Kindred Glow. Only two volleys of light can be in the air at once, so where you aim matters more as the nights get harder.
Every night you clear without losing a firefly raises your score multiplier, up to five times. Losing one resets it. Every fourth night is a Moth Dance, a bonus round where the bugs fly patterns and never fight back; catch all 40 for a 10,000 bonus. Catching bugs fills a lantern, and when it is full a tap sets off a flare that clears every spore on screen and knocks down nearby divers. You get extra fireflies at 20,000 and 70,000 points and then every 70,000 after that. Your best score and furthest night are saved on your device, and reaching night 5, 9, 13 and so on lets you start there next time. All of the art and sound is drawn and synthesised in code, with no image or audio files.
Credits:
Made by Leetdom, 2026. Written for Leetdom, and it lives here.
Phone check: 2026-09-30: real CDP touch on a 390x844 phone: relative drag moves the firefly (100 px of finger = 180 world units), a quick tap fires the flare, the tab pauses when hidden, game over and one-tap retry work, zero console errors and no network requests. Desktop 1280x720 keyboard and landscape phone checked. Balance, from a headless human-like bot with 200 ms reaction and a capped finger speed on the real game core: it clears nights 1 to 5 in 30 of 30 runs (19 of 20 with 300 ms reaction, a slower finger and noisier perception; 18 of 20 at 400 ms), and its runs end between nights 12 and 29. The fire-rate cap matters: with the cap lifted the same bot clears all 40 nights in 10 of 10 runs, and a firefly that just sits still and auto-fires loses every life by night 2 to 4. Dive paths are centripetal Catmull-Rom splines taken at even speed; the tightest turn in 99% of steps has a radius of 24 world units. QA 30 Sep 2026 (independent): a casual bot with 250-350 ms reaction, missed threats and freezes under divers reaches a median of night 8 without flares (9 with), range 2-16; capture runs are now telegraphed (violet ring, silk thread, distinct sound, hint) and a captor holding your firefly dives more often (rescues rose from 1 in 8 to 4 in 5). Offline audio render: SFX about 13 dB over music, peak -2 dBFS under a 12-sound stack, no noise floor.
Rate this game:
One vote per game each month.
Play next:
Vole BonkCheeky garden voles peek up from nine burrows — bonk them before they duck away. Sleepy hedgehogs pop up as decoys, so leave the prickly ones be. Clean tells, a fair speed curve and climbing combo streaks make each short round feel sharp on touch or keyboard.
Beetle ParadeA line of beetles is marching down a garden trail toward the burrow. Flick beetles into the line from your snail; three of a colour scuttle off, and the gaps snap shut into chain reactions.
Curve CourtA first-person neon court. Bend the ball through depth with spin, wrong-foot an authored ladder of rivals, and smash the target plates on the back wall.
Evolving JellyPilot a living bubble craft through a drifting arena. Absorb the fragments your kills leave behind, then choose how to evolve: branch into distinct weapon and mobility forms and the whole fight changes under you.