Writing

My first project was a Flappy Bird clone

The first thing I ever built was not a tool or a dashboard. It was a Flappy Bird clone.

Everything I build sits on top of one experiment. I am not a coder, and I want to find out how far someone like me can get doing tech stuff anyway, with AI doing the writing. Paper Drift was the first foray. I wanted to know what starting a webapp actually feels like from zero, and I wanted to play Flappy Bird, so those two things became the same project.

No business case, no roadmap, no plans for an app store. Just build it, play it, and see how far Claude Code could go before something fell apart.

Why it’s called Paper Drift

The one place I was careful was the name. “Flappy” is a legal minefield, and the green pipes belong to somebody’s lawyers too. I was not going to make a single cent off this thing, and I still did not want anyone turning up to say I took their name.

So the bird became a paper plane, the pipes became storm clouds, and the game became Paper Drift. Same idea underneath, nothing borrowed sitting on top.

What is actually inside

I do not read the code. Not on this project, not on any of them. That is the deal, I describe what I want and Claude Code writes it. So when I wanted to know what is actually sitting inside my own game, I did what I always do. I asked. Some of what came back genuinely surprised me.

The whole game is more or less one file. A 400 by 600 box that shrinks to fit your phone, a plane, some clouds, a score.

The feel of the game turns out to be two numbers. Gravity is 0.52. A tap sets your upward speed to 9.5. Every bit of that floaty, slightly panicky Flappy Bird feeling comes from those two values pulling against each other. Change either one and it becomes a different game.

The rest is similarly plain. A new storm cloud every 1.75 seconds, always with the same 185 pixel gap to fly through. The crash detection is rectangles bumping into rectangles. Your best score sits in the browser’s own storage, nowhere else.

The paper plane diving between two storm clouds

My favourite discovery is the sound. There are no audio files anywhere in the project. The three sound effects are generated by the browser on the spot, and the little jingle when you pass a cloud is literally three musical notes written in the code, C, E, G. The game over sound is a buzz that slides downhill. I had no idea it worked that way until I asked.

Claude plays its own game

The screenshots in this post are not me playing. I got Claude to play its own game with a small autopilot script while taking pictures of itself. It scored 3, which I found funny, because that is honestly not far off a normal run for me.

The game over screen showing a score of 3 and a new high score

So what does starting feel like

Smaller than I expected. That is the honest answer to the question I started with. From the outside, “building a game” sounds like a mountain. From the inside it was a box, two numbers, some rectangles and three beeps, described in plain English to an AI that did the typing.

The art is still rough and I keep redrawing the plane. But it runs, people can play it, and the name is mine. For a first project, that is more than I was hoping for.

If you want a few minutes of mild frustration, it lives at paper-drift.howiedoit.dev. Beat 3 and you are already ahead of the AI that wrote it.

— Howie

If this was useful, pass it along.