Rebuilding a Game I Loved Instead of Being Sad About It
/ 2 min read
Table of Contents
Over the 2024 Christmas holiday, I tried re-downloading a game I used to play constantly in high school called One More Line. It’s a simple, addictive concept — your character flies forward automatically, and you tap to latch onto nodes and swing around them, building momentum and chaining swings to rack up distance.
The app was buggy beyond belief. Wrong aspect ratio for the phone, frames freezing every half second, crashes. It was clear nobody had maintained it in years. Rather than getting sad about it, I decided I’d just rebuild it.
Building It
I started the project in early 2025 using Claude Sonnet 3.5. The core mechanic is straightforward — a particle moves forward, and on tap it latches onto the nearest node and orbits around it until you release. The challenge is making the physics feel right: the swing radius, the momentum transfer on release, the node spacing. Getting those tuned so it actually felt fun took more iteration than the base implementation.
The web version is built in vanilla JavaScript with HTML canvas. No frameworks, no build tools — just a game loop, some vector math, and a lot of tweaking.
Porting to iOS
Once the web version worked, I ported it to a native iOS app using Codex 5.2. The touch input mapping was mostly 1:1 , but the performance characteristics of native canvas rendering versus mobile Safari made a noticeable difference — exactly the kind of smoothness the original game had lost.
Play It
The web version is live at spinny-game.vercel.app. Tap to latch, release to fly. Try to beat your high score.