skip to content
Jake Schaeffer Jake Schaeffer

My fav iPhone game from 2014 broke so I re-built it

/ 3 min read

Table of Contents

Do you remember your favorite iOS game from the early iPod Touch / iPhone era? For many, Tap, Tap, Revenge (2008) - like Guitar Hero, but with 3 buttons on-screen - was the game to beat. Doodle Jump (2009) was a hit, as was Cube Runner (also 2008).

For me, that game was One More Line.

Originally released in 2014, I spent many months either watching Crash Course videos on YouTube to study for AP tests, or playing One More Line.

Fast forward to the 2024 Christmas holiday, and the game crossed my mind for the first time in a decade. I tried re-downloading it. It’s a simple game. Your dot moves up the screen, latching on to little nodes, and swinging around them, dodging other nodes and the walls in the process.

But when I tried to replay the game, 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, a new Claude Sonnet model had just been released. So 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 was 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, it’s just a game loop, some vector math, and a lot of tweaking. I built my own testing UI to dial in all the variables.

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.

I added some sound effects, sent it as a developer preview to my phone, and got friends to play it at a party. The record play session (not myself) so far is 22 minutes.

Play It

The web version is live at spinny-game.vercel.app. Tap to latch, release to fly. Try to beat your high score. I’ll try to keep improving it as new models are released.

Hopefully, someone out there that likes the game as much as I did can find this when they’re searching for a nostalgic hit.