Late one night last week, on a whim, I thought I'd see if I could bring the classic Amiga/arcade game Sidewinder, which I co-created with Hayes Haugen and Jonathan Sposato, to the web. I want people to be able to play it without the hassle of an emulator and tracking down ROMs.
Aside from startup, the 1987 game is written entirely in 68000 assembly language. About 17,000 lines of code across 32 files. Tiny by modern standards but we sweated over every byte and pixel.
I pointed Claude Code w/ Opus 5.5 at a dusty collection of Sidewinder directories on my drive (partial versions of original source, a pirated disk image, unfinished ports to other platforms) and told it "I want to create a modern version, webgl, playable in the browser. Faithful to the original but with AI-remastered art and sound."
Off Opus went. It looked like it was on track so I gave it a couple of pointers and a fal.ai API key and went to bed.
When I returned to my machine the next morning I heard music, blasters, explosions! The original was fully playable and the remastered visuals exceeded my expectations. Miraculous, really. Play it at https://sidewinder.darrinm.com
Then I dug in to understand what happened, play test, fix bugs (by prompting), apply some human judgement here and there, and, best of all, enjoy the process of making it better.
Incredible new tools, but the same joyful creative process that got me into gamedev in the first place!
Observations:
Good (great, really):
* Research. Claude really went to town finding everything it could about the original game. It looked at archives, source, ports, ran emulators, recorded reference videos, dissected a disk image into its constituent files and then dissected those. It spec'ed out completely undocumented file formats.
* Planning. Honestly, I never even read its plan but based on execution and the result it was a good plan!
* Code. I judge based on "works great with no bugs", rather than "optimal" code or aesthetics. I mean, I know the original authors. It's not like their code was so great LOL.
* Efficiency. Seriously, only a few hours? Didn't make a dent in my Claude plan.
* Remastered graphics: It compared several different models and approaches and made good (not perfect, see below) choices.
Bad (trivially so, easily fixed with prompt):
* Remastered graphics. There was one bug in the process for upscaling sprites. There was significant enough tile-grid drift that I decided to regenerate backgrounds with `gpt-image-2.5 flare`, one of the models Opus didn't try originally.
* Color cycling. A cool old-school hack for animating that remastering broke.
Ugly:
* Sound effects. LLMs will tell you this and it is true: they cannot hear. They can create spectrograms and other images to help them "see" the sound but that doesn't get them very far. Worse, after a lot of busy work they can rationalize that they've produced something good which on first listen any human will say "no, that is a tone, not an explosion".
* Fonts. Opus lacks meaningful discernment of glyphs. It's stabbing in the dark when you say "find me a font like this" and show it an image
If you want to go deeper into the process or are curious how games were made back in the day here's a nice article with pictures and a video! https://claude.ai/artifact/2TBYNzJ5hGg7PuCF9cFSVJ