The high shimmer is gone, and the singing bowl now answers what you caught instead of playing the next note in line. A small loop sounds low, a big one rings high, and a loop with a hornet in it adds a low note under the strike. It sounds the moment the loop closes.
The singing bowl now plays in time with the music instead of whenever a loop closes, and its phrase has a shape: it climbs, turns, and comes home. From the second night a high shimmer opens over the meadow and grows as the nights go on.
A meditation track now plays under the meadow the whole time, and a catch strikes the next note of a singing-bowl phrase over the top of it. Keep catching and the phrase walks up and back down; stop and it holds its place.
The singing bowl no longer stacks on top of the old catch chime: the bowl is the catch sound now. The meditation drone also stays quietly under the meadow the whole time, and swells when you catch instead of appearing from nothing.
Catching now wakes a meditation bed under the meadow. A small loop brings up a low hum, a bigger one adds a warmer layer, and a big one opens the air on top, and a singing bowl rings once for each loop that caught something. Stop catching and it all sinks back, leaving the crickets.
From the second night the meadow breathes: for a while the hornets drift and fireflies settle low on the grass, glowing pale green, and a loop through those settled ones scores as if each were three. Then they rise and the hornets hunt again.
Hornet raids are gone. From night 2 the meadow just holds a steady number of hornets, one more each night up to five, with no warning and no double-points stretch afterwards.
On a computer, resting the mouse on the jar now says where the fireflies go: a line above it points up at the Night sky button, which is where you spend them.
The thread you draw now leaves a soft fading trail behind your finger, and a closed loop flashes white along its own thread for a moment. A loop that closes because you lifted with the ends close together shows the gap snapping shut.
Lantern Wardens now hang from their lantern on a thin amber silk strand, with a glint running along it, instead of a dashed ring drawn round the lantern. The strand is as long as the circle they fly, so you can still read where they will pass.
A dazed hornet is now coated in gold lantern dust: it glows gold and sheds motes that thin out as the daze wears off. The spinning dashed ring and the little orbiting stars are gone, and a burst's daze reach shows as a soft wave of light instead of a dashed circle.
Dawn no longer refills the clock. Whatever time you have left runs on into the next night, and dawn adds a top-up: 25 seconds before night 2, 2 fewer each night after, never less than 15. A night never starts above 45 seconds (was 60); time over that pays out as points at dawn. Catches still buy time back up to 40.
Hornets are now drawn from an SVG built from numbers instead of one painted picture, so each kind has its own body. Wardens are stubby with amber bands, Lungers long and narrow with swept-back wings and a lance, Twins pink-banded with curled feelers, the Queen large with gold bands and a ring of spines, and her brood small, big-headed and waxy. Only the wings beat now.
Hornet kinds now show who they are through things in the meadow instead of badges. Twins hang from one silk strand that sags and catches the moon and beat their wings as one. Wardens glow warm on the side facing their lantern. Lungers carry a dark lance. The Queen sheds gold pollen. Her brood are pale and waxy.
Every hornet kind now looks different before it moves. Wardens are short and round with an amber dot, Lungers are long with a coral spike, Twins are pink and tied by a thread, the Queen is gold with a crown, and her brood are small, pale and buzz fast. Bite rings are unchanged.
Drones are now Lantern Wardens. Each one circles a gold lantern and bites a thread that crosses its ring, but it never chases you. Catch the lantern and its burst takes the warden with it: dip a small loop in between its passes, or ring the whole thing.
No more dawn card between nights. Meet the quota and the next night starts right away, with a banner that says which night it is and how much time you have now. Your stroke keeps going.
Bank any time: a Bank button (or B) at the top shows your haul all run long. Banking keeps every firefly and ends the run; running out of time still keeps half.
From night 2, every night has a HORNET RAID. A few seconds in, the hornets swell to their peak for 7 seconds. Get through it with no snap and at least one catch and the sky clears: CLEAR SKY doubles your points and lights for 8 seconds. Snapped or not, the extra hornets leave when the raid ends, and each new night starts with fewer hornets than the last one ended with.
A big catch now shows one callout line instead of a pile of labels. Everything that paid sits on that line, strongest first, for example SWEEP ×3 · CHAIN ×2 · WHOLE ×1.5!, and it always fits on the screen, even on a phone.
The island is different every morning: the oil moves (boathouse, crypt, radio-shack cupboard, Ned's boat), different names sit on the locks, and the bearing, tide, broadcast and arrival all change. Its habits never do: how the keeper sets codes, which way the lens throws the beam.
From the second morning, omens: fog, a downed radio mast, a washed-out path, Ned laid up sick. Later mornings bring two.
You wake in darkness with only your page. There's no loop counter; Ned keeps count in chalk on the harbour wall, and he remembers you even when you don't remember him.
You can only write in the notebook while it's light. At dusk the day's journal fades on its own; if you drown, it just goes dark.
The game-over screen now names the player actually ahead of your new daily best, rather than someone you just beat. PLAY AGAIN points to that same next target.
Hornets now stack. Every hornet you loop raises your multiplier a step, and catching two or more hornets in the same loop multiplies that whole loop: HORNET SWEEP ×2 for two, ×3 for three, up to ×4.
Loops close more generously: if you lift your finger or mouse with the end of the thread touching (or nearly touching) the line you drew, the gap snaps shut and everything inside is caught. Crossing your own line still works exactly as before.
Your very first run starts gently: no hornet comes out until you've caught something (or 8 seconds pass), and the hornet from the title screen flies away when you start. After that, the night plays as normal.
One star rises per day: you can release or brighten one constellation each day, so your sky grows over several days instead of in one sitting. The title says when a new star can rise tonight.
Constellations cost more: tier I 250, tier II 1,000, tier III 3,000 (the whole tree was 4,800, now 10,500).
New: brighten a lit constellation to magnitude II (1.5x its cost) and III (3x). Its creatures come one night sooner and more often, and the figure burns brighter, so the sky still shows how you play.
Constellations are hand-drawn now: irregular figures of brighter and dimmer stars, each tilted and sized its own way and scattered across the sky. Firefly kinds still sit on the left, hornet kinds on the right.
Unlocked creatures no longer all arrive at once. Night 1 is always the plain meadow; from night 2, your lit creatures join one or two a night in the order of the tree. A waiting constellation shows faint stars; on its night its lines draw in, it flares, and the meadow says so (THE SPEAR RISES).
The Queen is new: she settles on the richest swarm and lays a small brood hornet every 5.5 seconds (up to 3), swelling and buzzing just before each one. Loop her and her whole brood reels, dazed.
New: the Night sky (✦ button on the title and game-over screens). Release fireflies from your jar to set new creatures loose in the meadow: Wanderers, Darters, Great clouds and Glowmoths on the firefly side; Drones, Lungers, Twins and a Queen on the hornet side. Tier I costs 100, tier II 400, tier III 1,500.
The fireflies you release fly up and become that creature's constellation. Lit constellations are in play, so anyone watching can read your settings from the sky. Tap one in the panel to dim it or light it again, for free.
The moon now crosses the sky as the nights go by: low on the left at dusk, overhead around night 5, setting on the right by night 10.
The gold ring and WHOLE label round a swarm are gone. Now, while you draw, a swarm your loop would catch whole flashes in unison, the way real fireflies synchronise. The ×1.5 bonus still lands when you close the loop.
While you draw, every firefly, lantern and hornet your loop would catch if you closed it now glows softly, so you can see a loop's reach before you commit.
A swarm you would catch whole gets a gold ring marked WHOLE ×1.5. Close the loop while it shows and the bonus is yours.
On narrow phones the tip banners shrink to fit instead of running off both edges of the screen.
Fireflies you bank no longer pop into existence inside the jar: they fly in from the meadow in a wide spiral funnel, drop through the neck and start roaming.
Your jar now breeds while you're away: it grows by about 0.5% an hour, counted up to 24 hours per visit. Come back and watch the new fireflies pour in.
The game-over card and title show your next goal, like 888 more to your first moon moth, with a progress bar and how much the jar breeds in a day.
At game over, if you're on today's leaderboard (or your best today would put you there), the board opens by itself next to the game-over card instead of on top of it.
With the board open beside the card, Play again, Share and the post form work on the first click; the board stays open while you post.
Fireflies only merge into a lantern once there are enough for two, and one lantern's worth always stays loose: 50 fireflies show as 25 green and 1 lantern.
The same rule holds at every tier, so the jar keeps looking full of loose fireflies while bigger creatures slowly appear.
First playable prototype. Keep a hearth burning on a frozen lake for ten nights by laying meltwater, coals and wind in the path of what walks in from the dark.
Spark a wet creature and the shock jumps to every wet body nearby. Chains of three or more score big.
Six kinds of creature, each met one at a time and then mixed. Every one has an answer, and every glyph has a creature that ignores it.
Everyone faces the same nights each UTC day. Reach dawn, then rest or stay out for the endless Long Night.
The leaderboard is the same in every ZeroDev game now. The 🏆 button sits top right, and the board opens in the middle of the screen with Classic and Graze Only, then Today, This week and All-time. Everything that decides what you can post is unchanged: it is still your best run of the day, and the button still says the number.
Grazes build again. Every graze in a run adds +1 to the next graze's base value, up to +8 once you have chained eight. The bonus stacks under the combo multiplier, closeness in Graze Only, and Graze Fever or Overclock days. The graze popup shows the streak part, like "+20 STREAK +2". Dying resets it with the run.
The "3 GRAZES / 5 GRAZES / 8 GRAZES" burst in the middle of the screen is gone. Grazes have paid the same no matter how many you chain since v97, so the burst was cheering for a build-up that doesn't exist. What raises a graze's value is unchanged: the combo multiplier, PERFECT and RAZOR grazes, Graze Fever and Overclock days, and the DOUBLE GRAZE 2x window.
The leaderboard has its own 🏆 button now (top right, between runs) instead of hiding inside the "what's new" panel. It adds a This week board, and your replay, share link, streak and badges sit under it as before.
After a run that would move you on a board, the post box appears on the game-over screen instead of opening the panel over the airspace. It offers your best run of the day on that board.
The jar is a jar of fireflies again: every creature roams freely around the whole jar, with no more rows.
Tiers are much further apart: a lantern is 25 fireflies, a moon moth 500, a star 10,000, an aurora heart 200,000. Most of what you see is loose green fireflies.
Merges happen while you play, never in front of you. After a run, new fireflies just drop in through the neck.
The jar now counts in powers of ten, like coins: fireflies are ones, lanterns are tens, ringed moon moths are hundreds, turning stars are thousands and colour-shifting aurora hearts are ten thousands. Ten of one kind merge into the next, with a flare.
A small key under the jar shows what each creature is worth.
Your firefly jar now sits on the left of the title and game-over screens, glowing with every firefly you've banked. New ones pour in after a run.
The meadow changes colour with each phase of the night: violet dusk, deep blue midnight, black-teal deep night, then aurora, violet and ice skies further on.
Nights: each night has a quota under the clock. Fireflies count 1, a whole swarm counts double, hornets 3 and dazed hornets 13. Catches no longer add time.
At dawn, bank your fireflies into a jar that stays between visits, or push on to a harder night where catches pay more. If time runs out you keep half.
Bank night 3 or later and you can start your next runs one night below it.
Lantern bursts now daze hornets nearby for about 2 seconds. A dazed hornet wears a gold ring, can't bite your thread, and pays triple if you loop it before it wakes up.
The leaderboard now matches every other ZeroDev game: Today, This week and All-time, your own row highlighted, and a YOU row showing where your best would land.
Fixed: posting after a run could put a lower score on the board than one you skipped earlier today. Now the game-over card always offers your best run of the day, and the button says which number it sends.
Firefly Lasso now also sends anonymous play events (runs, loops, snaps, scores) to MoonForge, an analytics service, so we can see where players get stuck. No name or feedback goes with them. The privacy page lists exactly what.
From 25 September every day has a real modifier. CLASSIC ORBIT, the plain no-modifier day, is out of the rotation; the seven others (Star Shower, Gem Rush, Overclock, No Clocks, Graze Fever, Combo Flow, Shield Up) share the days. Today keeps its modifier, so nobody's daily board changes mid-day. The Classic difficulty is unchanged.
Fixed: the guided tutorial's third step (the delayed climb) could not be finished by clicking or tapping. It said to tap AT BEACON, then ALT ▲, then the beacon, but ALT ▲ only climbs one level, so that queued a climb to 8 instead of 9, showed a green check anyway, and the tutorial never moved on. That step now shows an ALT 9 button, and the text names it.
The desktop button is now labelled AT BEACON, the same as the tutorial text and the phone palette (it used to say @ BEACON). The phone CIRC button now reads CIRCLE, as the tutorial says.
While you draw, a ring around your finger shows how much thread you have left. It empties as the line grows and flickers when you run out.
The far end of your thread now wears a glowing bead. Cross your line before you reach it and the loop closes. Past it, the tail unravels in sparks instead of quietly disappearing.
Fixed: in the guided tutorial, tapping empty board space right after your first command step could silently deselect plane b and hide the buttons the tutorial was telling you to tap — with nothing on screen showing why, or how to get them back. A stray tap now leaves the tutorial's plane selected.
Fixed: the "what's new" panel could open with an empty update list and stay empty until you reloaded the page. It now always fetches the latest notes, says so if they couldn't load, and tries again when you reopen it.
New players now get short directions right when they matter: how a loop closes, that catches add time, what a hornet bite costs and how to avoid it, and what lanterns and hornets are for. Each tip shows once.
The game-over card now gives one tip for your next run, based on what cost you the most (hornet bites, small loops, or lanterns left alone).
Fixed a bug where an ordinary graze (swapping right up to debris without touching it - the game's single most common scoring move) wasn't reliably triggering the NEW BEST banner, the 50-point milestone burst, the gap-to-beat cue, or the per-mutator/all-time-best flashes. They were firing correctly off gems, stars, moon grazes and DOUBLE GRAZE - just not off plain grazes, which is the path most runs actually cross those thresholds on.
Fixed: drag-to-heading (drag a plane instead of typing/tapping) could send a different direction than the line and label shown on screen — a plane keeps gliding while you drag, and the heading was still being measured from where your finger first touched down instead of the plane's current position.
Fixed: tapping a beacon, exit or runway to read what it does, then losing (or winning) the run while that popup was still open, made the very first tap on the game-over screen do nothing — it silently closed the invisible popup instead of starting a new run. A second tap was needed. Now the first tap always works.
The title screen's legend now explains grazing - swap right up to a debris or the moon without touching it for bonus points. Every pickup and hazard was already listed there; the mechanic the whole scoring system is built on (and every mutator, and DOUBLE GRAZE, and MOON GRAZE) never was.
Opening Help, Settings, the Leaderboard or the Changelog mid-flight now actually pauses the run, the way this game has said it does since v14. It didn't: your planes kept flying, turning and colliding the entire time any of those panels covered the board, completely out of sight, and you'd come back to a run already lost for a reason nothing on screen ever showed you.
No player-visible change. Fixed a latent bug in the tutorial's own state setup that would have shown a wrong-looking count (NaN) the moment any future feature read plane-routed counts during the guided tutorial.
Fixed a spawn-timing bug that made arrivals rarer than they should be under Easy Collisions — the exact mode every device plays under on its literal first-ever run. Arrival safety checking used the strict spacing rule no matter what, instead of matching whichever collision rule was actually in effect that run, so a new plane could get skipped even when the looser rule in play would have let it in safely.
Debris (and gems) can now spawn a bit closer together on the same ring, so there's more chance of one sitting just ahead of you and one just behind at the same time - the setup DOUBLE GRAZE needs.
Clearing a full Rush Hour shift with zero losses no longer counts against the game's own "Deaths" stat. It was always the one outcome Rush Hour is designed to reward, but every version through v63 recorded it exactly like a collision or a wrong-exit loss.
The what's-new panel groups updates by week once you've missed more than 10 of them, instead of listing every single patch version one at a time. A short absence still shows each version's own notes; a long one shows a handful of weekly digests.
Finishing the guided tutorial now drops you straight into a real run, the way its own last line always said it would ("Tap or press Enter to start a real run") — instead of landing back on the same full rules-explanation screen a brand-new arrival sees, asking for a second tap to actually start.
DOUBLE GRAZE now opens whenever a moon graze and a debris graze land on the same swap, even if both hazards are on the same side of the ship. v98 required them to sit opposite each other (the debris-sandwich rule), so the common case — moon sitting next to the debris you just left — scored both grazes and still refused the window.
DOUBLE GRAZE (and every other in-run bonus timer: shield/graze grace windows, milestone and streak flashes, deep orbit's ramp cue) no longer burns down while the game is paused or the tab is in the background - it only spends while you're actually playing.
Fixed: a perfect Rush Hour shift (all 12 planes, zero losses) showed "14 / 12" on the header, the game-over screen and the leaderboard claim note — the ratio was counting emergency-weighted score against a total that's actually a plane count. Rush Hour now shows planes actually routed out of 12; the leaderboard score you can submit is unchanged.
🔗 Share this run now opens your phone or browser's native share sheet (Messages, Discord, Mail, ...) directly, instead of only copying the link to your clipboard for you to paste somewhere yourself. If your browser doesn't have a share sheet, or you back out of it, it falls back to the same copy-and-paste box as before — nothing is removed.
If DOUBLE GRAZE contributed to today's best and the leaderboard refuses the score as implausible, the message now says this is a known scoring-cap bug and not a problem with your run, instead of telling you to try again on a resubmit that would fail the exact same way.
Fixed shareable replay links: every "Share this run" link generated since the feature launched opened to the ordinary tutorial/menu instead of playing back the shared run — the link itself was fine, but the game rejected its own payload on the way in. A shared link now actually shows the run it says it's sharing.
The 'M mute' shortcut, always shown in the header, now actually works on the start menu and the game-over screen — it previously only worked mid-flight.
DOUBLE GRAZE now also opens if you graze the moon and a piece of debris on opposite sides of the ship in the same swap, not just two debris — swap through that gap and you get the same 10-second 2x-points window, aurora, disco planet and fading banner.
The disco planet now shows the seconds left on DOUBLE GRAZE, counting down from 10 to 0 as the window's own fade reaches zero.
Fixed the feedback form's text boxes getting covered by the on-screen keyboard on phones, so you can see and edit what you're typing.
New weekly leaderboard. The board panel now has Today, This week and All-time; the weekly board resets Monday 00:00 UTC. Submitting a score enters all three at once, the submit message says your weekly rank, and shares include it.
The second difficulty is now called GRAZE ONLY (it was Dodge Only for a few hours).
A graze is worth the same however many you have strung together. The bonus that grew with each consecutive graze is gone; closeness (Graze Only) and the combo multiplier are what change a graze's value.
QUICK SWITCH: tap again right after a swap, while the ship is still between rings, and it turns back instead of being ignored. You get one — after using it the ship has to complete a full crossing before it is available again, so it is an undo, not a hover.
DODGE ONLY replaces Iron Orbit. Only debris (and the moon) spawn, so every point comes from a dodge, and a graze pays more the closer it was: 1x at the edge of the graze window up to 4x right at the lethal arc ("CLOSE" and "RAZOR" popups). Grazes feed the combo, so the multiplier and the shield still exist. Own board; Iron Orbit's old board and bests are retired, not migrated.
The game-over screen is down to three facts: your score, your best (flagged NEW when this run set it), and the person directly ahead of you on today's board, if anyone is. Then submit, PLAY AGAIN and share. The ⌂ button top-right on game over goes to the title screen, which is where the difficulty switch lives.
The fullscreen button is now on every phone. Where the browser can go full-screen it does; on iPhone Safari, which cannot, the button explains the one route that works (Share → Add to Home Screen), and the game launches full-screen from there.
The leaderboard now submits your best run of TODAY, not your all-time best. Scoring 256 after an earlier 2789 today offers "submit 2789"; on a fresh day it offers the run you just played. Your all-time board entry is never lowered — the server keeps the higher of the two.
The game-over screen celebrates what the run actually did: NEW BEST (with the old number), NEW <mutator> BEST, or SO CLOSE. The other lines each say whose number they are: your best, the all-time record and who holds it, and your best under today's mutator only when it is higher than this run.
One filled PLAY AGAIN button, carrying the next thing to beat, starts the next run directly — one tap between runs instead of two. The title screen, with the difficulty switch, is one small "change difficulty" link away. Tapping anywhere still works.
The debris (or moon) that ended the run is ringed in red with a HIT label on the frozen field behind the game-over screen.
The score breakdown no longer wraps mid-item, the submit button says the number it sends, "share score" is now "share this run", and the what's-new pill is an outline instead of a filled, pulsing button competing with Play again.
The title screen is a trailer with a button now. The rings and the self-playing demo are fully visible: the title, a one-line legend and today's challenge sit at the top, and a single filled PLAY button sits at the bottom with the score to beat written inside it ("beat DANNY's 8763", or "set today's first score" on a quiet day).
Difficulty is one segmented switch under PLAY, with the chosen side filled solid (teal for Classic, red for Iron Orbit) and its one-line description underneath. The PLAY button and the challenge chip turn red in Iron Orbit, so you can always tell which board you are about to play on.
On wide screens the title sits to the left of the demo and PLAY to the right instead of a phone-width column in the middle of the screen. On phones the layout is top / demo / bottom with the rings clear.
The pause button only appears during a run; it no longer sits on the title or game-over screens.
DEEP ORBIT (the difficulty ramp that keeps climbing the longer a run goes) now climbs noticeably faster the deeper a run gets. It's still the same endless, gradual escalation with no hard cutoff timer — just steeper, so a long run gets meaningfully harder instead of merely staying alive at a comfortable pace.
Fixed a real dead-tap on the very first thing a new player sees: the tutorial's opening box says "Tap or press Enter to begin," but tapping the box itself did nothing — only tapping empty board around it worked. If you tapped where the instructions told you to, the game looked frozen.
Fixed: threading a DOUBLE GRAZE (swapping between debris ahead and behind) now actually clears both pieces of debris, not just the one you'd have grazed anyway. The second piece used to stay fully live and dangerous for the rest of its life — so it was possible to earn the DOUBLE GRAZE bonus and then die to the exact debris the game just credited you for dodging, if you swapped back into that lane before it expired.
The Major's commentary on your best moments — chain reactions and the bigger warhead-triggered mega-chains — had the fewest variations of any of his lines. Five new lines added across the two pools, same dry voice.
On a short, wide screen — a phone turned sideways is the common case — the panel of buttons that pops up when you tap a plane (ALT, turn, CIRCLE, @ BEACON) could sit on top of the board itself, hiding an exit or beacon behind it while you were mid-command. The four small buttons in the corners (← all games, what's new, fullscreen, feedback) now collapse onto one row on that kind of screen instead of stacking into two, which is what was pushing the board and that panel into the same space in the first place.
The board itself is a little bigger on that same short/wide screen now that the corner buttons take less of the height.
The first three courtyards no longer dump every new fort machine on you at once. The old "THE FORT" stage spawned a derrick, a magazine, and a gate together the moment oil ammo unlocked — now oil unlocks with the derrick alone (THE OIL), fire unlocks with the magazine alone (THE MAGAZINE) one siege later, and the gate gets its own siege after that (THE GATE), matching what the opening screen's own subtitle already promised: "then a yard, then oil, fire, a gate." The escalating siege waves that follow now start two sieges later than before, so the early game has room to teach each new machine before asking you to fight all of them together.
The Major has more to say when you blow up your own launcher — that line was down to 5 variations since v2 while every other frequently-heard line already got a bigger pool (v69-v72). Four new lines added, same dry voice.
Fixed: closing the tab, backgrounding the game past recovery, or leaving mid-flight via "<- all games" while a run was in progress used to vanish from your own stats entirely — no death recorded, nothing. Your Games Played / Deaths counts (Settings panel) now stay consistent with however many runs you actually started, whichever way they ended.
Fixed a soft-lock in the very first siege: the battering ram could reach the bunker, physically stop dead against it, and then never actually hit you — the run would just hang forever unless you emptied your ammo. The ram now kills you at the moment it reaches you, the way it always should have.
Dying to the ram's swinging log now says "THE LOG GOT YOU" on the game-over screen instead of the wrong "THE MINE GOT YOU" (there is no mine anywhere near it — that string was never reachable for an actual mine death).
A brand-new player's very first shot has been forgiven since v61 if it lands on their own launcher — the message says "that one's free" — but the shot still silently came out of their 6-shot pool. Fixed: a forgiven first shot no longer costs a shot. Out-of-shots is the single most common way a run ends, for new and veteran players alike, so this landed on the exact resource every other run-ending screen is about, at the exact moment (a brand-new player's first-ever interaction) it does the most damage.
Two more of the duck and the Major's voice lines get more variety: the line that plays when a bunker or boss takes a hit that cracks it but doesn't destroy it (one of the most common things that happens on a run), and the Major's line when one of its own shots actually hits you. Both were stuck at 3-4 variations.
ATC now has a real link preview: sharing a link to the game (Discord, anywhere else a URL gets pasted) shows a title, a one-line description of what the game is, and a radar-scope preview image, instead of a bare unstyled link with nothing but a URL.
The leaderboard button no longer sits on top of your own HUD. It's moved to the top-right, under the mute icon, out of the way of the score/stage/flags/ram readout on the left.
New: COMET. A rare, icy-blue pickup that's worth far more than a star but only sits on screen for a few seconds — grab it fast or it's gone.
It plays through every scoring path a star does (combo multiplier, daily mutators, DOUBLE GRAZE) and shows up in the run's score breakdown when you catch one.
The shots counter now turns red and pulses with a FINAL SHOT label the instant you're down to the one shot standing between you and a run-over screen — previously it looked exactly like every other number on the way down, so the shot that actually ends the run gave no more warning than any other.
Fixed: opening a shared Rush Hour replay link and pressing Enter or Space once it finished started a Classic run instead of Rush Hour — silently the wrong mode, with no error. Clicking the on-screen “▶ PLAY ATC YOURSELF” button already worked correctly; the keyboard shortcut for the same button did not carry Rush Hour along.
Dousing a zip-line charge that's already cooking off with water or frost now actually snuffs its fuse, the same way it already does for a keg, magazine, satchel, caisson, or signal rod — it no longer keeps ticking to detonation right through the water.
The ship's cooldown tint (it fades from cyan to grey right after a swap) used to snap back to full cyan the instant the input lock cleared, even though the ship itself kept visibly sliding into the new ring for a while longer. It now stays a lighter grey until the ship has actually arrived, then pops to cyan on that exact moment — so the color now tells the truth about whether the ship has really landed.
More variety in what you hear on a run: the line after clearing a stage (heard on nearly every stage, every run), the line when you run dry on shots (the single most common way a run ends), and the Major's own per-turn lines (fire and miss) all had noticeably fewer variations than how often you actually hear them — each pool grew by roughly double, so the same handful of lines stop showing up on a loop.
Rush Hour now has its own "Watch my best replay" and "Share this run" — the same replay/share feature Classic and Daily have had since v35/v38, on its own board (rush scores were never mixed with them, and still aren't). Open the Leaderboard panel, switch to the Rush tab, and both buttons now show once you've flown at least one shift. A link shared from a Rush Hour run reopens as Rush Hour for whoever you send it to, tag and all, and its own "play it yourself" button starts a new Rush Hour shift instead of Classic.
Yanking or shooting the hanging lantern directly now actually cuts it loose — it falls, the "LANTERN FALLS" cue fires, and it stops silently getting hauled toward the gun instead. (Hitting the iris/shutter that drops it already worked.)
Dousing a cooking powder keg or magazine with water or frost now actually snuffs the fuse, the same way it already saves a satchel, caisson, or signal rod — it no longer keeps ticking to detonation under the water.
The grey ring that pulses on the ship when a tap is too soon after your last swap (rejected by the swap cooldown) now stays visible almost twice as long, so it's easier to actually see the game telling you why that tap didn't do anything.
The duck's two most common lines just got a lot less repetitive. Reacting to a hit and reacting to a miss are the lines you hear on almost every single shot, and they only had 5 and 6 variations to draw from — anyone who's put more than a few dozen shots in (several of you are past 300) was hearing the same handful on a loop. Both pools grew by 5 lines each, and every line the duck says, not just those two, now refuses to repeat itself twice in a row.
The guided tutorial's last step — watching the plane fly itself out after you've queued its heading, delayed climb and circle — now takes about 15 seconds instead of up to 2 minutes. Nothing else about the tutorial changed: same script, same commands, same plane.
Getting pinned by a ballista bolt or caught in a mine blast now says so on the game-over screen ("THE BALLISTA GOT YOU" / "THE MINE GOT YOU") instead of the wrong, misleading "OUT OF AMMO".
Fixed a layout bug on the out-of-shots screen: if you'd broken your best or had a run go completely to zero while on a day streak, the extra lines that explain that could get crowded or clipped against the bottom of the screen on shorter phones — the block now always leaves exactly the right amount of room below it, no matter which of those lines are showing.
The traffic you face now ramps in over your first ~2 minutes in the air instead of starting at full load immediately: a run opens with at most 3 planes aloft and a new one arriving roughly every 30 seconds, climbing smoothly to the full 6-planes / every-15-seconds pace by about the 2-minute mark. Applies to Classic, Daily Challenge and Rush Hour alike — the tutorial (always exactly one scripted plane) is unaffected, and the total plane count Rush Hour needs you to clear hasn't changed, just how fast they arrive early on. The on-screen "next arrival in Ns" countdown and "sky full" indicator now track the ramped pace too, so they stay accurate for the first two minutes.
The sky now has a mountain range on the horizon behind the fort instead of a flat gradient — two hazy ridgelines of peaks that sit correctly behind the yard as the camera pans and follows a shot.
The leaderboard submit form on the game-over screen now says exactly what score it's about to send, and flags it when it isn't the run you just played — it always submits your all-time best for the difficulty you're on, on purpose, so an old high score doesn't get silently orphaned by a worse run.
The first time a marcher (the walking threat that costs you shots if it reaches your launcher) shows up on a stage, the duck now warns you the instant it appears — previously it only ever explained what a marcher was after you'd already killed one, so a player who never managed to kill one just took repeated silent shot losses with no idea why.
The red dashed "!" ring that warns a plane is about to be lost (v21) fired identically for three different problems — off the board with no exit under it, the right exit but the wrong altitude, or lined up on an exit that just isn't the one its tag requires — and How to Play only ever explained the first two. Select a flagged plane now and its info line spells out which of the three it is (e.g. "⚠ lost — WRONG EXIT"), and How to Play names all three causes instead of two.
On a narrow phone the opening hint text, the tutorial banners for the first three sieges, and the 'X GOT YOU' death headline were all getting cut off at the screen edges instead of centering — they now wrap to a second line and stay fully on screen at any width.
Once a run has already passed your own personal best, the mid-run HUD used to just keep repeating that old, already-beaten number for the rest of the run. It now switches, live, to the same all-time community-best number the game-over screen already shows — with a live countdown to it — and flashes '👑 ALL-TIME BEST 👑' the instant you pass it, mid-run, not just after you die.
The score in the top-left now flashes gold with a NEW BEST label the instant a run passes your personal best — previously that only got announced on the game-over screen, so a run that had already broken your record kept playing out several more shots looking exactly like any other run.
Fixed: the little confirmation/error banner that pops up after almost every command ("✓ a altitude 5", "bad command — try aa5...", mute/speed toggles, badge unlocks) used to be drawn right on top of the score line at the top of the screen, so on a long header (Rush Hour + FIRST FLIGHT, or a wordy error message) the two overlapped into unreadable text. The banner now floats in its own space just below the header, in a small dark pill, so it never overlaps the score.
A mortar shell still whistling toward the yard now gets to land before the siege clears or the run ends on out-of-ammo, instead of the courtyard resetting or the run closing out from under it.
The game-over screen now shows how long the run lasted ("survived 1:23"), so a low score from a long run and a high score from a short one read differently.
Running out of shots now shows your day streak too (if you have one), with a nudge to come back tomorrow — previously that only appeared on the title screen, which a lot of players never see again after their run ends.
Fixed: on a phone screen under 600px wide, the "what's new" pill at the bottom-left rendered completely blank — no version number, no label, nothing tappable-looking, just an empty dark oval next to HOW TO PLAY. It now correctly shows "Info" at that width, same as intended when v46 first shrank it.
The ammo tray now shows an icon on every shell — a shockwave for concussion, a drum for oil, a magnet for the lodestone, a hook, a snowflake for frost, and so on — instead of asking you to read the word before you can tell shells apart.
On a phone the tray no longer shrinks to 6px type. Buttons stay a real size and wrap to a second row if the loadout doesn't fit one.
New: MOON GRAZE. Swap away from the moon's ring in the last instant before it would have hit you and you now score a graze bonus, same as swapping away from debris at the last second.
It only pays on a real near-miss: too close (still a death) or too far (nothing special about that swap) both score nothing, exactly like the existing debris graze.
The wind readout now shows a quick gust scale (1-3 arrows) alongside the exact number, so you can tell 'light breeze' from 'this run's worst' at a glance instead of having to have memorized what a raw number like 12 means relative to 118.
Fixed: on a narrow phone screen (280-320px wide), the small status line under the header — "tick N · aloft N · next arrival in Ns" — ran into the "tap a plane · 1×" text at the right edge of the same line, both rendering as an unreadable smear. It now measures the right-side text first and drops the tick counter (then the arrival countdown too, at the very narrowest widths) rather than overlapping it.
A leaderboard: top-left "board" button shows today's siege and all-time standings. A run that beats the last spot on either board offers a name and a one-tap submit right on the game-over screen.
No new input during play — the board only opens from its own button or automatically when a finished run qualifies.
Threading a swap between two pieces of debris — one ahead of the ship, one behind — now starts a 10-second DOUBLE GRAZE window: every point you earn while it lasts is worth double.
You cannot miss it: stars pulse, a faint aurora sits behind the rings, the planet shimmers like a disco ball, score popups take on the starfield's colour and drift, and 'DOUBLE GRAZE — 2x POINTS' sits at the top of the screen, fading 10% each second until it vanishes with the window.
The instant the ten seconds end, scoring and those visuals return exactly to normal. Two debris on the same side of the ship is still just one graze — only the sandwich counts.
DEEP ORBIT no longer stops escalating. Past ~5 minutes into a run, speed and debris density used to hit a hard ceiling and just repeat forever — so once you were comfortable at that pace, a run could go on indefinitely. They now keep climbing slowly for as long as you survive, so the game keeps pushing back no matter how long the run runs.
Nothing below that point changed — the first ~5 minutes of every run, including all of DEEP ORBIT's own ramp-in, plays exactly as it did in v81.
Wind no longer keeps getting worse forever the deeper a run goes — it now stops climbing past stage 21, the same kind of ceiling every other difficulty dial in LOB (target count, terrain roughness, marcher spawn chance) already had. Stages 1-20 play exactly as before.
Fixed: on a phone-width screen, starting Rush Hour on your very first visit showed a header that ran off the right edge of the screen with text cut off mid-word ('ROUTED 0 / 12 · RUSH HOUR · FIRST' — 'FLIGHT' missing entirely). The header now drops the FIRST FLIGHT tag when it won't fit, and abbreviates RUSH HOUR to RUSH on the very narrowest screens, rather than running off the edge.
Stations trade when you roll in — no more LOAD / DELIVER buttons. They buy what they want off the consist and fill empty space with what they ship.
Every town ships two goods and wants two others. Today's map is a closed loop: nothing is produced that nobody takes, nothing is wanted that nobody makes.
The locomotive holds two crates. The HUD names both; every town that will buy one lights gold.
COMMUNITY MAP loads today's shared board — rails anyone else laid are already there, and yours show up on their screen.
RIDE and BUILD are one room: if Bracket rides, you see the locomotive; if you hit BUILD, the train stops for everyone and the survey is open again.
RESET RAIL pulls every extra tile and refunds the cash, stations stay. Two people pressing Ride or Build at once: the earlier timestamp wins, the later press is ignored.
You can read the country now: every town shows what it ships and what it wants, and the locomotive HUD says what you're hauling and which town will take it.
DELIVER is a button. The engine holds when it reaches the town that wants the crate — tap DELIVER to unload, LOAD to pick up the next one.
A second locomotive is $50. Tap +ENGINE, tap an engine to select it, HOLD / REV so they don't deadlock on a single line.
The train sits on the rails instead of drifting beside them on corners.
First playable: today's country is the same for everyone until midnight UTC. Drag to lay rails, tap Ride to sit on the locomotive, deliver cargo between towns, spend the take on more track.
Build and ride both work on a phone-width screen — the map scales with the viewport, the bottom pills stay clear of the board.
The opening courtyard really is down to one thing now: the ram and its log, one HE shell to break it. Concussion doesn't join the tray until the second siege, oil until the third, fire until the fourth — each ammo type now arrives with the fort pieces it's actually for.
The two drums, the stone ramp, and the cover wall move to the second siege. The derrick, magazine and gate move to the third. Wave-built sieges (THE DAM, THE ROAD, ...) now start on the fourth, one stage later than before.
Banner and menu copy match what's actually on the field at each stage.
The opening courtyard is down to one thing: a single log on the siege ram, one shell to break it. Oil, fire, and the caisson barrel now wait for the fort that follows, same as the gate always has.
The banner and the menu say so plainly now: "one log, one shell — break it to stop the ram," then "oil, fire, a gate."
The Iron Orbit button on the difficulty picker no longer shows a crossed-swords icon in front of its name — on several real browsers/webviews that character has no icon to fall back on and just draws a plain X, which reads as "this is disabled", not "this is a selectable, harder mode." It's plain text now: "Iron Orbit".
Both difficulty buttons have a stronger, more visible border so they read as boxes you can tap, not flat text sitting on the background. Iron Orbit's border also carries a faint red tint even before you pick it, so the two options look like two different choices rather than one active button and one identical greyed-out one.
Running out of shots without ever landing a hit no longer just shows a flat zero — the game-over screen now says how close your best shot actually came ("right on the edge", "not far off", or "nowhere close").
Fixed: on a phone-width screen, the 'what's new', '? HOW TO PLAY' and 'Feedback' pills at the bottom of the screen overlapped each other — the two side buttons' text (especially the growing version number in 'what's new') had gotten long enough to run under the centered HOW TO PLAY pill, so all three were partly unreadable and mistappable. The two side pills now show short icon/label forms below 600px wide; HOW TO PLAY is unchanged.
The clock pickup pays 5x what it used to — the same base value as a star, instead of the same base value as a plain gem. Nothing else about it changed: it still slows the game down for a moment and rewinds the run a little, which briefly pulls the moon back toward you.
Fixed water hazards looking like a floating blue slab instead of an actual pool sitting in the terrain - most noticeable on holes with a big drop nearby, where the "lake" could visually detach from its own shore depending on how the camera was framing the shot.
Your very first shot ever on this device can no longer blow up your own launcher. Self-destruct is forgiven exactly once, with a warning line from the duck instead of a game over — every shot after that plays by the real rule.
Fixed: Rush Hour (v41) gave no sign during play that it was even running — the header read "ROUTED N", identical to Classic, for the whole shift. It now reads "ROUTED N / 12 · RUSH HOUR" live, the same fraction the game-over screen already showed, just visible a run earlier.
"Join the Discord" is in the feedback panel full-time now, under the send button, instead of only appearing after you successfully send something. Same link, same place, always there — you no longer have to fill in the form to find it.
High scores are no longer refused as "implausible". The server checked every submission against a ceiling of 40 points per second, a number set back when a graze was worth 3 points and nothing multiplied it. Since then the combo multiplier reaches x5, a graze streak adds up to 8 more, and mutators change the graze value outright — under today's GRAZE FEVER a single graze can pay 70. Forty a second stopped describing this game a long time ago and had quietly become a cap on how well you are allowed to play.
The ceiling is now worked out from the game's own scoring, and from the mutator you actually played: 458 points per second normally, 583 under GRAZE FEVER, 650 under OVERCLOCK. It still refuses the genuinely impossible.
If a score is ever refused again, the message now tells you the arithmetic — what you scored, over how long, and against what ceiling — instead of just the word "implausible".
Nothing you have already earned is lost. The game keeps offering your best score until it actually reaches the board, so a run that was refused will be offered again the next time you finish one.
Took the difficulty selector back off the game-over screen. Tapping to continue lands you on the title screen, where the selector already is — showing it twice, one tap apart, was a duplicate of a control you were about to be handed anyway. Nothing about choosing your difficulty changed: finish a run, tap, pick Classic or Iron Orbit, play.
The difficulty toggle is on the game-over screen too, exactly as it is on the title screen. Finish a run, pick Classic or Iron Orbit for the next one, tap to continue. It is the same control in both places, not a second setting: whichever you pick is what the other screen shows. If your best for the difficulty you switch to is board-worthy, the submit form updates to that board on the spot.
The game-over screen is down to the run and what you can do about it: your score, your bests, the submit form, share, and the difficulty for the next run. The "Try Rage Golf" button is gone — it sat under the tap-to-continue prompt and competed for the tap at the moment you were deciding whether to play again.
"Join the Discord" moved into the feedback panel, where it is now always there rather than only appearing after you send something.
Today's best and your own best are on their own lines now, on the title screen and on the game-over screen. They were run together with mid-dots into a sentence that wrapped mid-phrase on anything narrower than a desktop.
Dropped the "same spawn dice for everyone" line from the title screen.
Iron Orbit has its own leaderboard. It is a difficulty now, not a side mode: no shield, one hit and the run is over, and every score you set there competes against everyone else playing it. Open the leaderboard and there is a Classic / Iron Orbit switch above the Today and All-time tabs. The two boards never mix, because a no-shield run and a run with a shield are not the same run — but that is an argument for a second board, not for having none.
Pick your difficulty on the title screen, and the title screen now comes back. Before, you saw it once when the page loaded and never again — dying dropped you straight into the next run — so whatever you were playing was what you kept playing. Now the game-over screen shows your result and one tap takes you home, where the difficulty toggle is waiting. One extra tap between runs; you can always see and change what you are about to play.
Everything else follows the difficulty you chose. Your best score, the record the game shows you mid-run, your best for today's mutator and your place on today's board are all tracked separately for Classic and Iron Orbit. Under the old build an Iron Orbit run showed you your Classic best as the number to beat — a target that run could not move.
Your existing scores and submissions carry over untouched: everything you had is your Classic record, exactly where it was.
Iron Orbit can be switched back off. The hardcore toggle lives on the title screen, which you only see once per page load — so if you turned Iron Orbit on and kept playing, every later run was a no-shield run that could never reach the leaderboard, with no visible way back. The game-over screen's Iron Orbit banner is now a button: tap it and your next run is a normal one, shield and leaderboard included. The setting still remembers itself between visits, in whichever state you left it.
Nothing about how Iron Orbit scores has changed. The run that just ended is still a no-shield run and is still kept out of your normal best and off the board; switching back applies from the next run on.
The duck finally does what this game has been threatening since v1 ("it does not touch your ball. Yet."): on some holes it's not just a witness anymore. Land on it mid-flight or roll into it and it deflects your ball, exactly like the windmill's blades - a real obstacle, never a launch. You can tell before you swing: a hazard duck stands a little bigger, planted on its own dust ring, instead of its usual idle stance.
"Join the Discord" is in the feedback panel full-time now, under the send button, instead of only appearing after you successfully send something. Same link, same place, always there — you no longer have to fill in the form to find it.
"Join the Discord" is in the feedback panel full-time now, under the send button, instead of only appearing after you successfully send something. Same link, same place, always there — you no longer have to fill in the form to find it.
"Join the Discord" is in the feedback panel full-time now, under the send button, instead of only appearing after you successfully send something. Same link, same place, always there — you no longer have to fill in the form to find it.
New: Daily streak. Flying today's Daily Challenge for the first time each day now keeps a running streak — it shows right on the ☆ DAILY button itself (🔥3, 🔥7, …) as soon as you have one, and in the Leaderboard panel (🏆 button). Miss a day and it resets to 1 on your next Daily run, not to 0 — you're always mid-streak, never starting cold. Three new badges mark 3, 7 and 30 days.
Phones and desktops now play the same game. All the ring geometry has always scaled with your screen, but the hitboxes did not — they were a fixed number of pixels. On a phone that made every hazard cover more than twice the playfield it covered on a desktop: the kill band was 28.4% of the gap between rings instead of 14.0%, and debris blocked 0.226 radians of your lane instead of 0.111. It was not your imagination and it was not difficulty tuning; it was arithmetic. Hitboxes are now a constant angle on every screen, matched to the desktop size the game has always been balanced against.
The same fix applies to the moon, to gem and star pickups, and to the title-screen demo, so nothing is left half-scaled.
If you play on a very large monitor, the game just got slightly harder — a big screen was quietly giving you a wider lane than everyone else (9.5% where the reference is 12.7%). Grazing is unchanged everywhere: the window's duration was already screen-independent as of v70, and it still is, at every speed.
Correction to v72. The leaderboard is only ever supposed to send your best score together with the length of the run that actually earned it. v72's fix could send the length of a longer later run instead, which is the exact mix-up the rule exists to prevent. Your real record run is now sent untouched; the reconstructed length is used only where no record was ever kept, which is the pre-v69 case v72 set out to fix.
Scores the leaderboard was refusing now go through. v71 made the rejection message explain itself; this fixes the two things it was explaining. First: if your personal best was set before the game started recording how long a record run took, the game paired that old best with the length of whatever run you had just finished, and the server refuses a score that looks too high for the time it claims. The ceiling scales with the score, so only players with high bests were ever hit — and hit every single time, because a personal best never goes down and lives in your browser, so a fresh tab never cleared it. Short runs are normal on phones, which is why this read as a phone bug when it was really a best-players bug.
Runs longer than 30 minutes are no longer thrown away. The server treated any run over half an hour as impossible and refused it outright. On desktop the difficulty curve flattens out enough that a strong run has no natural end, so the best runs in the game were exactly the ones being discarded.
Refused submissions are now recorded, not just displayed. v71 told the player why a score bounced but told the game nothing, so a rejection still had to be reported by hand before anyone could act on it. Both bugs above outlived v71 for that reason.
Leaderboard: a rejected score submission on the death screen now tells you why (for example an implausible score, or rate limiting) instead of just "try again" with no explanation.
EXPERIMENTadded Iron Orbit, an opt-in hardcore mode you toggle on the title screen. No shield, ever — one hit and the run is over, no safety net. Your Iron Orbit best is tracked separately from your normal best and is never submitted to the leaderboard, so the two records can't mix.
EXPERIMENTa new hazard, the magnet. A color-coded field now appears on some fairways mid-flight - teal-green pulls your ball toward its center, coral pushes it away. Live in free play and practice immediately; joins the shared daily course from 2026-08-25 so nobody's round-in-progress changes underneath them.
EXPERIMENTa consecutive-day play streak. Fire your first shot of the day and it counts — miss a day and it resets. The menu now shows it (🔥 N-day streak), and the duck has a few new lines for 3/7/14/30-day milestones.
New: Badges. A row of collectible achievements now lives in the Leaderboard panel (🏆 button, bottom of the list) — separate from your score, and never resets. Land a plane, route one out an exit, fire a delayed @beacon command, circle a plane, hit 10 or 50 lifetime planes routed, clear a Rush Hour shift with zero losses, fly a Daily Challenge, or just come back for a 5th run (then a 20th) — each one unlocks with a small chime and a banner the instant it happens, and stays lit in the panel from then on, across every future visit.
Found while testing, not a bug: the landscape-phone screenshot in this game's own CI check (a rotated phone, ~844×390) renders the board smaller than desktop or portrait — checked with real numbers this time, not just eyeballed. Nothing overlaps and nothing is clipped; the board is legitimately letterboxed because a 31×21 grid doesn't have much room left after the HUD, command line and touch palette on a screen that short. Left as-is — a real fix means restacking the four fixed corner buttons, which touches several panels' anchor positions at once and deserved more than a guess verified on one device size. Noted here so the next pass doesn't have to re-derive it from scratch.
Fixed last night's graze tuning on phones. v69 narrowed the near-miss window on small screens to match desktop, but narrowed it so far that it landed on top of the collision boundary itself — on a phone the window was under a pixel wide at the start of a run, so grazing was effectively impossible until the speed ramped up. Phones now get the same near-miss window desktop has always had, measured in reaction time rather than pixels. Desktop play is unchanged.
The moon can no longer line up exactly opposite a piece of debris and leave you with no lane at all. The guard that stops a hazard spawning opposite another one only ever checked the moment the debris appeared — but the moon keeps drifting, and debris live long enough for you to come around to them two or three times, so by the second lap it could have drifted straight into the only safe lane. Debris that would trap you against the moon now burns off in front of you instead. Measured on a simulated 402px phone: 3.9% of these encounters had no survivable lane at all, now 0%.
Fixed a leaderboard bug: if you didn't submit your best run right away, a later, lower-scoring run could still pop the submit form and upload THAT score instead — your real best could never make it onto the board. The board now always offers your actual best.
EXPERIMENTfixed a real fairness gap between phones and desktops on grazing (the near-miss scoring dodge) — the same near-miss window was roughly twice as wide, angularly, on a small phone screen as on a desktop, purely because of how the game scaled to screen size, not anything about skill. Desktop play is unchanged; phones now get the same window desktop always had.
EXPERIMENTa visual depth pass. The fairway now has real hills drifting behind it as the camera pans, and your ball casts a shadow on the green that shrinks and fades the higher it flies - two small touches meant to make the world feel less flat, seen on every hole from the first tee shot on.
The aim predictor and the strength/angle readout now shift from gold toward green the closer your current drag is to your last shot's — lining up a repeat shot is now a color you can chase instead of two numbers you have to compare yourself.
The haze pooling at the foot of the sky's ridges now drifts and breathes instead of sitting frozen for the whole stage.
New: Rush Hour, a second alternate mode next to Daily Challenge. Same board, same seed, same spawn schedule and collision rules as Classic — but capped at 12 planes total. Clear every one of them (land or route out), lose none, and the shift ends in a win: ‘SHIFT CLEARED’, its own chime, no crash sound. Lose a plane before that and the game-over screen shows how many you cleared out of 12 instead of a bare count. Its own Leaderboard tab (Today / All-time). Reach it from the menu or game-over screen — ‘⚡ RUSH HOUR’ next to ‘☆ DAILY’ — or press R.
Rush Hour scores don’t yet have their own Watch-replay/Share slot — those buttons hide themselves on the Rush leaderboard tab rather than show a Classic run. Coming later if it's wanted.
Fixed a bug where a shield could save you from an obstacle and you'd still die to the moon in the same instant, if both were there at once. A shield now protects you against anything you run into in that moment, not just the first thing.
New: threading a single dodge between two obstacles close together now pays a DOUBLE GRAZE bonus (with its own callout and sound) on top of your normal graze, instead of the second one being silently wasted.
Crate structures now come in three shapes instead of one: the original two-block stack, a taller three-block column, and a two-wide pyramid whose capstone falls if you knock out EITHER leg underneath it, not just when both are gone.
Your very first time ever opening this game now drops you straight into the 60-second guided flight instead of a screen of instructions to read first — same lesson (heading, a delayed climb, circle, exit at altitude 9), taught by flying it instead of reading about it. How to Play is unchanged and still one tap (or the H key) away whenever you want it.
EXPERIMENTa new hazard - gravity anomaly. A shimmering violet band leans over part of a fairway; a shot that flies through it feels gravity itself go lighter and pull sideways instead of straight down, so the ball floats longer and curves off in the direction the band is tilted. No burst timing to read like the wind fan - the band's own lean shows you the drift before you swing, so it's a different arc to aim through, not a different moment to time.
Fixed: the gold "NEW BEST" callout on the end screen almost never actually appeared, even on a run that genuinely beat your best — it now shows correctly.
EXPERIMENTthe duck now reacts to streaks: three hits in a row, five in a row, and three misses in a row each get their own lines instead of picking from the same pool every shot.
EXPERIMENTthe duck now says something different the first time you ever destroy each kind of target (drum, bunker, warhead, marcher, crate stack) instead of the usual generic hit line.
First Flight: your very first run on this device (Classic or Daily, whichever you fly first) now flies with Easy Collisions on automatically, so a too-close pass doesn't end the only run you give this game before you've learned the controls. A · FIRST FLIGHT tag marks it on the HUD, and the death screen tells you the next run plays the real rule. Every run after your first uses whatever Settings > Easy Collisions is set to.
EXPERIMENTlater courtyards are a handful of jobs, not the zoo. After the lesson and the fort, each siege is three machines with a name — THE DAM, THE ROAD, THE GUNS — then the next three. The ram is still the clock.
Shells still walk in slowly. Empty tiles still hide. The HUD is still score, flags, ram, wind.
EXPERIMENTthe second courtyard is three machines — a derrick, a powder magazine, a portcullis. Oil, fire, a gate. The dam, the mill, the well, and the rest walk in from the third siege.
The tray only shows the shells you hold. First two courtyards are HE, concussion, oil, fire. The HUD is score, flags, the ram, and the wind — not a list of every toy.
EXPERIMENTthe second courtyard is a chain of six, not a zoo. A derrick, a powder magazine, a dam, a mill, a well, a portcullis — oil, fire, water, wind, a gate. The ram is still the clock.
The packed siege — the keep, the organ, the mortar, the tank, and the rest — walks in from the third courtyard. Day still holds. Three barrels still fire as one drag.
EXPERIMENTthe gun is a battery. One drag of HE, concussion, oil, fire, water, or frost looses three barrels — a volley, not one shell. Planting ammo (mine, hook, satchel, lodestone) and the splitters (grape, chain-shot) stay a single shot.
You still pick the warhead first. The landing mark shows three discs. Two flags in one volley is a SALVO. The ram is still the clock. Flags still mean the win.
The fort is a picture until you aim. Names (SEAR, GRILL, VENT, ORGAN…) only show on the piece your landing mark is sitting on. The ram, its log, and the powder wagon still say who they are. Flags stay red.
The first courtyard is still a lesson. Knock the log and the clock still crawls. The moon still lights the yard.
EXPERIMENTthe ram's LOG is wood you can knock off. Hit the log and the clock is disarmed — a wagon that crawls. The log falls toward your bunker. If it reaches you, it can break you.
The first courtyard is still a lesson. The zoo still walks in on the second siege. The moon still lights the yard. The ram is still the clock, just with teeth.
The first courtyard is a lesson again. Two drums, a plank, the ram, dusk, the tide. The zoo — the organ, the culvert, the ballista, the ridge, the zip, and the rest — walks in from the second siege.
The ram is still the clock. Flags still mean the win. The moon still lights the yard.
The moon lights the yard. Night is still dusk — the sky, the moon, fire still brighter than dirt — but the ground and the fort are readable. A short phone can see the pieces.
The culvert still drains. The ballista still pins. Flags stay red. The ram is still the clock.
EXPERIMENTa BALLISTA sits on the right of the near lip from the first courtyard. Knock the SEAR and it looses a quarrel through the yard — the spear pins what it hits and keeps going. If it hits the ram, the clock is skewered. If the quarrel reaches your bunker, it can break you.
The stock is a flag. A lodestone yanks the quarrel; it is iron. The culvert still drains. The organ still volleys. The ram is still the clock.
EXPERIMENTa CULVERT sits on the left of the near lip from the first courtyard. Knock the GRILL and the yard drains through a pipe — oil and fire come out at your feet. The lid falls toward your bunker. If it hits the ram, the clock is washed. If the lid reaches you, it can break you.
The lid is a flag. A lodestone yanks the grill; it is iron. The organ still volleys. The tide still walks. The ram is still the clock.
EXPERIMENTan ORGAN gun sits on the right wing from the first courtyard — a rack of five pipes. Knock the LANYARD and it fires a volley of iron slugs into the yard. If they hit the ram, the clock is bowled. If a slug reaches your bunker, it can break you.
The rack is a flag. A lodestone yanks the slugs; they are iron. The tide still walks. The ram is still the clock.
EXPERIMENTthe causeway has a TIDE. Water walks up the road and back down — you can see it. At the flood the ram fords, fire on the lane dies. At the ebb the road is dry again. The lip is still a short pull.
The fougasse still fires. The ridge still avalanches. Night still holds. The ram is still the clock.
EXPERIMENTa FOUGASSE sits on the near lip of the causeway from the first courtyard — a short pull can reach it. Knock the VENT and it fires a spray of cobbles into the yard. The ram walking over it trips it. Fire on the vent cooks it. If a cobble reaches your bunker, it can break you.
The mound is a flag. The ridge still avalanches. The gargoyle still spits. The ram is still the clock.
EXPERIMENTa RIDGE of stone stands at the back of the courtyard from the first siege. Knock the SPUR and the scree avalanches — boulders roll the terrace toward your bunker. If they hit the ram, the clock is buried. If they reach you, they can break you.
The middle boulder is a flag. The gargoyle still spits. Night still holds. The ram is still the clock.
EXPERIMENTa GARGOYLE perches on a turret at the back-right from the first courtyard. Light it with fire and it spits oil and flame onto the yard. Knock the CORNICE and the iron statue falls. If it hits the ram, the clock is seared. If it reaches your bunker, it can break you.
The statue is a flag. A lodestone yanks it; it is iron. The zip still rides. Night still holds. The ram is still the clock.
EXPERIMENTa powder CHARGE hangs on a zip line on the left wing from the first courtyard. Knock the STAY and it rides the cable toward your bunker — then it cooks off. Light it with fire and it rides burning. If it reaches you, it can break you.
The keg is a flag. The sap still opens. The windlass still reels. The ram is still the clock.
EXPERIMENTa SAP gallery boards the ram's road from the first courtyard. Knock the SHORE and the boards fall — a trench opens in the causeway. The ram crawls. The boards are matter. If they reach your bunker, they can break you.
The boards are a flag. The windlass still reels. The rod still calls a bolt. The ram is still the clock, just in a hole.
EXPERIMENTa WINDLASS sits on the right of the ram's road from the first courtyard. Knock the RATCHET and a cable yanks the ram back toward the fort — the clock runs the wrong way for a few seconds. The drum can fall. If it reaches your bunker, it can break you.
The drum is a flag. A lodestone yanks it; it is iron. The lightning rod still calls a bolt, and it is no longer the weather-vane's stick — shooting the iron does not reverse the wind.
EXPERIMENTa lightning ROD stands on the left-back from the first courtyard. Light it with fire and it charges — then a bolt from the sky hunts the nearest iron, usually the ram. Knock the GLASS and the rod falls as a spear, no strike. If the bolt or the falling iron reaches your bunker, it can break you.
The rod is a flag. Water and frost snuff a charge. A lodestone yanks it; it is iron. The lantern still lamps. Night still holds. The ram is still the clock.
EXPERIMENTa LANTERN hangs on a tower at the back-right. Light it with fire and it becomes a beacon — a pool of light on the night yard. Knock the IRIS and it falls as a lamp. If it hits the ram, the clock is seared. If it reaches your bunker, it can break you.
The bowl is a flag. The noria still turns. Night still holds. The ram is still the clock.
EXPERIMENTa NORIA turns in the moat on the left of the cut. Knock the PINION and the wheel runs — onto the causeway, toward your bunker. If the sluice has opened, the road is water and the wheel crawls. If it hits the ram, the clock is milled. If it reaches you, it can break you.
The wheel is a flag. Smash it if you want — it still rolls. Night still holds. The ram is still the clock.
EXPERIMENTit is night. The sun is a moon. The yard is dark. Fire is the lamp — oil, thatch, lanterns, the forge, a fire ship. The flags stay red. You can still see what you have to flatten.
The sluice still floods. The chain still wraps. The ram is still the clock.
EXPERIMENTa SLUICE sits on the left lip of the causeway. Knock the PADDLE — or smash the gate — and the moat dumps onto the road. The ram fords. Fire dies in the water. The gate falls as a lid. If it reaches your bunker, it can break you.
The gate is a flag. The chain still wraps. The cog still drifts. The ram is still the clock, just wet.
EXPERIMENTa twelfth warhead, CHAIN-SHOT. It does not spray. It splits into two iron balls a chain holds taut. The line wraps whatever it crosses and yanks it. Two flags in one wrap is a combo. If a ball reaches your bunker, it can break you.
Equals on the tray. A short chain still lands on the lip. The cog still drifts. The ram is still the clock.
EXPERIMENTa COG sits moored in the moat on the right of the cut. Knock the HAWSER — or light the hull and let the line burn — and the current plus the wind take it onto the causeway. It dumps oil when it beaches. If it is burning, that oil lights. If the hull hits the ram, the clock is charged. If it reaches your bunker, it can break you.
The hull is a flag. Sink it if you want. The hayloft still sails. The ram is still the clock.
EXPERIMENTa HAYLOFT sits on the left of the cut. Light the thatch and the roof lifts — a burning sheet the wind carries. Knock the RAFTER and it falls as a lid. If the sheet hits the ram, the clock is seared. If it reaches your bunker, it can break you. Water snuffs it, then it falls.
The roof is a flag. The pendulum still swings. The moat still fords. The ram is still the clock.
EXPERIMENTa PENDULUM hangs on the near cut. Knock the COTTER and the iron bob swings — through the yard, toward your bunker. If it hits the ram, the clock is bowled. If it reaches you, it can break you. A lodestone yanks it; it is iron.
The bob is a flag. Smash it if you want — it still swings. The moat still fords. The ram is still the clock.
EXPERIMENTthe road is a CAUSEWAY. Water sits on both banks of the cut — a moat. The lip is still a short pull. Knock the ram into the drink and it fords, crawling. Fire dies in the water. Oil runs in.
The ram is still the clock. The caisson still tows. Tonight the approach is an island.
Fixed a scoring bug: if two obstacles were close together, a single dodge could sometimes get counted as two separate grazes (and two streak bonuses). Every dodge now counts once.
Debris you have successfully grazed can no longer kill you a moment later. Once it reads as dodged on screen, it stays safe for the rest of its (short) remaining life.
The moon now gives you real time to react after a clock pickup rewinds it, instead of being able to land on you again almost immediately.
Fixed a bug where leaving the game open past midnight without refreshing could let you keep playing yesterday's daily challenge while your scores landed on today's leaderboard. The game now refreshes itself when a new day starts.
EXPERIMENTadded a score breakdown to the game-over screen, showing how many points came from gems, stars, grazes, the clock, and wave-clear bonuses.
EXPERIMENTthe siege ram tows a CAISSON — a powder wagon hitched behind it. The wagon is a flag. Shoot it and it dumps. Light it and it cooks, then blows. If the ram is next to it when it goes, the clock is charged. A hook or a lodestone can steal the wagon off the hitch. Water or frost snuffs the fuse. If a loose caisson reaches your bunker, it can break you.
The ram is still the clock. The lodestone still pulls iron. Tonight the clock has a payload.
EXPERIMENTan eleventh warhead, LODESTONE. It does not explode. It plants, and for a beat it yanks iron toward itself — the ram, the shot pile, the gun, the shield, the hanging wreck. Two pieces flying in is a combo. Iron that hits your bunker can break you.
Minus on the tray. A short lode still lands on the lip. A lodestone on your bunker still kills you. The net still snares. The ram is still the clock, unless you steal it sideways.
EXPERIMENTa NET hangs over the ram's road. Knock the KNOT and it drops. If it lands on the ram, the ram is snared — it crawls. Shoot the net off it if you want the clock back. If the net reaches your bunker, it can break you.
The mesh is a flag. Smash it if you want — it still falls. The lamps still rain. The ram is still the clock, just slower in the net.
EXPERIMENTLAMPS hang on a rack over the ram's road. Knock the CLEAT and they fall — four burning lanterns into the yard. Oil under them lights. If the ram is under them, it is seared. If a lamp reaches your bunker, it can break you.
The rack is a flag. Smash it if you want — the lamps still fall. Water snuffs. The shield still banks. The ram is still the clock.
EXPERIMENTa SHIELD hangs on the right wing. A shot that hits it while it hangs does not explode — it bounces. Bank one into a neighbour. Knock the PEG and the disc falls. If it reaches the ram, it bowls. If it reaches your bunker, it can break you.
The disc is a flag. Smash it if you want — it still falls. Mines, satchels and hooks still stick. The cellar still opens. The ram is still the clock.
EXPERIMENTa CELLAR sits under a hatch in the yard. Knock the HASP and the floor opens — a pit, and the oil that was stored under it dumps into the hole. If the ram is on it, it falls in. Fire in the spill lights.
The hatch is a flag. Smash it if you want — it still opens. The millstone still rolls. The ram is still the clock.
EXPERIMENTa MILLSTONE stands on the near cut. Knock the SPRAG and the wheel rolls into the yard. If the ram is in the way, it is milled. If the stone reaches your bunker, it can break you.
The stone is a flag. Smash it if you want — it still rolls. Satchel still cooks. The ram is still the clock.
EXPERIMENTa tenth warhead, SATCHEL. It does not explode on impact. It sticks to the piece, cooks, then blows. Fire cooks it faster. Water or frost snuffs it. A hook can yank the pack onto the ram.
0 on the tray. A short satchel still lands on the lip. A charge on your bunker still kills you. The palisade still tips. The ram is still the clock.
EXPERIMENTa PALISADE stands on the left wing. Knock the BRACE and the wall tips — five pikes into the yard. If the ram is in the way, it is spiked. If a pike reaches your bunker, it can break you.
The rail is a flag. Smash it if you want. The capstan still hauls. The ram is still the clock.
EXPERIMENTa CAPSTAN sits on the right of the cut. Knock the PAWL and it hauls — a crate yanks across the yard. If the ram is in the way, it is bowled. If the crate reaches your bunker, it can break you.
The drum is a flag. Smash it if you want. The coals still roll. The ram is still the clock.
EXPERIMENTa new hazard - the wind fan. A post with spinning blades stands over a mid-fairway zone and gusts your ball sideways mid-flight, but only in short on/off bursts, not constantly - a faint haze (and drifting puffs) over the zone tell you whether it's blowing before you swing, and a shot that crosses during a burst gets pushed off-line, so timing the swing matters now, not just aiming it.
EXPERIMENTa FORGE sits on the left of the cut. Knock the GRATE and the coals roll — burning shot down the road. If the ram is in the way, it is seared. If a coal reaches your bunker, it can break you.
The hood is a flag. Smash it if you want. The aqueduct still dumps. The ram is still the clock.
EXPERIMENTan AQUEDUCT stands behind the keep. Knock the KEYSTONE and the channel dumps — water along the arches, then the span falls. If the ram is under it, it is washed. If the yard is on fire, it is doused.
The channel is a flag. Smash it if you want. Frost still freezes. The ram is still the clock.
INCOMING is now 50% bigger and sits about a third of the way down the screen instead of hugging the top.
Enemy shells have their own whistling incoming sound now, instead of reusing your own launcher's thump.
Explosion debris is now irregular rock/wood chunks instead of clean triangles, and every kill leaves a small dust cloud that drifts up and fades.
The ground is darker (the bright line along the surface toned down 30%, plus a gradient that deepens toward the bottom of the screen) and targets now visually sit IN the terrain instead of floating in front of it.
EXPERIMENTa ninth warhead, FROST. It does not explode. It snuffs fire, freezes the piece, and throws hail down the road. Hit a frozen thing and it shatters. A frozen ram crawls.
1–9 on the tray. A short frost still lands on the lip. Frost on your bunker still kills you. The bellows still puff. The ram is still the clock.
Added crate stacks: some stages now hide a two-block stack near the launch pad — knock the base crate out (direct hit, or a nearby drum/warhead/bunker explosion) and the crate balanced on top actually falls, physics and all, instead of the whole field being circular towers with new stats.
EXPERIMENTa GUN sits on the ram's road. Knock the TAMP and it fires — an iron ball through the yard. If the ram is in the way, it is bowled. If the ball reaches your bunker, it can break you.
The barrel is a flag. Smash it if you want. The vane still shifts the wind. The ram is still the clock.
EXPERIMENTa VANE stands by the mill. Knock the STEM and the wind reverses — east becomes west, the mill turns the other way, a loose balloon drifts the new line. The vane falls.
The cock is a flag. Smash it if you want. The signal still calls. The ram is still the clock. Wind is still honest: shown, true, constant after the shift.
EXPERIMENTa SIGNAL fire stands on the left of the yard. Leave it and it lights, then a second ram sallies. Knock the BRAND and the bowl falls — the call never goes out. Water snuffs it. Hook yanks it down.
The bowl is a flag. Smash it if you want. Hook still yanks. The first ram is still the clock — this one just calls for help if you ignore it.
EXPERIMENTan eighth warhead, HOOK. It does not explode. It sticks, and yanks the piece toward your bunker — hangings come loose, a ram you hook is reeled in at you. A tree you hook can fell the ram, or break you.
1–8 on the tray. A short hook still lands on the lip. Hook on your bunker still kills you. The pine still falls. The ram is still the clock.
EXPERIMENTa pine stands behind the ram. Knock the NOTCH and the TREE falls — a long trunk bowling down the road. If the ram is under it, it is felled. If the crown reaches your bunker, it can break you.
The trunk is a flag. Smash it if you want. The shot pile still rolls. The ram is still the clock.
EXPERIMENTa pyramid of cannonballs sits on the right of the yard. Knock the KEY and the SHOT rolls — iron bowling down the hill. If the ram is in the way, it is bowled. If a ball reaches your bunker, it can break you.
The top ball is a flag. Smash it if you want. The clock still runs. The ram is still the clock.
EXPERIMENTa clock tower stands on the left of the yard. Knock a WEIGHT and the CLOCK runs away — hands spin, then the face falls. If the ram is under it, it is crushed.
The face is a flag. Smash it if you want. Water still dumps. The ram is still the clock that ends the run — this one just tells the time until you cut it.
EXPERIMENTa seventh warhead, WATER. It dumps a flood — fire goes out, oil washes, flour wets. A splash throws nearby pieces. Drop it in the well and the geyser comes back wetter.
1–7 on the tray. A short water still lands on the lip. Water on your bunker still kills you. The silo still dumps flour. The ram is still the clock.
EXPERIMENTa flour silo stands at the back of the yard. Knock the CHUTE and a pale cloud dumps. Light it — fire, a neighbour already burning, the pitch — and the dust flashes.
The cap is a flag. Smash it if you want. Water puts the cloud out. The axe still chops. The ram is still the clock.
EXPERIMENTa cauldron of boiling pitch sits on three legs. Knock a LEG and the vat dumps — oil already on fire, running downhill. If the ram is under it, it burns.
The vat is a flag. Smash it if you want. The well still geysers. The ram is still the clock.
EXPERIMENTa well sits in the left yard. Drop a shell in the bowl — not the rim — and it boils, then a geyser throws the yard. Oil in the well comes back up. Fire makes it hot.
The bucket on the rim is a flag. Smash it if you just want the point. The drawbridge still pits the road. The ram is still the clock.
EXPERIMENTa sixth warhead, GRAPE. The canister bursts in the air — or when it hits — into eight pellets. Each pellet is a small HE. One shot can knock two jobs.
1–6 on the tray. A short grape still spreads on the lip. Pellets that land on your bunker still kill you. The keep still pancakes. The ram is still the clock.
EXPERIMENTshareable replay links. The Leaderboard panel's ▶ Watch my best replay button now has a neighbor, 🔗 Share this run — it turns your saved personal best into a link. Whoever opens it lands straight on a replay of that exact run (no how-to-play screen first), watches it play out, then gets a ▶ PLAY ATC YOURSELF button to try it themselves.
Fixed: the personal-replay feature (v35) could silently re-fly a saved best under the WRONG collision rule if you toggled Easy Collision after setting it — the replay always used your current setting, not the one the run actually played under. It now records and replays under the setting that was active at the time.
EXPERIMENTa timber crib sits on the left bank of the cut. Knock the CRIB and four logs take the road — down the hill, toward you, into the ram if it is coming the other way.
Oil on the road makes them faster. They can pin the ram. They can break your bunker. Smash the flagged log instead if you just want the flag.
Fixed graze timing: the reward window used to quietly get tighter (in reaction time, not on screen) as the game sped up, so grazing got harder late-run beyond the intended difficulty ramp. It now stays consistent throughout a run.
The "community best" number on the game-over screen is now always the same number shown at the top of the all-time leaderboard, instead of a separate figure that could disagree with it.
EXPERIMENTchaining grazes now pays more the longer the streak — each graze in an unbroken chain is worth more than the last, up to a cap, instead of a flat amount every time.
Made the enemy's turn impossible to miss from anywhere on screen: the whole scene now washes red while you can't fire, and a big "INCOMING" banner (with the Major's line underneath it) sits top-centre for the duration.
EXPERIMENTemergency planes. Every 6th arrival now spawns flagged EMERGENCY — a small pulsing cyan "E" badge next to its tag, plus the same word in the plane's info bar and the side plane list — and is worth double score (2 instead of 1) if you route it safely. Same collision/exit/altitude rules as any other plane; the only difference is what it's worth and that it now has to compete for your attention against everything else already aloft.
The ?tune=1 lab panel gained a slider for it (spawn count per emergency plane, 0 = off) — same as every other pacing number already there.
EXPERIMENTevery piece you still have to flatten flies a red flag — drums, the mill, the grate, the tank, all of them. The last three smoke so you can see them from the bunker.
Run out of shells and it says OUT OF AMMO, and how many flags still fly. Not FORT STANDS. The ram is still the clock, not a flag. Cover is still cover.
EXPERIMENTthere is a cut in the hill now — a road that climbs from the bunker up to the yard. A short pull lands on that road. The ram comes down it. The portcullis sits on it.
The sides of the terrace are still a cliff. Oil still runs downhill. Pull-down is still power. There is still no tap-to-fire.
Stage 2 now has a portcullis on the lip of the terrace. Two posts, an iron grate hanging, a wooden WINCH. Knock the winch and the grate slams. If the ram is under it, it is pinned.
The grate is a flag. Smash it in the air if you want. The terrace still runs oil downhill. The mine still plants. The ram is still the clock.
The courtyard sits on a terrace now. A sharp lip, then the yard. Oil and water run over the edge downhill — toward you, toward the ram path. The ram comes over the crest.
The near field is still the low ground. A short pull still lands close. The mine still plants. The mill still turns on the wing.
There is a fifth warhead: MINE. It does not blow on landing. It sits, arms, and waits. The ram, the tank, a rolling cart, or a falling piece will trip it. Fire cooks it. The fuse will take it if nothing does.
Plant it on the path with a short pull. It is matter — concussion throws it, a neighbour can knock it. Dropping one on your own bunker still ends the run.
A short pull now lands close — in front of the bunker, on a ram that has almost arrived, on the lip of the yard. A long pull still reaches the back wall.
The camera follows that landing instead of staying locked on the courtyard. Pull length is still power. Pull-down is still the higher arc. You can still die to your own shell.
Stage 2 now has a windmill on the right wing. Honest wind turns it. Knock the BRAKE and it runs away — the sails sweep, bat the yard, and if there is oil or fire on it, it flings that in a ring.
The hub is a flag. Smash the axle and the sails fly off as boards. The water tower still floods. The ram is still the clock.
Stage 3 now has a water tower — two legs and a tank. Knock a leg and the tank falls. When it bursts it is a flood: water runs downhill, washes oil, and puts fire out.
The tank is a flag. The oil derrick still gushes black. This one is the opposite job. The mortar still shells the yard. The ram is still the clock.
Stage 2 now has a trebuchet. Two posts, a hanging weight, a stone shot in the sling. Knock the PIN and it throws the boulder through the yard.
The shot is a flag. You can smash it in the cup, or let the machine throw it for you. The mortar still shells the courtyard. The ram is still the clock.
The mortar no longer aims at your bunker. It shells the courtyard — your toys, the ram path, the powder. A hit will throw the yard. It will not end the run.
The first round is still a ranging shot, short of the cluster. The ram is still the thing that kills you if it arrives. You can still die to your own shell.
Stage 2 now has a crane with a wrecking ball hanging over the yard. It swings. Knock the jib — or the ball — and it drops. It is heavy, and it will bowl whatever is under it.
The ball is a flag. The tank still crosses once. The cart still runs when you knock the chock.
The tank no longer turns around. It enters from the left, crosses the courtyard once, and if it leaves the right edge it is gone — not a flag anymore, no points for ignoring it.
The camera stays on the fight. You can shoot it as it crosses, or let it go and spend the shell on the mortar. The ram is still the thing that kills you.
If the mine cart rolls out of the courtyard, it is gone — it is no longer a flag, and the camera stays on the fight. You do not have to chase it into the desert.
Knock the chock, let it bowl the yard, and if it keeps going that is the clear. The tank still patrols. The ram is still the wedge that kills you.
Stage 2 now has a dam. A wooden gate holds a pond of oil you can see before the first shot. Knock the gate and the lip gives — the pond floods downhill.
Fire will follow the river. The ram can run it. The first courtyard is still small. The mortar still ranges on stage 3.
The gun is yours again the moment the shell is gone. You do not wait for the yard to finish falling. Switch warheads and fire while the ram is still rolling.
The next courtyard also comes up faster after a clear. One shell in the air at a time. The mortar is still on stage 3.
Stage 3 now has a mortar. It is a flag — a short iron tube that loads, then lobs a real shell at your bunker. The wind on that shot is the same wind you see.
Knock it over or light it and the charge dumps in the yard instead. You can also hit their shell with yours. The ram still rolls. The first courtyard is still small.
The first courtyard is small now — two drums, a boulder on a plank, and the ram. You cannot wipe a city with one shell because there is not a city yet.
Stage 2 brings the powder keg and the cistern. Stage 3 brings the tank. The ram is faster every stage. Intensity ramps; the opening teaches the shot.
A powder keg now sits in the courtyard. Light it — oil-fire, a neighbouring drum, or an incendiary — and it cooks for a beat, then detonates and throws the yard.
It is not a bigger HE shell. Smash it and it still goes; fire is how you set the chain from a distance. Concussion can toss it into a burning puddle.
A siege ram now rolls through the courtyard toward your bunker. It will bowl the drums, fall into a crater, burn in oil-fire, and kill you if it arrives.
It is not a flag — you can race the fort or stop the ram. Concussion throws it back. HE digs a pit in its path.
The camera now looks at the fort, not just the gun, and it turns with your aim — drag left or right and the view follows so the piece you are shooting at stays on screen.
On a phone the view pulls back a little so the left and right flags stay in frame. You still aim with one drag. There is no separate pan or 360 rotate.
You can see how many hits something has left. One-shot pieces have no bands. Anything tougher wears gold bands — a missing band is a hit you already landed — and a hit flashes N LEFT.
The fort is a machine now, not a stack of the same box: a tall pillar that tips, an arch whose lintel drops if a leg goes, a plank with a boulder perched to roll, a wedge ramp, and a fat cistern that dumps oil down the slope when it bursts.
Salvo is in the Lab now, with LOB and ATC — it sits in that section on the home page, and the same Lab rules apply: one structural swing is allowed, size is not a reason to decline, and one Discord voice is enough.
The opening view is now from behind your bunker, looking at a real fort — courtyard walls, two towers, a keep, oil drums in the yard — instead of a sea of empty hills with three distant boxes.
The cannon is visible and tracks your aim. The warhead tray stays on screen for the whole run.
Salvo is a 3D physics spike of LOB's drag-and-launch verb. Pick a warhead, pull back, and watch the fort react for real — blocks tumble, craters stay, oil runs downhill, fire follows the oil.
Four ordnance types: HE shells crater and break stone, concussion grenades throw structures instead of deleting them, oil slicks pool in the holes you dig, and incendiary rounds ignite wood and any oil they touch.
Same landscape for everyone each UTC day. Flatten the fort, advance, the ground keeps every scar. Blow yourself up and the run is over.
EXPERIMENTa new fairway hazard - glue patches. A dark, sludgy stretch of green where the ball just... stops. Land in one and there's no bounce, no long roll - the shot dies right there, so the read from the tee is now "how do I avoid this patch" as much as "how do I clear the hole."
EXPERIMENTyou can now always see which sector of the Major's line you're in, and how many stages until the next one — a small line under the stage counter, on every stage, not just when a new sector starts.
Fix: beacons 1 and 2 moved (Discord report from mcbracket). Same rule as always — each sits due west of the exit it serves — but they now sit exactly where that route crosses the diagonal from exit 3/4 instead of further down the same line, so a delayed command queued there catches traffic headed either way, not just one.
EXPERIMENTa second runway, A2, facing south off the middle beacon — planes now land at one of two real runways with different approach headings (tagged APT1/APT2 on the board), instead of every landing funneling onto the same one. How to Play's landing section and command reference cover the new atta2.
Fixed a shield bug: once you had spent a shield during a long combo, you could not earn another one for the rest of that streak — the readout would sit at something like "5/3" with no shield on your ship. You can now re-earn a shield any time you are at or above the earn bar.
Combos are more forgiving in DEEP ORBIT. Gems get rarer as the late game ramps up, which was quietly making combos impossible to hold down there; the combo timer now stretches as you go deeper, so a gap in gem luck no longer wipes a streak you earned.
EXPERIMENTa new fairway hazard - butter zones. A visible gold-sheen patch where the green runs slick, so the ball keeps sliding well past where normal friction would have stopped it. Read it before you swing: misjudge the power crossing one and you'll slide clean through the rest of the approach.
Fixed: it wasn't always obvious when it's the enemy's turn and dragging won't fire. The cannon now visibly dims, gets a pulsing red ring, and a plain "ENEMY TURN — HOLD" label right where you'd start a drag, plus a blocked cursor on desktop.
EXPERIMENTbackgrounds now shift with the named sectors from last version — a cool mist over the Harbor Line, green over the Foothills, deepening red the further into the Major's territory you push, and redder still on a long run past the written sectors.
EXPERIMENTthe run now has a place, not just a stage number. Every five stages is a named sector of the Major's line — The Outskirts, Harbor Line, The Foothills, Inner Ring, the Major's Perimeter — and a title card names it and says why it matters when you get there, whether that's the start of a fresh run or the moment you push into new ground.
New: personal replay. Open the Leaderboard panel and tap ▶ Watch my best replay to re-fly the exact run that set your current best — same seed, same spawns, same commands you actually issued, at the same moments you issued them. Works for both Classic and Daily (each board keeps its own). Watch-only: it can't be steered, doesn't count as a run, and doesn't touch your score or the board.
Added a shield status readout — you can now see how close you are to earning a shield, and a clear "ready" label once you have one, instead of only finding out after the fact.
Added a pause button (tap the new ⏸ icon, or press Escape on desktop) — the game used to only pause when you switched tabs.
Smoothed out the moon's visual snap when its position resets after a clock pickup, so it reads less like a sudden ambush.
EXPERIMENTadded procedurally generated background music that builds in intensity as your run speeds up. No download — toggle it with the existing sound button.
The duck's speech bubble was still in the way after last version's move — it now sits at the top of the screen, clear of the catapult and your firing area entirely.
EXPERIMENTerosion-collapsed towers now break into independent chunks that each fall and tumble on their own with real gravity and rotation, landing on the actual crater below them, instead of tipping over as one rigid piece.
The duck's speech bubble no longer pops up dead-centre — it now sits over your side of the field, near the catapult, instead of over the middle of the action.
Fixed the catapult sometimes ending up hidden behind the corner buttons on longer runs at higher stages.
New stage-clear sound.
EXPERIMENTcastle towers got a full art upgrade — real weathered stonework and lighting instead of the flat placeholder blocks. Same size, same behavior — bunkers, drums, warheads and the enemy battery are unchanged for now.
The duck's speech bubble no longer overlaps the shield/board/menu buttons on phones — it now sits clear of that whole column instead of sitting right on top of it.
EXPERIMENTa tower undermined by erosion now visibly falls instead of vanishing instantly — it topples toward whichever side actually gave way and sinks into the ground before the hit effects land.
The stage-clear fanfare is quieter now — it was landing as loud and jarring, not celebratory.
EXPERIMENTtowers can now be undermined without a direct hit. If enough nearby explosions dig out the ground right under one, it collapses on its own and scores the same as a hit — “the ground remembers where you hit it” now has teeth, not just a visual mark. Scoped to plain towers only for this first build; bunkers, drums, warheads, the marcher and the boss are untouched.
The sky is a painted one now, not a gradient — and there are three of them, so which sky you fight under still changes daily the way the terrain does. The sun, the ridges and the haze are still drawn live on top, so they keep tracking the screen shape on any device.
Every sound in the game is a real recording now: the launch thump, the shell going off, a structure coming down, the stage-clear sting, and a shell lost off the edge of the world. The synthesised bleeps they replace are gone.
EXPERIMENTthis is the first build to ship generated art and audio. Both were made offline by AI image and audio models, committed as ordinary files, and served from our own server — the game still makes no requests to anyone else, and the mute button works exactly as before.
Every 5th stage now ends with a fortified stronghold instead of an ordinary target — three hits to bring down instead of one, visibly bigger with its own hit-point readout, and it pays back more ammo and score than anything else on the field once it falls. The Major gets new lines for it too.
New: drag a plane to set its heading — press down on a plane and drag in the direction you want it to go, then let go. It's the same command as typing the exact-heading key (q w e / a s d / z x c), just gestured: a dotted line and a compass label (N/NE/E…) follow your finger or cursor so you can see the heading before you release. Works with a mouse on desktop too, not just touch.
Fixed a bug where a graze scored right at the fastest legal lane-swap speed would sometimes not register, even on a clean dodge.
The ship now shows its own swap-cooldown state continuously (a faint grey tint), not just when a tap is denied.
EXPERIMENTDEEP ORBIT — survive past the point where the game used to level off, and the ship keeps getting faster and debris keeps getting denser instead of holding steady.
EXPERIMENTthe windmill now has an upside. Thread the ball past the blades without ever touching them and the hole that sinks costs one stroke less - a real risk/reward choice instead of a flat wall.
Craters now carry across a whole run, not just the stage you made them on — the ground you're standing on later in a run shows the damage from earlier stages, not a clean slate every time.
New: radar scope — a rotating sweep and range rings now play behind the board, and every plane carries wingtip nav lights (red left / green right, the real aviation convention). No rule changed: this is presentation only, same grid, same colors for where a plane is headed.
OVERCLOCK's "all points worth 30% more" now actually covers all of them: grazes and the wave-clear bonus were still paying a normal day's rate.
EXPERIMENTthe game-over screen now flags a near-miss run — if you died within 15% of your personal best, it says exactly how many points short you fell.
In the first 10 levels, a hardened bunker will no longer set up somewhere its cracked (half-destroyed) state needs a shot past a tall ridge to finish off — the second, precise hit it demands now only lands on ground you have a clear line to reach.
Fixed: a freshly spawned enemy battery was rendering — and could be hit — as a circle up to ~18x the size of every other target on the field, shrinking back toward normal only after it had taken a few turns. It's now the same size as a tower throughout the fight, like every other target type.
Dragging to aim now damps out small-finger jitter while the pull is still short, so fine, low-power angle adjustments hold steadier. A full-power flick is untouched — the damping fades out as the pull gets longer.
A cracked bunker no longer sinks into the crater your own shot just dug. The ground still remembers every other shot the same way it always has — a bunker's second hit just isn't made harder to line up than its first.
A faint dashed ring now marks the safe distance around your own launcher, so blowing yourself up isn't a total surprise the first time it happens.
A bunker now pays out ammo, not just points. Destroy one — direct hit or a chain blast — and you get an extra shot on top of the existing 2-point bonus, so it reads as a supply cache as well as a hardened target.
Experiment (lab): a new enemy that moves. From stage 6 on, a hostile unit can appear at the far right edge and march toward your launcher one step per shot you take — ignore it and it eventually reaches you and costs ammo (or gets absorbed by your shield, same as a battery hit); shoot it down first and it pays out more than a plain target. How often it shows up climbs every stage rather than staying flat, so a long run keeps getting louder instead of settling into a rhythm.
Shooting a marcher down (or catching one in a chain blast) is worth 2 points, same as a bunker.
Structural (lab): the things you shoot at are real artwork now, not shapes. Towers are coursed masonry with weathered, individually-toned blocks and light coming off the sun side; drums are round, ribbed and rusted; bunkers are poured concrete with aggregate, staining and sandbags; the warhead and the enemy battery got the same treatment. A damaged bunker is its own picture, so the crack that tells you it's one hit from gone is still there.
If the artwork fails to load for any reason, every target falls back to the shapes you saw yesterday — you'll never be left shooting at something invisible.
Structural (lab): the enemy battery now has a name and its own voice. "The Major" introduces itself the first time it arms each stage, taunts when it fires, and reacts — in its own words, from where it's standing — when it hits you, misses, or gets blocked by your shield. Destroy it and it gets a last word too. The duck still only comments on your own shots; the Major speaks for itself now instead of the duck describing it in the third person.
Structural (lab): LOB has a painted horizon. The sky was a three-colour fade with a circle on it; it is now a dusk desert — layered mesas receding into haze, the low sun sitting in a real glow, thin cloud catching the light — and the ground has grain in it, so a crater cuts into textured dirt instead of one flat colour. The skyline is seeded from the day, so everyone gets the same one and it changes tomorrow.
On a phone the ground now fills the bottom of the screen. It used to stop with the play area and leave the lower third as bare sky with a stray line ruled across it.
New: ☆ Daily Challenge — a second start button on the title and game-over screens (or press D). Same rules, but the puzzle changes once every day at 00:00 UTC and is identical for every player that day, so "today's board" is something everyone can compare. It has its own leaderboard tab (Classic / Daily) inside 🏆 Leaderboard — a Daily score never overwrites or gets overwritten by a Classic one, and Daily scores don't count toward the classic "avg best by version" chart, since they're not the same benchmark.
Structural (lab): a new shield button lets you spend shots to build erodable defense in front of your launcher. Each segment (up to 3) absorbs exactly one enemy battery hit instead of it costing you shots directly — build it up front if you'd rather pay ammo on your own terms than gamble on dodging. It's stage-specific: a fresh landscape means you rebuild it if you want it again.
New: tap any beacon, exit or the runway itself (not a plane) for a plain-English popup explaining what it is and what to do with it — a beacon says it's inert until you queue a delayed command there, an exit repeats its required altitude, the runway states its landing heading. Tap anywhere to close it.
OVERCLOCK day: every point source (gems, stars) now pays 30% more, matching the 30% speed penalty. Previously only grazes got a bonus.
EXPERIMENTeach daily mutator now remembers your best on it specifically (shown on the title and game-over screens), separate from your single all-time best.
EXPERIMENTfrom stage 8 on, a second tower can also turn into an enemy battery. The two take turns firing at your launcher rather than shooting at once, so a late stage can now put you under pressure from two directions instead of one.
Fixed: How to Play never actually said what a beacon (the small teal diamonds on the board) is for — one player asked directly. It now says plainly, right where the tag legend is: on their own they do nothing, they're checkpoints for a delayed command you've queued to fire there.
Added a hidden developer panel (only reachable with a special link, invisible in normal play) for live-adjusting tick length, spawn rate, plane cap, turn rate and the two advisory-ring lookaheads while testing. Nothing about normal play changes — the sliders start at exactly today's numbers.
The enemy battery from last night no longer ends your run outright when it hits you. Getting hit now costs you shots instead (2 by default) — real damage, but the same kind of loss as running out of ammo, not a separate instant-death.
Bunkers now pay for themselves: finishing one off is worth 2 points instead of 1, matching the two shots it costs to bring down, and it can occasionally take a wounded neighbour with it.
Bunkers no longer look like safes. Clearer silhouette (sandbags at the base, a proper firing slot instead of a keypad-looking square) so it's obvious you're cracking a structure, not a strongbox.
The on-screen score is now labelled SCORE instead of DESTROYED, since it's no longer always the same as the number of targets you've blown up.
EXPERIMENTa rare enemy battery can now appear from stage 4 on. It shoots back at your launcher after each of your shots, aiming closer each turn it survives — destroy it first, or it eventually gets you. First pass: it dies in one hit, and there's no way to shield against it yet, only to end the threat quickly.
Dying no longer sends you back to stage 1. The game now remembers the furthest stage you've actually CLEARED today, and your next run starts there instead — so a bad run on a hard stage doesn't cost you the easy ones you already proved you could beat.
The menu and death screen both say plainly which stage you'll continue from before you drag.
New button on the death screen, 'restart from stage 1', for anyone who wants the full climb (or a leaderboard run with the higher score ceiling that comes with playing every stage) instead of the checkpoint.
This resets with each day's fresh landscape — a checkpoint from today's course doesn't carry into tomorrow's.
Reverted: the rock obstacles from last night are gone again. An indestructible rock that just eats a shot for nothing wasn't fun, it was friction.
Bunkers (last night's two-hit structure) stay — they still reward the second hit with a score, so they're a different problem from the rock.
New target: warheads. Bigger and louder than a drum, rarer, and its secondary blast reaches much further — catch a cluster of targets near one and watch the whole area go, with its own bigger explosion and screen-shake.
New target: bunkers. Grey, flat-topped, and tougher than a tower — they take two hits to bring down instead of one, and crack visibly after the first so you can see it's working.
New landscape hazard: rock outcrops between the launcher and the first targets. They're indestructible and block a shot exactly like the ground does, so a flat, point-blank line into one just wastes it — you have to arc over.
Both are woven into the existing stage generator, so they show up on the same shared daily landscape as everyone else, not as a separate mode.
Fixed the new "all games" link overlapping the existing top-left button on the title screen and during play - both were readable before, just stacked on top of each other.
Fixed: "WRONG ALTITUDE" gave no way to check what altitude an exit actually wanted before it killed a run. Every plane's tag now shows it directly (e.g. "E2@9" instead of just "E2") — every exit always needs 9, and now the tag says so instead of making you remember a rule from How to Play. The death screen spells it out too ("right exit, wrong altitude — every exit needs 9"), and the lost-plane warning ring's explanation now covers wrong-altitude, not just wrong-heading.
Fixed: Circle's How to Play entry said what it does ("circle in place") but never how to stop it. It now says any turn or heading command cancels the circle and resumes flight.
Changed: How to Play opens short instead of as one long scroll — the tag legend and the guided-tutorial button are up front, everything past that (worked example, landing, the collision rule, difficulty, the full command list) is now a tap-to-expand section with nothing removed.
New: Leaderboard. Every player gets the exact same seeded flight, so "planes safely routed" is a fair, comparable score between two strangers rather than a private number — beat your last submitted score and you're offered a spot, or check today's and all-time top scores any time from the 🏆 Leaderboard button inside "what's new."
Fixed: queuing an altitude command at a beacon used to silently erase an already-queued direction command at that same beacon, and vice versa — only whichever one you typed last would ever fire. Both now queue and fire independently, e.g. "btd@b1" then "ba9@b1" turns the plane AND climbs it when it crosses beacon 1.
Fixed: entering the guided tutorial ("New here? Press H") could freeze the whole screen — clicking anything after that stopped showing any response at all.
Fixed: tapping AT BEACON to queue a command, then tapping the beacon, always failed silently — the only way to actually queue a delayed command was typing it (e.g. "aa9@b1").
Fixed: clicking a command button now also echoes the equivalent typed command into the command-line prompt at the bottom of the screen, not just a fading confirmation at the top.
Fixed: the ALT +/- buttons couldn't climb a queued (not-yet-fired) command more than one step by tapping repeatedly — every tap computed the same value until the command actually fired.
New: the guided tutorial now also teaches circle and delayed "@beacon" commands, not just heading and altitude.
Fixed: the collision-warning ring around a plane still used the classic one-square-and-one-altitude rule even with Easy Collisions on, so it warned about pairs that were actually safe under the looser rule. It now matches whichever rule is actually in effect.
Fixed: the info box that appears when you click or tap a plane showed a pending altitude change (e.g. 7→9) but not a pending heading change — heading now shows the same way (e.g. E→W) once you've queued a turn.
New: Settings is now its own screen instead of a checkbox buried in How to Play — open it from the button inside How to Play, or press S. Easy Collisions moved there; nothing about what it does changed.
Fixed: closing How to Play with its own button, then reopening it later with the H key, could leave Escape (and every other keyboard shortcut) silently doing nothing until you clicked somewhere else first.
Fixed: clicking (or typing) a relative turn (left/right) more than once before the next tick was silently dropping every click after the first — it recomputed off the plane's actual heading instead of the turn already queued, so rapid clicks all landed on the same target. Every click now counts immediately.
New: an Easy Collisions setting (How to Play > 5 · Difficulty). Off by default (same rule as always: one square and one altitude apart is too close). Turned on, only an exact same-square-and-same-altitude overlap ends the run. Applies to your next run, not one already in progress.
Fixed the play-time number, which was badly wrong. If you left a run open in a tab that was visible but not in front of you, the game kept counting it as time you were playing — forever. On 08-11 that recorded 9.3 hours across 51 sessions, which nobody played.
Removed "Time played" from the stats panel entirely. The game still measures it for the agent's own use, but it isn't a number worth showing you when it's been wrong this many times.
Fixed a crash from v23's new destination ring: selecting any plane routed to the airport froze the game (the plane and everything else stopped redrawing). Airport-bound planes select cleanly again.
There's now a '↻ play again' button on the death screen, next to the post/share buttons, if you'd rather tap than drag to restart.
Shots you don't use to clear a stage now carry into the next one (up to 3 extra) — a strong early stage buys you a cushion for a harder one later, instead of resetting to six every time.
Clicking or tapping a command button now shows the exact keyboard command it just ran (like 'aa9' or 'br') in the confirmation flash, so the buttons teach the typed syntax instead of hiding it.
Select a plane and its actual destination — the exit gate or the runway — now gets a pulsing ring drawn right on the board, instead of you having to work it out from text alone.
Altitude 0 can no longer be commanded directly — it only ever meant a crash. Altitude now runs 1-9; a landing plane still drops to 0 on its own the moment it touches the runway.
How to Play now opens by telling you clicking works: click any plane and every command appears as a button, on desktop or mobile — no typing required. The keyboard-shortcuts line at the bottom, which used to say 'On a phone: tap a plane...', now says so for mouse clicks too.
Your last shot's strength and angle now stay on screen. Between shots they sit by the cannon; while you're dragging the next one they sit right above the live numbers, so you can dial to a difference instead of guessing from memory.
The ghost of your previous shot's arc is actually visible now — it's been there since v14, but so faint against the sky that most people never saw it.
Posting a score and sharing it now happen on the end screen, next to your score, instead of behind the board button in the corner. Added a share button that copies your result (or opens your phone's share sheet).
The first tap right after a run ends no longer counts — if you died mid-drag, that tap used to restart instantly and take the end screen away before you could read it.
New: a plane now warns you before it's lost. A pulsing red dashed ring with a ! appears around any plane that, on its current heading and altitude, will fly off the edge of the board without a matching exit underneath it if nothing changes — a lost plane, same as flying it off yourself. It's the same kind of advance notice the orange collision ring already gives you, for the other way a run ends.
Added a leaderboard. Everyone shells the same landscape each day, so there are two boards — today's, which resets at midnight UTC, and all-time. Open it with the 🏆 board button at the bottom left.
When a run earns a place on either board, the game-over screen says so and the board button starts pulsing. Posting is a deliberate button press rather than a form on the restart screen, because every tap there starts a new run.
The title screen now shows today's best score and who holds it, before you've played.
The guided tutorial's step 2 now teaches the direct heading command (bta, turn to west) instead of the turn-toward command (btte2) — same result, but the one you'll actually reach for once you're playing for real.
Fixed: on a phone or tablet, tutorial step 2 could never be completed. Its only buttons turned the plane 45° relative to its CURRENT heading, but the tutorial freezes the plane while you think — so the same button always produced the same result, and the needed heading was unreachable. Tapping did nothing, forever, with no error. There's now one button that does exactly what step 2 asks.
The result of your last shot ("DIRECT HIT +2", "NO HITS", etc.) now stays pinned near the score until your next shot lands, instead of only flashing briefly where it hit.
Fixed: the guided tutorial's auto-fly step (4) ignored every key, including - and = for speed — so a player who wanted to watch faster had no way to. Speed now works during that step, on both keyboard and the mobile speed button.
How to Play: the turn-toward commands (btte2/btta1/bttb1) now say they round to the nearest 45° instead of aiming exactly at the target, and the exact-heading command (btd) now says most returning players end up using it most.
Fixed: after manually skipping ahead (Enter on an empty line), a plane's sprite could visibly lag behind the grid square it was actually in — it now jumps straight to match.
New: a guided, interactive tutorial. Find it inside How to Play (a button, not a new key) — it hands you one real plane and walks you through the exact two commands from the worked example above it, live.
Added sound: a launch whoosh on every shot, a heavier thud on impact, a bright ding when a target goes down (higher-pitched for a chain kill), and a three-note chime when a stage clears. A new speaker button, top right, toggles it off and remembers your choice.
Enter with nothing typed now skips straight to the next tick instead of waiting out the real-time clock — useful when the board is quiet and you're just waiting for something to happen.
Fixed a bug where a successful near-miss dodge (graze) could still end your run a moment later if debris was waiting on the ring you swapped into - a graze now buys you a brief safety window against that specific coincidence, and pulling it off shows a "SAVED" callout so it's visible when it happens
EXPERIMENTthe near-miss save above is new and rare - it's tracked separately from other graze effects so we can see how often it actually comes up
Added a link back to zerodev.games. The existing top-left button goes to Orbit Dash, which is a suggestion, not a way out — there was no route back to the games list from here at all.
Fixed a title-screen layout bug on short/wide phone screens (landscape mode) where today's featured mutator name overlapped the tagline above it and the duck mascot
Fixed: targets could shrink to barely-visible dots on a phone. On a narrow screen the whole landscape has to be scaled way down to fit, and the towers were scaled down with it, with nothing stopping them from getting tiny. They now have a minimum on-screen size, the same way the cannon and the sun already did — this doesn't change where a shot lands or what it hits, only how big things are drawn.
Conflict alert: a plane gets a pulsing orange ring when it and another are projected to break the separation rule within the next few ticks, assuming nobody touches the controls. It updates every tick and clears the moment a course change resolves it — it never blocks a command or slows the board down.
The ring pulses faster the closer the projected tick is, so a 1-tick warning reads more urgent than a 3-tick one at a glance.
How to Play explains it: a warning, not a verdict — you still have time to act.
Added a hidden developer panel (only reachable with a special link, invisible in normal play) for live-adjusting shot count, blast radii, wind and shot power while prototyping. Nothing about normal play changes — the sliders start at exactly today's numbers.
Fixed: the 'all games' button was drawn straight over the command legend, so the text at the bottom of the screen was unreadable. Nothing on the board is drawn into the button strip any more.
You can play with the mouse now. Click any plane and its controls appear — altitude, turn, circle, and command-at-a-beacon — the same buttons phones have had since launch. Typing still works exactly as before.
The command legend is one line instead of four. The full reference lives in How to Play, where someone who doesn't know the syntax will actually find it.
Fixed on phones: tapping a plane now actually selects it. The tap target was about 15 pixels across, so most taps hit nothing — and since every command button only appears once a plane is selected, the game looked like it simply did not respond.
EXPERIMENTsome stages now hide an explosive drum among the towers — hazard-striped, with a warning triangle so you can see it before you shoot. Destroy it and it sets off a bigger secondary blast that can take out anything standing near it too, for a bonus TARGETS count in one shot.
There is a How to Play now. It opens by itself the first time you ever load the game, and the ? HOW TO PLAY button or the H key brings it back any time — including mid-run, which pauses the clock while you read.
It teaches from a worked example rather than a list of syntax: here is a plane tagged b7 E2, here is what each part of that means, here are the two commands that get it home.
The part it spells out hardest is that E2 on a plane means it MUST leave by exit 2 — that was always drawn on the tag and never explained anywhere.
Planes are no longer ever named h, so H opening the help can't make a plane uncommandable.
Planes no longer enter the board into a collision you could never have prevented. Before letting one in, the game plays the next fourteen ticks forward against everything already flying, and holds the arrival if that ends badly.
The specific case reported: a jet entering behind a biplane. They look safely apart when the jet arrives, but a jet gains half a square on a biplane every tick, so the crash was already decided. That arrival is now held back.
Left alone, the board now survives about a third longer before the first loss.
Fixed: a shell flown straight into a tower now blows it up. Until now only the ground could set the shell off, so a direct hit passed clean through the structure and detonated wherever it eventually landed — usually harmlessly behind it.
A direct hit is called out as DIRECT HIT, in gold.
Fixed: the letter m muted the sound instead of selecting plane m, so any plane named m could not be commanded at all. Planes are no longer ever named m — M stays the mute key, and every other letter still works.
Also removed a duplicated mute handler that had crept in.
LOB looks like itself now. Dusk over dry earth instead of Orbit Dash's blue-and-cyan space palette, with a low sun on the horizon and terrain that shows sunlit topsoil over darker rock — so a crater exposes what is underneath rather than just changing an outline.
The targets are small stone towers with flags, not red circles. You are demolishing structures, and now they look like structures.
The launcher is an actual cannon. The barrel tracks wherever you are aiming and kicks back when it fires.
Planes turn up to 90° in a single tick instead of 45°. A reversal now takes two ticks rather than four, and routing through a beacon is something you can actually set up in time.
A 45° turn still takes exactly one tick — the plane no longer overshoots to 90 when you only asked for 45.
Fixed: dragging to aim did not work on a phone — the drag would die about half a second in. The browser was deciding your slow, careful aim was a page scroll and taking the gesture away.
The duck is out of the world entirely. It talks from a fixed box at the bottom of the screen now — clearly part of the interface, not a thing standing in the field you are shelling.
Every shot tells you what it was worth. A hit shows +1 TARGET where it landed; a miss says NO HITS, in red, in the same place.
You can no longer hit the duck. That easter egg is gone with it — it was the thing making it read as a target.
The duck moved to your side of the field, onto a perch beside the launcher. It is still out there in the world and still talks from where it stands — it just no longer stands among the things you are trying to destroy.
It is still hittable, and still indestructible, if you manage a shot silly enough to land on your own position without taking the launcher with it.
Beacons have moved so each one lines up with something you actually need. Beacon 0 is due west of the runway — turn east there and you are on the approach. Beacon 1 is due west of exit 0, beacon 2 due west of exit 1, and all three sit on a clean diagonal to the far end of the runway.
Sound: a blip when a command is accepted, a buzz when it is rejected, a whoosh on takeoff, a two-tone chime when a plane is safely routed, and a crash you will not enjoy. Press M to mute — it remembers.
ATC is now listed under The Lab on the front page instead of alongside the finished games — which is what it is: a few hours old and changing several times an hour.
Fixed the real bug behind both the freezing and the level not advancing: every single shot was crashing partway through resolving. Craters and explosions happened, then it stopped — before checking whether you had cleared the stage.
So levels advance again, and the duck is actually hittable now. That feature has been broken since it shipped.
The trajectory preview is much shorter — cut by time rather than by dot count, which is what was wrong with the last attempt.
The arena is about 30% bigger in each direction (24×16 → 31×21 squares), with the exits, beacons and airport re-laid across it rather than stretched — so every guidance line still runs along a heading a plane can actually fly.
You can now set the pace: five speeds from 1× to 2×, starting at 1×. Press - and = on a keyboard, or tap the speed button on a phone.
Speed is wall-clock only. The tick sequence and the seeded arrivals are identical at every setting, so a faster game is the same game with less time to think — scores stay comparable.
Fixed a freeze. The duck's speech bubble used a rounded-rectangle drawing call that Safari before 16.4, Firefox before 112 and Chrome before 99 do not have — on those browsers the very first thing the duck said crashed the drawing loop and the game stopped dead. It is drawn by hand now and works everywhere.
More importantly: a crash can no longer freeze the game at all. The animation loop now always restarts itself, so a bad frame costs you a frame instead of the whole session, and the error is reported so it can be found.
If you were seeing a freeze and this did not fix it, please say which browser and what you were doing — the crash is now recorded rather than silent.
Beacon commands take an optional target prefix: `ete@b1` turns plane e north-east at beacon 1. A bare number still means a beacon, so everything you already type keeps working.
`@a1` targets the airport, and it means ANY square of the runway — `atw@a1` turns plane a north over whichever runway square it crosses. It is rejected with a message if no runway square is on the plane's path.
New `tt` turn-to command: `attb1` turns plane a toward beacon 1, `atta1` toward the airport, `atte3` toward exit 3. It picks the nearest 45° heading to the target's centre — and for the airport, aims at the start of the runway.
The airport is now labelled A1 on the board, and the runway is drawn across the three squares it actually occupies rather than a bar floating over one.
A plane told to reverse course now turns counter-clockwise: heading north and told to go south, it turns through north-west rather than north-east. Both ways round are the same four steps, so this was a coin-flip the game was calling wrong.
Beacon commands now tell you when they cannot work. Issuing one for a beacon the plane is not going to fly over is rejected with a message, instead of being accepted and then silently never firing — which is why they looked broken.
The square a plane occupies this tick is now highlighted, and the highlight jumps square to square while the plane glides between them. Every rule in the game is decided on that square, so you can now see which one it is.
The duck is on the field now. It stands out there on the terrain, it settles onto whatever ground you leave under it, and it talks from where it is standing rather than from a bar at the bottom of the screen.
You can hit it. It cannot be destroyed. It will have opinions about you having tried, and it loses some feathers.
Your own launcher now visibly tips over and goes dark once you have blown yourself up with it.
Fixed: after opening the changelog panel, its button kept keyboard focus and swallowed every keystroke — the game went deaf and clicking the board could not give control back. Clicking the board now restores it.
Guidance lines between the exits, beacons and airport now only run along headings a plane can actually fly (straight or exactly diagonal). They were drawn at arbitrary angles before, showing routes no aircraft could follow.
Killing a target actually feels like it now. The moment freezes for a beat, the screen flashes, two shockwaves go out, and the target comes apart into tumbling shards instead of politely vanishing.
The blast radius is exactly the same — none of this changes where a shot lands or what it destroys.
Direction keys now use the numpad layout: q w e / a s d / z x c, or 7 8 9 / 4 5 6 / 1 2 3. So `ata` turns plane a west and `bt9` turns plane b northeast. `s` (or 5) means hold your heading. The old 0–7 numbering is gone.
Planes now turn a maximum of 45° per tick instead of snapping instantly to any heading — line your approach up in advance.
Biplanes move continuously at half speed instead of darting a full square and then freezing.
Fixed: a plane could descend to altitude 0 and keep flying. Altitude 0 anywhere but the runway is now a crash.
Runways show a clear arrow for the landing and take-off direction.
Plane letters are case-insensitive — `Bta` and `bta` both command plane B.
The command console no longer sits underneath the buttons in the bottom corners. Pause moved from P to Space, because P is also a plane name — plane p was uncommandable.
A plane is on the board the moment you start, instead of fifteen seconds of empty sky.
The clock now always shows when the next aircraft is due, an empty sky says SKY CLEAR rather than sitting there silently, and typing when nothing is aloft tells you so instead of swallowing the keystroke.
Opening the changelog or the feedback form pauses the game — it was covering the command console and ticking on while you read.
Fixed: the launcher sat so close to the left edge that there was physically nowhere to drag back to. It has moved further in, and full power now needs a much shorter pull.
You can destroy your own launcher. Land a shot on top of yourself and the run ends there, with commentary.
You can still start the drag anywhere on screen — the pull is the direction and distance you drag, not where you press.
First flight: ATC, a browser revamp of the classic Unix air-traffic-control game. Route jets and biplanes across a labelled grid — land the green ones on the runway, fly the yellow ones out their numbered exit at altitude 9, and never let two planes end a tick within one cell and 1000 feet of each other.
Type terse commands, or tap a plane on mobile and use the buttons.
Built from a spec written by mcbracket and posted in the Discord. Same fixed seed for everyone, so scores are comparable.
LOB is the Rage Golf rebuild. The verb is identical — drag back from the launcher, let go, watch it arc — and everything built on top of it is new. No cup, no par, no strokes, no course.
Flatten every target across a landscape that deforms where you hit it. Six shots a stage, craters stay, and targets settle onto whatever ground you leave them.
The wind is constant, visible, and always telling the truth.
The duck came with us. It has stopped commentating on your putting and started commentating on your aim.
Tapping to swap rings during the brief post-swap cooldown now shows a quick grey ring pulse instead of doing nothing, so a blocked tap reads as blocked rather than missed
The tightest tier of the graze bonus ("PERFECT") was tuned so tight it almost never fired - loosened so it's still hard, just actually reachable
EXPERIMENTchaining grazes in a run now gets its own shockwave callout at 3, 5 and 8 - same green as the graze bonus, no score change
Free slot: the starfield now streams outward as your speed ramps up, like the world rushing past
The stats page now reports Rage Golf the way golf is actually scored: your number is the strokes in your best completed Daily 9, and lower is better. Nothing about play, par, the daily holes or the leaderboard changes.
EXPERIMENTthe wind arrow now sometimes undersells how strong the wind really is - a hole that reads calm might not be. Everything else about the arrow (direction, when it shows up) is unchanged.
OVERCLOCK now pays its extra speed off with bigger grazes (4 points instead of 3), and NO CLOCKS spawns more stars to make up for losing the slow-down pickup for the day.
Every daily modifier now trades a cost for a reward - before this, two of the eight were pure downside with nothing back.
The moon now shows up ten seconds later into a run. Everything about it is unchanged once it arrives - same speed, same warning, same lane swaps - it just stops being the thing that ends a lot of early runs before they get going.
It is still the exact same moon, at the exact same moment, for every player alive: nothing about when it appears depends on how well you personally are doing.
The duck introduces itself. The very first time it ever comments on one of your shots, it now says plainly that it reacts to what you do but never changes the shot itself - every line after that first one is the usual commentary.
EXPERIMENTfinish a daily round and, once enough other people have posted today, you'll see today's median score and how you stacked up against it.
EXPERIMENTthe tightest grazes (the closest slice of an already-close dodge) now pay off with a bigger burst, a stronger screen punch, and a "PERFECT" callout - same points as before, just a bigger show for the hardest version of the move
Fixed overlapping text on the title screen when a challenge link landed on a day with a named course modifier - the modifier's description and the challenge line were drawing on top of each other
EXPERIMENTthe two out-of-bounds walls at the edge of the world now each have their own feel, from a future day - some holes have a lively wall that bounces a shot back with real pace, others have a dead wall that just absorbs it. The boundary stakes change colour so you can tell which is which before you hit it.
Fixed a rare instant, unwarned death: grabbing a clock could occasionally make the moon snap straight onto your ship with no telegraph at all, right as you picked up a reward pickup
Added a fullscreen button next to the sound toggle, matching Rage Golf
Fixed a bug where a fast dodge-and-return between two close obstacles sometimes didn't count as a graze - it was being silently rejected because the ship's arrival animation hadn't finished, even though your swap was well within the rules
EXPERIMENTyour combo multiplier readout now warms from teal toward gold as you climb toward x5, instead of staying one flat color the whole way
EXPERIMENTwindmills. Some holes now have one - a solid mill house with four turning blades, sitting between you and the cup. You cannot putt through it, so those holes ask to be lofted, and they are worth an extra shot on par to match.
The blades stand still while you aim and start turning the moment you hit the ball. That is deliberate: the angle you can see is the angle you are shooting into, and playing the same shot again gives you the same result, every time.
The leaderboard no longer opens on an empty board when nobody has posted a score yet today - it falls back to the all-time board instead of showing a blank list. Picking a tab yourself always wins
The leaderboard no longer opens on an empty board. It opens on Today, but on a quiet day today can genuinely have no finished rounds yet - so it now shows the all-time board instead when today is still empty, rather than a blank list that looks broken. Picking a tab yourself always wins
Debris you graze past now clears off the board about a second later instead of hanging around for its full life. It was already drawn as a spent outline once you had dodged it, but it stayed on screen cluttering the lane - two players asked for exactly this in the Discord
There's a Discord now - join from the game over screen, or from the thank-you note after you send feedback. Bug reports and ideas get read there the same as in-game feedback
EXPERIMENTsurvive a boss wave with your combo still alive and you get a WAVE CLEAR bonus - points scaled to your multiplier, plus a green shockwave to mark it
Fixed: returning players who missed the last update now actually see the 'updated' badge on the info button on their first visit back, instead of it silently staying on 'what's new'
Fixed: if you posted a score to the leaderboard, then replayed today's course and beat it, the game offered you the spot but the name box and post button were gone - there was no way to actually claim it. They come back now
There's a Discord now - join from the round result screen, or from the thank-you note after you send feedback. Bug reports and ideas get read there the same as in-game feedback
The red lines either side of the moon are gone for good. They were drawn more than twice as wide as the moon's actual kill zone, so even when the moon was live most of that red band was track you could fly straight through - red now means one thing in this game: hit it and you die. The moon still carries its own hazard rim, which marks exactly the part that kills you
The moon can no longer trap you. Debris will not spawn in the opposite lane to a settled moon any more, so there is always a way out - the anti-trap rule has been in the game since v6 but it only ever knew about debris, and never counted the moon
The moon's warning lines are honest now. While the moon is drifting between rings it cannot kill you, but it was already drawn in danger-red - it now shows amber and dashed until the moment it actually turns lethal, then snaps to solid red
The feedback box no longer opens showing the 'Sent - thanks!' message from last time you used it
EXPERIMENTcome back after an update and the info button tells you how many versions shipped while you were away, with the new entries marked - plus Bluesky, RSS and devlog links so you can follow along
Onboarding: the very first item you see at the start of a run is now always a gem, never debris - dying to the first thing on screen before you've swapped a single ring wasn't a dodge, it was a coin flip
EXPERIMENTon SHIELD UP days, the shield now charges at a x3 combo instead of x5, so it comes up more often
Nothing you can see: the game now records which daily modifier was running when you played. The modifiers shipped in v37 without that, which meant nothing in the data could tell which one caused what - the experiment was unmeasurable from the moment it launched
The "avg best score by version" chart in the info panel now shows the last 8 versions instead of every version ever, so it fits the panel without squashing
DAILY MODIFIERS. Every day now runs one named rule change, the same for everyone: GALE (double wind), FIRM GREENS (the cup only takes a gentle ball), CASUAL WATER (water on every hole), THE LONG WAY (every cup at long range), RIDGE DAY (every hole a climb or a crest), WEE HOLES (short holes, tiny greens) - or CLASSIC LINKS, the course as it comes. Named on the title screen and in your share text. Freeplay stays unmodified as the practice course
Fixed a ball that could freeze forever on a very steep slope and never become playable again. On a near-vertical face the downhill pull is actually weaker than the rolling friction holding the ball, so it sat motionless while the game waited for it to stop - which it never officially did. It now correctly counts as at rest
Nothing you can see: the game now records which hole of the round you are on when you start, finish or quit one - so we can finally tell which holes are walls and where rounds get abandoned
Fixed the new Daily 3 / Daily 6 / Daily 9 boards not updating when you switch between them. After submitting a score, the board was locked for 90 seconds to stop a stale copy overwriting your fresh entry - but that lock was applying to all three boards at once, so the other two showed an empty list that never filled in. Each board now holds its own
The board also says "loading…" while it fetches instead of claiming there are no rounds yet, and a slow response for one length can no longer land under another length's heading
The finish line is the hard part now. Every cup used to sit in the middle of a flat shelf, on every hole, so the flattest ground on the course was always the last thing before the hole - a quarter of all holes were going in off the tee. The green now shrinks as the round goes on, the cup asks you to arrive gently instead of fast, and hole 9 leaves the approach shape intact right up to the rim
Bowl holes stop holing out for you. The basin still catches your ball - the round needs somewhere to breathe - but later in the round it gathers SHORT of the cup, leaving you a putt instead of a gift
Daily 3 and Daily 6 have their own leaderboards. Three quarters of players pick Daily 3 and could never claim a spot, because only a full 9 counted. Same shared course, three boards - the 🏆 button now opens on the length you actually play
You can see the wind before you shoot. It blows across the whole hole while you aim, harder wind blowing harder - the arrow and the number were the only cue before, and only while the ball was already moving
Water sits closer behind the cup and shows up on more holes. It was so far past the hole that it almost never caught anyone, which is not much of a hazard
The duck escalates. Get to stroke 10 and it puts on sunglasses and stops being polite about it. (It still never mocks you - only the ball, the terrain, and the situation.)
EXPERIMENTa new hole type, the knife edge - the cup sits on a crest, so leave it short and it rolls back to you, hit it long and it rolls away down the far side
Boss waves are honest now. The danger used to keep building after the wave warning ended, so the 'calm' beat right after was often the most dangerous moment of the whole fight - wave debris clears out faster now, so calm is actually calm
The leaderboard prompt on the death screen no longer calls a low score 'board-worthy' just because today's board still has open spots - it only celebrates that way once you've actually beaten someone on a full board
The feedback, info, and leaderboard panels now close when you tap outside them - before, only the X button (or the icon that opened them) would close it
EXPERIMENTdebris currently inside your graze window now shows a small green pulse, so the exact moment a dodge would score is visible instead of invisible
The feedback, info, and leaderboard panels now close when you tap outside them - before, only the X button (or the icon that opened them) would close it
The moon is finally readable. It was the deadliest thing in the game - once mash-immunity was gone it caused 70% of skilled deaths - but it was drawn pale grey on a dark background and went DIMMER during the warning, so it read as scenery next to bright red debris
Its warning now marks the actual ring it's moving onto with a pulsing red arc, so you can see which lane is about to become lethal instead of just noticing something somewhere, and the moon itself takes a red hazard rim that fills in as it settles
Fixed a big one: mashing the button used to make you invincible. Swapping every frame parked the ship in the gap between the rings where nothing could hit it - a bot tapping 8 times a second survived indefinitely. Swaps now need a beat (0.18s) between them, so a swap is a real commitment again
Grazes now have to be actual dodges. You could tap away and straight back to collect the bonus without ever getting near the debris; now the ship has to have settled on the ring it leaves
Grazes are worth 3 points instead of 1 (Graze Fever: 6). Skimming past debris at the last instant was the hardest thing in the game and paid the same as drifting into a free gem
EXPERIMENTwater hazard - some holes now have a pool waiting right behind the cup, honest and visible before you swing. Land in it and it's a one-stroke splash, dropped back at the water's edge
Today's course is untouched - the water starts with tomorrow's daily so nobody's round changes underneath them
Fixed: the moon could still sync up with the debris wave every couple of appearances and turn fully solid the instant a wave went dense - it no longer shares any timing with wave events, so that collision can't happen again
Ring swaps now snap with a visible pop the instant you land on the new ring, so it's never ambiguous whether you're safe
EXPERIMENTnear-miss grazes now punch the whole screen with a quick zoom pulse to make that moment feel bigger
Holes now come in three kinds instead of one: the old generator only ever varied bumpiness and wind, so every hole was the same walk with different numbers
The climb — an approach left short walks all the way back down to you
The bowl — a basin that gathers, so a round has a hole that is on your side
Hole length varies properly now (the cup used to sit in a narrow band; a round is short and long holes, not nine of the same length)
Today's course is untouched — the new shapes start with tomorrow's daily so nobody's round changes underneath them
Nothing you can see: added telemetry on the near-cup slow-mo so we can finally tell whether players actually experience it — the number we'd been watching turned out to measure something else entirely
Fixed: the Rage Golf link sat above 'tap to fly again' and could grab the tap you meant for a new run, throwing you into the other game. It now sits below the restart prompt, reads 'TRY RAGE GOLF', and ignores the reflex tap right after you die
Fixed: the moon's first appearance could pop in already-lethal with no warning, right in the middle of the first debris wave - it now eases in gently like every later swap, and starts a beat later so it doesn't land on top of that first wave
Combo grace window widened from 4 to 5 seconds - a quiet stretch of bad gem luck won't wipe your streak as easily
EXPERIMENThit x5 combo and you bank a one-hit shield (gold ring around your ship) that saves you from the next debris or moon hit - it costs half your combo when it fires
Added an '← Orbit Dash' link in the top-left corner, tucked under the zerodev.games button, so you can get back to the other game (or find it in the first place) without hunting
EXPERIMENTa slow moon now patrols the rings - it drifts the opposite way you fly and swaps rings every 20 seconds with a long, visible warning as it eases into place, so it's a hazard you plan around rather than react to
Your name now stays on the leaderboard the moment you add it - previously a background refresh could briefly serve an older copy of the board and make your fresh entry disappear until it caught up
Fixed a bug where a slow network reply could make your leaderboard row show your old score until your next run - it updates right away now
Grazing debris for a bonus now benefits from your current score multiplier, and a close dodge can keep an active streak alive instead of only gem pickups doing that
Debris you've already grazed for points now shows as an outline only, so it's clear it's already been cashed in
EXPERIMENTheat palette - the world gradually shifts from cool blue toward warm red as your speed ramps up, so you can always feel how fast you're going
CHALLENGE LINKS: the share button now dares people directly - your link carries your score, and whoever opens it sees your target on their HUD (same course, same day) and gets a WON or LOST verdict against you at the end
LEADERBOARD: finish a Daily 9 and claim your spot - fewest strokes wins. Today's-course board resets with the daily at midnight UTC; the all-time board keeps the best rounds ever. Trophy button, bottom left.
Every hole now tees off from an elevated platform - the ball always starts high enough that you can pull a full-power shot on any screen, and launching from altitude just feels better
Results screen rebuilt so nothing overlaps on landscape phones - buttons stick to the bottom, scores flow from the top
The 'what's new' and feedback buttons moved to the top-right so they can't sit on top of your ball when it starts low (sound and fullscreen moved to the bottom corners)
Landscape phones: full power now needs a much shorter drag, so the browser bar can't rob you of your swing - and there's a new fullscreen button (Android/desktop) to reclaim the whole screen
Sinks are now scored in golf terms: ACE, EAGLE, BIRDIE, PAR, BOGEY, or +N over - with celebrations to match (fanfare, extra confetti, and a screen flash when you beat par)
Par is unmissable now: a big HOLE/PAR banner opens every hole, and the number is written right on the flag
When your ball creeps toward the cup, time slows and the camera leans in - Peggle-style anticipation. The physics outcome is completely unaffected; only your heart rate is.
The community 'time played' stat no longer counts time where the tab is open but nobody is playing - only actual play (aiming, shots, ball in motion, and short thinking pauses) accrues now
Retired 'the duck is not sorry' as the tagline - the game is just RAGE GOLF now. The duck stays, and still isn't sorry, it just won't be saying so in the title
Every hole now has a PAR - it's in the HUD, and once you're over it a red +N badge starts judging you. The daily scorecard colors each hole vs par and calls out your worst one
RIM-OUTS: hit the cup too fast and it spits your ball back out with a clunk, a flash, and commentary from the duck. Slow down. Or don't.
Share text now includes par, and the trophy/skull rating is based on it
The 'play again' button on the daily result screen now actually appears (v8 wired it up but forgot to draw it - the duck is unimpressed with us too)
If you already started or finished today's daily, the menu now has a 'start over - pick 3/6/9' button, so the new length picker is reachable no matter what state your day is in (your best-of-day is kept)
Finished your daily? Play it again - replays are allowed and your best round of the day is what counts (and what the share button brags about)
The duck found its voice: deadpan commentary on your strokes - backwards shots, near misses, stroke-7 sagas, and aces all get remarks. It mocks the ball, never you. New players get gentle encouragement for their first holes.
Daily now comes in three sizes: Daily 3, 6, or 9 - pick how much time you have. It's the same shared course either way (a Daily 3 is the first 3 of everyone's 9), and if you finish a short daily you can keep going to the next tier with your strokes carrying over
While aiming you now see the exact angle and power of your shot (e.g. 43.2° · 512), and your previous shot's numbers stay on screen - physics is deterministic, so re-dialing the same numbers replays the same shot exactly. Hole-in-one hunting is now a science.
Max power is now actually powerful: a full-strength shot can reach (or wildly overshoot) any cup - before, even a perfect max shot couldn't cross half the course
The duck now watches your ball, startles with an indignant quack if you land near it, blinks, and turns its back the moment you sink. It does not touch your ball. Yet.
Aiming is much more sensitive: full power now takes a short comfortable drag (~300px on desktop, less on phones) instead of a drag that ran off the screen before reaching max
Fixed the game drawing bigger than the browser window on displays with OS zoom/scaling (common on Windows laptops) - the title and buttons were pushed off the right edge. Everything fits now.
Mobile and small windows fixed: the camera now zooms in and follows your ball instead of shrinking the whole course into a tiny strip. When the cup is off-screen an edge marker points the way. Menus and HUD now fit every screen size. (The course itself is unchanged - everyone still plays the exact same holes.)
First playable: drag-release rage golf over procedural dunes. Daily mode is the same 9 holes for everyone (new set at midnight UTC); freeplay is endless and your stroke count is forever. One hazard so far: honest wind - the arrow tells the truth. The duck is watching. The duck is not sorry.
EXPERIMENTfair dice - everyone now gets the same daily spawn sequence, so the daily leaderboard compares skill, not luck (new dice at midnight UTC with the daily challenge)