My Time as a Human Being

Computers, retro gaming, running, and baking. Maybe not interesting to others.

Letting the LLMs Finish My Spare Time Projects

Like most other software developers these days, I’ve been blown away by what modern Large Language Models can do. I don’t want to jump into all the apocalyptic talk about them taking “our jobs”, since I’ve got nothing to add to that, but I want to share what I’ve been using LLMs for in my spare time recently.

So, I have had this ongoing project for many, many years of recreating Stunt Car Racer, but it’s been lying dormant for (checking git commit log) almost four years. Problem was, I had done the most interesting technical aspects of the game, like getting it building with Emscripten and getting the graphics, sound, and input working. It was a playable game.

The other ideas I had for the game, like making it playable on mobile devices and implementing the original “tournament mode”, are not interesting technical challenges. It’s just a lot of fiddling.

Now, with this machine uprising in the form of LLMs, I thought that I would do my part of keeping the machines busy a while finishing the game. You can thank me later.

So let’s do a status of what I’veClaude has been doing lately.

If you’re impatient, like me, just go ahead and play the game instead of plowing through this wall of text and images.

Getting Back on Track

First of all, the world has moved on in four years, and the code would no longer compile with the newest version of Emscripten. I fought it for a while, but then thought Claude would be better at it. And sure enough, a couple of minutes later, it all compiled nicely.

Smooth Framerate

The original fluffyfreak/stuntcarracer repository, which I’ve forked, has an interesting branch: SmoothFrameratePatch. This has some quaternion magic that I don’t understand - I am not a game developer, and quaternions is an area I’ve never dived into.

Anyhow, instead of just applying the branch, I asked Claude to use the branch as inspiration for implementing smooth framerate on my fork. It took a few turns, where rotations would go the wrong way and the opponent’s shadow would still be janky, etc., but the result is very nice.

I should probably add a video here, but I don’t have the software to grab 50fps video… so just go and play it yourself to see if you like the results!

Playable on Mobile!

I think that Stunt Car Racer would have been the perfect mobile game:

This requires setting up some new overlays that look good on a mobile device. Yawn. But Claude was ready for the task. I like it!

Mobile overlay

Also, why not make it a real Progressive Web App? That’s another tedious task, but of course Claude was up for it. So now you can click an “Install” button on Android or add the web page the home screen on iOS, and you get a beautiful, auto-updating, full-screen experience on mobile!

Tournament Mode

The original game has the “tournament mode”, in which the player races against various opponents in order to get promoted from Division 4 to Division 1:

Tournament overview

Again, this is not a super interesting task to do, so I asked Claude to do this. Claude looked through the original Amiga sources to find out how this logic had to work, and now we have a similar mode:

New tournament overview

It’s really impressive that Claude could extract the exact same initial set-up of players and tracks in each division. As you can see, the new graphics does not really resemble the original. I don’t know… I’m a little afraid of using the original graphics in this remake because it may make people upset, but given the original game came out in 1989 (37 years ago???), maybe I shouldn’t worry too much.

Lots of Internals

Those are the visible changes made by Claude. In the process, the code has been restructured to revolve around JavaScript instead of being driven by the C++ code. This has made it easier to add new menus, and stuff like the tournament logic doesn’t have to live in C++. I like these changes!

Other Projects

The world hasn’t stood still for the last four years, and jumping into YouTube etc. again, I can see that other Stunt Car Racer projects have moved along as well during that time:

More Work to Do!

There’s still more to do, and I’m enjoying getting Claude to work on this project in the evenings. Off the top of my head, I still need to do this: