AI Can't Recreate the Thrust Game (But It Can Help You Understand It)

msephton1 pts0 comments

AI Can't Recreate Thrust (But It Can Help You Understand It) | James Randall

James Randall

Musings on software development, business and technology.

AI Can't Recreate Thrust (But It Can Help You Understand It)

Annhexation<br>Early access

A turn-based 4X strategy game I built from scratch — custom WebGPU engine, eight civilisations, no install. Play it in your browser right now.

Play free in browser

Wishlist on Steam

I asked Claude to recreate the classic 1986 game Thrust for me in the browser. It created slop but then things spiralled out of control.

Thrust was one of my favourite games on the BBC Micro — written by Jeremy C. Smith and published in 1986, it&rsquo;s a deceptively deep game with amazing physics and gameplay. You pilot a ship through caverns, collecting fuel, avoiding turret fire, and retrieving a pod for bonus points while fighting gravity and momentum. Jeremy went on to create the even more impressive Exile with Peter Irvin before tragically dying in an accident in 1992. He was somewhere between 16 and 18 when he wrote Thrust. You can play the original online.

I&rsquo;ve got a BBC Master on the desk beside me and I still occasionally fire up Thrust on there along with some of the other classics. It&rsquo;s one of those games I keep returning to along with Elite, Exile and Holed Out. I&rsquo;ve now recreated three of these in different ways… the fourth is looking increasingly unavoidable.

Starting with slop

Anyway. I guess I&rsquo;d been thinking about Thrust as one morning recently I somewhat casually asked Claude Code to create it for me in the browser. I think I&rsquo;d been reading the latest proclamations of capability from OpenAI and Anthropic and so I put together quite a comprehensive spec, gave it access to the original disassembled source code, screenshots, and said &ldquo;go and recreate Thrust for me.&rdquo;.

It created something for which the term slop would be too kind, it very vaguely resembled Thrust — it had the scanline stuff, sort of — but it was truly dreadful. It hadn&rsquo;t even got gravity working right, the ship didn&rsquo;t fall properly, the controls felt weird, and it was just… grim. In some ways its amazing that it created something that sort of worked and sort of looked like Thrust but it was not playable and nothing close to the elegance and beautfy of the real thing.

And that&rsquo;s the thing about a game like Thrust. You could knock out something superficially similar pretty quickly — just run at the device frame rate, use standard delta-time physics, draw some caverns. But it would feel nothing like Thrust. The magic is in the specific timings, the weight of the ship, the way momentum builds. Particularly if you&rsquo;ve played the original then those details are everything, and an AI working from a text description, and it turns out even the original source, can&rsquo;t capture them.

The archaeology

But it got me curious. How did the original work? I find the tricks developers used to make this stuff work on the 8-bits fascinating, and it became a bit of an archaeology session. I quickly found this brilliant commented disassembly of the original source by Kieran Connell and found myself feeding it into Claude and asking questions.

This is where things got interesting. Not because AI wrote the code — the code itself isn&rsquo;t complicated, it&rsquo;s a 1986 game that ran in 32K of RAM — but because Claude turned out to be an extraordinary tool for interrogating 6502 assembly. I could feed in a block of disassembled source and ask &ldquo;how does the level data work?&rdquo; or &ldquo;what&rsquo;s the physics model doing here?&rdquo; and get detailed, accurate explanations of what the original code was doing.

Now to be fair I was working from some commented disassembled source code but even given that it was able to extract information from both the comments and the assembly and come up with detailed descriptions of how the game worked. My sense is without the comments helping to focus it at the right areas it would have been much less useful - but even so, it made the job an awful lot simpler and more enjoyable. And yes it seems likely I&rsquo;ll strip the comments from the code and see how well Claude does then.

While doing this I realised I could use the answers as the basis to recreate the original game and started asking Claude to create specifications for the various subsystems. Most of the specifications I generated can be found in a specs folder in the source code. I might write them up properly at some point but for now they give a good insight into the nuances in the original — there&rsquo;s quite a lot going on, more than I&rsquo;d realised. For example I&rsquo;d never noticed that the turrets stop firing for a time if you hit the generator, and there are subtleties in their firing angles that only become apparent when you read the actual code.

The Physics

The physics was one of the most interesting areas to dig into. Thrust...

rsquo thrust original code game recreate

Related Articles