Last week, I wrote that the lower cost and time to build software due to AI-powered developer tools will result in so much software being built that had no business existing in the first place.

Here’s a tangible example.

Yesterday, I spent a few hours reviving a prized project from my AP Computer Science class, an action-packed, thrilling, enthralling, smash hit video game – Gingerbread Man: The Voyage Home.

Gingerbread Man: The Voyage Home follows the story of the Gingerbread Man, whom the Old Man and the Old Woman couldn’t catch but aliens certainly could. Once they finished with him, our abducted hero is gifted a spaceship and a seatbelt and needs to find his way home. The player is tasked with guiding our favorite baked holiday delight back to his (gingerbread) house, navigating a series of obstacles and other hardships along the way.

I remember my early programming days, and projects like this lit. me. up. I poured many, many unnecessary hours into this project, pushing myself to explore the tech to add whimsical and delightful features. It was really fun, even if I had no idea what I was doing. My very crude game loop had to be updated if it ran on a faster computer, and I was making cutscene videos and Star-Wars-style scrolling walls of text by manually positioning simple shapes on the screen.

Every now and again, I’d look longingly at the backup copy I kept of my ZIP drive (2002, baby!), wondering if the Gingerbread Man would ride again.

The game was originally written in C++ using such throwback technologies as Visual Studio 6.0, the CMU Graphics library (now only available for Python), and a collection of utilities like apstring.h and apvector.h that were the College Board’s noble attempt at a C++ standard library before such a thing existed. These tools are hard to come by, and I had no interest in converting a build toolchain for Windows 98 and an antiquated IDE with a defunct graphics library into something that works today. But Claude will eagerly grind away at such thankless tasks, and once I found a copy of the graphics library in a different folder on that ZIP disk, I decided to give it a shot.

Holy smokes, it went even better than I thought it would.

First, Claude and I ran the compiled reference executable in Wine and wrote a little bot to play the game and take screenshots along the way. We added tests to ensure that the gameplay stayed consistent and that the keyboard interactions and difficulty stayed consistent as we upgraded. Then, we rewrote the tech stack to compile on Linux and Mac with a modern graphics library, updated the game loop to play smooth as butter at 60Hz, and then compiled to WASM so you can play it in a browser.

What would have taken me days to figure out and days of toil to write all the tests Claude was able to implement in a couple of hours, and silly software that wouldn’t have existed otherwise now does!

I’ve kept you long enough. Put on a White Stripes album and see if you can beat all ten levels and find out the thrilling conclusion to Gingerbread Man: The Voyage Home.

Thanks again to my dad for inspiring the silly premise, to Sharon Lee for teaching APCS and inspiring a career down this and many other rabbitholes, and to the myriad folks in the credits who helped with beta testing during development, many of whom I remember fondly but hadn’t thought about in a long time. 2002 is back, baby!