Every Press Is a Hop: Teaching a One-Button Game

TUNL has one control, and for its first eighteen versions most new players never found out how it worked. This is how the control changed, and how a small circle learned to show the beat without ever flying the ship.

Devlog · 2 October 2026 · all posts

The original rule was hold to climb, release to fall. Thrust is an acceleration that builds while you hold, gravity takes over when you let go, and the skill is in the rhythm between the two. Experienced players liked it. The trouble was everyone else.

What the first runs said

A small landing page records how each first run ends. Of the first 25 players it saw, 22 died exactly where a run with no input at all dies: the ship glides level for a moment, sinks, and touches the floor. They were not making mistakes. They were not playing. A later sample of 48 first runs was blunter still: about a third of the players never pressed anything.

"Hold" is an odd instruction for a phone game. Most one-button games are tap games, and a player who taps a hold game gets a twitch so small it looks like nothing happened. So they stop, and the cave keeps coming.

A press is a hop

The fix keeps both styles. Every press now starts a short burst of thrust (TAP_BURST_SEC, 0.15 seconds), and holding longer keeps thrusting exactly as before. A tap is a hop. Holding still works, it is just never needed. There is no switch at a score and no mode: every run, every player, every platform.

Before shipping it I replayed the daily caves with two bots. One plays the old way, holding and releasing. It scored the same with the burst as without, so nobody who had learned the game lost anything. The other only taps, and it reached 100 points on 90% of the days.

The burst ends inside the frame. A burst of 0.15 seconds almost never ends on a frame boundary. Rounding it to the nearest frame put the top of a hop about 11 pixels off at 24 frames per second, and a different amount at 60 or 120. So the frame is split at the instant the burst ends and each part is integrated on its own. A test checks the top of a hop against the exact solution at seven refresh rates, for the same reason the physics is frame-rate independent in the first place.

A circle that shows the beat

A hop is easier to discover than a hold, but it does not tell you when. So while your best score is still below 233, a circle sits next to the ship over the opening flight and shows when to tap. It looks like the floating touch button on an iPhone: a white dot in two soft rings. It brightens as a tap comes due and presses in when it is time. A tap on the beat draws a small check mark. The first version used a pointing finger, which at that size read as a white tombstone.

The important rule is that only your own tap moves the ship. The circle is a metronome, not an autopilot. Behind it is a planner that runs the real physics forward from the ship's current state: a tap is due when a hop started now would top out on the route instead of above it. Because it is recomputed every frame, a missed tap or an extra one needs no special case. The route itself runs through the middle of the tunnel mouth and then through the opening coins.

A late tap slows time to a quarter until you press, but only after your first tap of the run, so the circle never freezes the game before you have even tried. The score is distance flown, not time, so slow motion changes nothing on the leaderboard.

I did consider guiding players further, past the safe opening. I decided against it. The planner knows nothing about stalactites or mines, and guidance plus slow motion past that point would be close to an autopilot on a shared daily leaderboard.

The city waits

The circle helped the players who pressed. It did nothing for the third who never pressed at all. Every run opens over a city at dusk before the ship enters the cave, and a run starts with a short level glide before gravity sets in. For those players the glide simply ran out over the city, and they sank into the tunnel mouth with a score of 5.

So on a tutorial run the city now waits. After the launch, the ship hovers and the camera holds until the first press, with the circle and the words TAP TO FLY beside it. Nothing about the cave changes, because the city lies before the cave's first metre and the score only starts in the tunnel.

The music waits too. While the city holds, the track repeats the second bar of its intro, the steady one just before the beat comes in, and the first press hands back to the track at the same point of that bar. My first attempt looped both intro bars and dropped about 9 dB at every wrap, which sounded like the music stalling. The repeat is now a short loop whose end is crossfaded into the audio just before the bar, so each wrap sounds like the track's own change from bar one to bar two.

A practice flight, once

The last piece is a short practice flight over the city. After the first press, a row of light beads shows a line to follow: flat at first, which is the hover rhythm, then gentle waves. A bead you pass close enough lights up. The tunnel comes once six of the last eight are lit, or after a time cap either way.

In its first version it ran on every tutorial run, which in practice meant every run of almost every new player. When I simulated it, a retry took more than twice as long to reach the cave as before, even with perfect taps, and a pilot tapping just 0.15 seconds off the circle sat out the full 30-second cap before every attempt. That is a tutorial turning into a waiting room. Now a practice flight you pass is never shown again on that device, and the cap is 12 seconds for the players who have not passed it yet.

How I know it works

The simulation suite has a pilot that taps only when the circle says so. It flies the whole opening into the cave without touching a wall, in 29 taps, staying about 15 pixels from the route on average. Other checks cover the hop at seven refresh rates, the city's wait, the practice flight being stored only after a pass and never after a timeout, and the circle disappearing once a player's best passes 233.

What no simulation can tell me is how the circle feels under a real thumb. That is the part I am watching in the first-run data now. If you are new to the game, the circle is waiting for you in today's cave; the how-to-play guide has the rest of the rules.

Play today's cave