I promised myself, and my friends, that I would no longer attempt to write a computer game. It always ends in frustration and tears. But a few weeks ago, while idly chatting to an LLM, I suddenly realised that I don't need to write a computer game any more. I can have an AI agent do it for me.
So I fired up and subscribed to Claude Code, and for the past few weeks I've been prompting my way into an implementation of Project Kuiper. First, I - or rather, Claude and I - wrote a Game Design Document. I decided to build the game for the web using SvelteKit and Phaser.JS. No weird tech choices like Kotlin & Godot this time. I then directed Claude Code to plan the development, and off it went.
Very, very quickly I had something working. Over a weekend, Claude Code had achieved all I had ever managed with Kotlin/Godot, and more. Each day, I've prompted a change, a fix, or sometimes just a discussion about gameplay. The development has been split into phases, which implement a particular feature. I've let AI write 99% of the content – the technology tree, the flavour text, the action cards that can be played each turn. Not everything has matched my initial vision for Kuiper, but I've largely been content to let Claude take the lead.
I've been especially impressed with the ability to do large refactors – the sort of thing that a human developer would shake their head at, tut, and try to avoid, not because it's impossible, but because it's a lot of manual work.
For each Phase, I state the problem or direction and have Claude write out a plan which I then review. Sometimes these are broken into sub-phases, ticked off as each is completed. Quite a few of these sub-phases are then deferred as I realise that I haven't scoped out the game elements sufficiently.
The game play is split into three Eras, each with its own game map. Era 1 is on Earth, represented as a hex grid. Era 2 heads into space, near Earth orbit, the moon and the Lagrange points, as a directed graph. I'm not quite sure how Era 3 will be represented. The first Era is now functional, though there are two core features which still need to be fleshed out. I'm keen to see where Claude and I will go with Era 2.
The game is 'winnable' by opening up a wormhole, and it's losable if climate change destroys too much of the map. Both of these scenarios are placeholders for future content.
The source code for the game is available in the Signal repository on GitHub.