January 18, 2026

Four Games, One Afternoon

I built four Playdate games with AI in a single session. Turns out 1-bit makes everything easier.

Two days ago I shipped teenagemanual.com, a better way to get started with Teenage Engineering devices. I've been obsessed with their design philosophy for years: the deliberate constraints, the playful aesthetics, the way they make complex things feel approachable.

As I was going through devices to support, I remembered Playdate. The handheld console Panic co-designed with Teenage Engineering. It's this little yellow Game Boy-looking thing with a black and white screen, a d-pad, two buttons, and a crank on the side. Yes, a crank. You spin it. It's delightful. I knew I had to actually make something for it this time.

After looking at the SDK and that 1-bit screen, I had a hunch this would work great with AI. Everything is black and white pixels drawn with simple Lua scripts. The kind of thing Claude could probably handle.

So I opened Cursor with Claude, and in one afternoon, built four complete games.

Playdate game
CSS art by Chris Ota Flappy Bird clone by me

The perfect match

I've tried using AI for game dev before. Unity, Godot, vanilla JavaScript canvas stuff. It works, but there's always friction. Missing imports, wrong API versions, assets that don't load, not to mention actually creating the sprites and textures. You end up spending more time debugging than building.

Playdate turned out to be different, and I think it comes down to two things.

First, the 1-bit display. When everything is just black or white pixels, there's no room for AI to mess up colors, gradients, or textures. You can't have a "slightly wrong shade of blue" when there's no blue. Claude just draws shapes with simple function calls, and those shapes look exactly how they're supposed to look. When I asked for a bird, it wrote gfx.fillCircleAtPoint(bird.x, bird.y, 8) and that was the bird. Done.

Second, Lua. It's a tiny language that's been around forever. There's tons of documentation, examples, and training data out there. Claude clearly knows it well. I didn't have to fight with package managers or build systems. Just one .lua file that runs.

And sure, you could build simple games like this for the web. But this is an actual handheld, a physical device with a crank that you hold in your hands. The SDK is free, the simulator runs on your laptop (and it's genuinely great), and when you're ready to ship, you compile to a .pdx file and it just works. There's something special about building something that runs on real hardware, not just another browser tab.

Platform complexity vs first-try success
How often Claude generates working code without debugging
0%
25%
50%
75%
100%
AAA / Console
Unity / Unreal
Web Canvas
Playdate
Fewer moving parts. AI focuses on making the game fun.

The comparison above isn't really fair. Unity and Unreal are built for 3D worlds with physics, lighting, and multiplayer. AAA games have hundreds of developers and years of work behind them. You could also build simple 2D games for the web with canvas or Phaser, and AI would probably do fine there too. But that's not really the point. The point is shipping something to a real device, a handheld you can hold, with a crank you can spin. That feels different than opening another browser tab.

Building the bird

When I asked Claude to "build me Flappy Bird," it just started writing. The whole bird ended up being four drawing calls:

gfx.fillRoundRect(x - 10, y - 8, 20, 16, 6)  -- body
gfx.fillRoundRect(x - 6, y - 2 + wingOffset, 10, 8, 3)  -- wing
gfx.fillCircleAtPoint(x + 4, y - 2, 5)  -- eye
gfx.fillTriangle(x + 10, y, x + 10, y + 6, x + 18, y + 3)  -- beak

And the pipes have this nice shading with dithering patterns, all generated from that same "build me a Flappy Bird clone" prompt. That's it. And the thing is, it actually looks charming. When you're limited to 1-bit, you can't rely on texture or color, so you focus on shape and motion instead. The bird flaps, it bounces, it feels like a bird.

The games

Fishing
Use ← → on D-pad or arrows to navigate through the different games

I ended up building four games that afternoon. Flappy Bird, Breakout, a fishing game, and a Street Fighter-style fighter. Each one took maybe 5-10 minutes from "build me X" to something playable.

The fishing game was the moment I really understood why the crank exists. I asked Claude to "use the crank for something interesting," and it made the crank control the fishing reel. You cast with the A button, then physically crank to reel in your catch. Different fish swim at different depths. It just felt right in a way that pressing a button never would.

The crank isn't a gimmick but rather a different kind of input entirely, one that adds physical texture to interactions that would otherwise feel flat. And when I told Claude about it, it immediately understood how to use it well, suggesting things like charging special moves by spinning or controlling depth by turning. The crank is mechanically interesting, so the suggestions were mechanically interesting too. (Side note: the simulator has a great way of simulating the crank with your mouse, makes testing really easy.)

The SDK

Credit to Panic here. The SDK is genuinely nice to work with. The docs are clear, the API does what you'd expect (gfx.fillCircleAtPoint(x, y, radius) draws a circle at that point with that radius), and Playdate games are small by nature. One Lua file, a few hundred lines, and you have a game. This matters for AI-assisted development because Claude can hold the entire thing in context, which means it has an easier job reasoning about the whole project at once. Playdate's SDK felt like it was made by people who actually wanted game development to be fun.

Pulp editor

There's also Pulp, a web-based game editor that comes with Playdate. You design rooms with tiles, write simple scripts, and publish directly to the device. I didn't get to play with it this time, but it looks perfect for anyone who wants to make games without writing code, and a great way for kids to learn game design. Something for next time.

What I took away

I'm not a game developer. I don't know the right way to structure a game loop or handle collision detection. But I made four games anyway, and they work, and they're fun to play.

The thing that surprised me is how little friction there was. I described what I wanted, refined it when something felt off, and let Claude handle the implementation. Same pattern as building this website, really. Having taste for what "good" feels like matters more than knowing how to build it. Now I just need to buy the actual Playdate and try these out on the real thing.

Try it

The Playdate SDK is free. The simulator runs on Mac, Windows, and Linux. You don't need the hardware to start.

If you've been curious about making games, this is a good place to start. Describe something simple, see what happens. Worst case you waste an afternoon. Best case you remember that building things is fun.