As a kid I made a BBC Micro game that got published in Computer and Video Games magazine (C&VG) in 1983 called Caterpillar. It was my first ever game and was pretty bad even for a BASIC game listing of its time. At the start of this year and while convalescing in hospital I decided to rewrite the game in 6502 assembler. That rewrite and story can be found here:
Truth is, Claude code was pretty poor at 6502 assembler at the time and personally I was not that great at harnessing AI either so it took a few weeks to get it playable. I had to dive into some long forgotten knowledge to help push it along.
Intent
AI has made a generational leap since February and I think that I have also got a little bit better at using it so I decided on a wet Saturday morning to see what I could push out of both Opus 5.5 and the BBC model B hardware.
I had always wanted to build a decent Galaxian clone for the Beeb so that was the target - Galaxa is the result.
Specification
100% of the code was written by Opus 5.5 but the intent and specification was formed by me with Claude assistance. Once code writing is cheap then design and memory (~8k) becomes the limiting factor and I had to trim back on the feature set a few times.
Testing
The testing process was mainly focused around getting Claude to create a test harness to test for regressions around frame rate, smoothness and collision detection.
The actual play testing was minimal on my part and I delegated the bulk of that to my reliable play testing department - my son Will 😀
The Game
Remember this is 45 yr old hardware. I think at least technically it stacks up fairly well to what was available at the time and squeezes the hardware pretty hard - I was quite impressed at how much better AI had got in such a short space of time.
As with all video games though it needed tweaking and polishing a fair bit before it was in any way playable.
Play it here:
https://newell-paul.github.io/galaxa-6502/
GitHub:
https://github.com/newell-paul/galaxa-6502
High Score 20550 - Will Newell 😮

Top comments (0)