Dev Log · Build Notes · July 23, 2026

Star Hopper build notes: designing a fair one-button game

Star Hopper is the smallest game in our arcade by rule count: tap to thrust, gravity does the rest, don't hit the rocks. One-button games live or die on feel — there's nothing else to hide behind. These are the four decisions that made ours feel right.

Gravity is the personality

The whole game is two numbers: gravity pulling down, one fixed impulse kicking up. Weak gravity feels floaty and boring; strong gravity with a big kick feels like flipping a light switch. We landed on heavy gravity (1350 px/s²) with a modest impulse — the rocket answers taps immediately but keeps momentum, so rhythm matters more than reaction. When a game has one verb, tuning that verb is the game design.

Shrink the gap, not just the speed

Most endless games ramp difficulty by adding speed until humans can't react. We ramp two dials slowly and cap both: scroll speed rises a little with each gate, and the gap between asteroids narrows from generous to tight. A capped speed means late-game death comes from precision pressure, not reflex overload — you always had time to make the right tap, which keeps "one more run" honest.

Asteroids from sine waves

The columns are drawn, not sprited: a rectangle whose edges wobble by a couple of sine functions seeded per-gate, plus a few dark crater circles. Every gate looks hand-hewn and none repeat, for zero image bytes. The visual jaggedness is a lie, though — see the next point.

Hitboxes should be kinder than the art

Collision is a plain rectangle test against the column's core, slightly inset from the drawn rock, and the rocket's hitbox is smaller than its sprite. Players consistently perceive "just barely made it" as skill and "clipped an invisible edge" as theft. In a one-button game you get maybe three deaths before someone quits forever — every one of them has to feel deserved.

Where our other cabinets score in points, Star Hopper counts gates — a number small enough to remember and compare. That's deliberate: "I got 23" starts more rematches than "I got 4,570."

Fire the thruster — the belt is waiting.


All dev log entries · Play the games