← Dev Log

I built a multiplayer browser strategy game in two weeks

aiworkflowclaude-codegamedevinselkampf

TL;DR: 30 years coding, built a multiplayer island strategy game in two weeks using Claude Code, Codex, and ChatGPT. Started blind on my phone during a road trip. Got it live, found early adopters, now have 8 daily active players. Sharing the workflow, the mistakes, and what I’d do differently. The game is Inselnova, free in the browser.


I’ve been writing code for over 30 years. Ran a dev shop, sold it, went CTO at another company, and for the last few years I’ve gone deep on AI coding, Claude Code and Codex mostly, switching between both.

I wanted to challenge myself, break the routine and learn a new AI workflow. So I decided to build Inselkampf, the classic German browser strategy game from 20+ years ago. I’ve tried to build it twice before and never finished. Deep mechanics, tick systems, complicated tech trees, and I’m not great at graphics. But with AI that can build things fast and ChatGPT for image generation, I went for it.

Building blind on a road trip

I went on a road trip with the family, and between driving and rest stops I created an empty GitHub repo and plugged it into Claude Code on my phone. For three days I prompted CC to find and visit old wiki pages, inspect the original game mechanics, and replicate the game engine. All blind, just typing into Claude Code. When I felt like it had done enough I’d push and start a new session. One out of three sessions I’d ask it to build a full suite of unit and integration tests to make sure the balancing and calculations were correct. I didn’t look at a single piece of code.

I told it to use SQLite on purpose. CC on my phone runs on its own cloud server, so it could build and run integration tests simulating the world and multiple players. I got it to put a basic frontend together too and it chose the tech: Vite.

Week 1 was the logic. Week 2 was the graphics. End of week 2, I pushed it live.

Back at the desktop

When I got home I pulled the repo to my desktop and checked it out. The graphics were awful, everything built with CSS and none of it good. This is the one thing I feel is impossible to do blind. But the mechanics were working, to my surprise. The database migrated, the server booted with little to no fixes, and I felt like I had 80% of the game ready.

Most of the frontend I worked on myself using CSS, JS, and Canvas. I wanted procedural generation for the islands and sea. This game is about depth, not graphics.

I registered on Render, asked CC to get it set up and deployed, and pushed it live. The first real problem was making the codebase support both PostgreSQL and SQLite. They do not transfer well. But I needed SQLite so I could keep programming blind.

My routine became: go to a coffee shop in the morning, play the game on my phone, flick over to CC on mobile and queue up changes. Once they were done I’d quickly check the output, pull into main, and CI/CD would make it live in a few minutes.

The graphics pipeline

Keeping graphics consistent was one of the bigger challenges. My solution was to build multiple markdown files covering the lore, art direction, the year, the world situation. I didn’t write these myself. I had a long session with ChatGPT explaining the game and asked it to build out the lore and world.

I found some images I liked, dragged them into ChatGPT or Gemini, and asked it to study them carefully and produce an art direction file. Then I wrote a script that calls the ChatGPT API directly, passes the art direction as a system message, and generates all the building and army assets in minutes.

My daughter wanted dogs in the game. So I worked with ChatGPT to figure out how dogs could fit. It suggested kennels and guard dogs. I wrote a balance script so they could be introduced into the tech tree properly. The image script created a dog and a kennel asset in theme on its first try. The whole thing, from idea to live in the game, took about 30 minutes while I was doing other work. And it went in perfectly.

Chris changed everything

The game was originally going to just throw you in. So I onboarded myself again and again, easy with SQLite, just reset the database and see how the first few minutes feel. I didn’t want to invite friends and family early. A random person is your first real traction.

But I did invite one good friend, Chris. He instantly understood the appeal. If it wasn’t for him I don’t think I would have kept going as hard as I did. He kept pushing me toward the lore, and once I understood what he meant I went all in. Everything was going to be built around the lore. I didn’t want this feeling like a web app or a basic game. Every button, every label, every piece of text needed to live inside the world.

Chris also started checking the game messages. They were terrible. If you failed a spy mission or an attack, the message just gave you stats. It felt like a spreadsheet, and no wonder, these AI agents are probably built on web apps, not games. Chris said something that changed the feel of the game dramatically: “failure should be entertaining.”

So I spent a lot of time getting a tone.md file right, teaching the AI to write comedy. I asked various AI agents over multiple days to study comedians and comics like Viz, to understand how the comedy is structured, and then baked that into the tone file so every message in the game had personality.

How to actually brainstorm with AI

When you’re prompting AI, be fluffy. Use words like “sometimes,” “maybe,” “what do you think.” This puts it into brainstorming mode. If you use direct, commanding language it’ll just tell you what you want to hear. With softer, more exploratory prompts you get the AI to choose the best path, and that’s where the real value is.

I’d ask Claude Code to explain the current state of the game, copy that into ChatGPT, and ask for help. I’d ignore 70% of what it suggested. I only picked out the things that matter in the first session.

Another trick: talk to it about an idea, then ask “what would Rory Sutherland do?” It changes the angle completely.

Expanding the game

I drifted away from the original Inselkampf. That game was over 25 years old and slow. When I played through my own onboarding, a new player could build something, maybe upgrade something, and that’s it. 2-3 minutes and you’re done.

So I started adding things. A marketplace, a council that gives you quick decisions and gambling, coins, food, population, happiness. Every new feature risked breaking the balance of everything already in place, and balancing a game was something I’d never done before. I just asked AI to balance each new feature into the existing system and tested it.

The rule I held to: nothing gets added unless it connects to something else. No bolted-on features that exist in isolation. That’s where the depth comes from, and it’s something worth thinking about if you’re designing any kind of game with progression.

These features started working together in ways I didn’t plan. You build with the resources you have, run out, spend coins at the bazaar, run out of coins, try your luck with the council, loop back into building. Raiding works on a longer cycle alongside all of this. First play went from 2-3 minutes to 10-20 minutes. Enough to feel like you’ve done something. Then you come back 30 minutes later and build more.

If you’re working on a similar game, that loop is everything. Don’t add breadth, add depth by connecting what’s already there.

What’s next

More experiments. My goal is 20 daily active users. I’m preparing all the marketing assets for the next push, but the target is simple: get to 20 DAU, then let the data tell me what to do next. I don’t decide, the data decides.

Ultimately I’d love to get a real active world going, hundreds of players. But that starts with 20.

I’ll be writing more about the growth side, the tools I built to replace Google Analytics, Sentry, and Intercom, and the blind coding workflow in more detail. If any of that sounds useful, follow along.

One more thing. I’m currently helping four people get better at AI-assisted development. One of them is my seven-year-old daughter, who was inspired by what I built and is now making her own game.


The game is Inselnova, a free browser-based multiplayer island strategy game. It’s in early access and I’d love for you to try it.

If you’ve got tips on getting feedback from quiet but active players, I’d really appreciate hearing them. And if you remember Inselkampf, come claim an island, the archipelago is still young.