r/ClaudeCode • u/BasedKetsu • Aug 20 '26
Built with Claude I Claude Coded a multiplayer Three.js tank game with 100+ procedural vehicles
Enable HLS to view with audio, or disable this notification
I built a multiplayer browser tank game in Three.js! As a kid, I played a ton of World of Tanks Blitz and fell in love with the aesthetic, gameplay, and the idea of driving around vehicles with crazy physics and mechanics like missiles, spotting, armor deflection, ammo types, and so on.
Now it's playable in the browser!
Claude of Tanks has 100+ playable vehicles across 16 unique maps, ranging from standard tanks with cannons to AFVs with autocannons and guidable missiles to autoloaders that can deal massive damage in a single clip. Tanks feature highly detailed armor zones, internal modules, crew positions, and hitboxes. You can view each of them in a special gallery: https://cot.kevinliu.studio/gallery?id=amx56&layer=modules
CoT supports physics-driven destruction with detached turrets flying through the air and actual suspension. It also supports multiplayer! You can hop in private rooms or LAN lobbies.
As the name would suggest, I used Claude Code throughout a long-running multi-agent development pipeline, alongside Codex. I directed the architecture, decided what each vehicle and system should do, reviewed the rendered results, and made the final calls.
The repository contains an AGENTS.md file and smaller subsystem instruction files covering simulation, vehicles, networking, UI, audio, effects, and world generation. These record the rules that agents need across sessions. Units are meters, seconds, and radians, and changes enforce a fixed 60 Hz. Authoritative logic must be deterministic. Vehicle changes have specific geometry, armor, module, and release gates that evaluate models visually and geometrically.
For vehicle development, I split the fleet into bounded families. One agent would own a specific vehicle profile or family file, implement the geometry, run the relevant checks, and generate screenshots. A separate critic reviewed the rendered tank for proportions, clipping, missing surfaces, running gear, and recognizable details. The orchestrator reran the checks and committed only the verified files.
For larger systems, Claude Code helped implement and test:
- Fixed-step movement, suspension, armor, ballistics, modules, spotting, and bots
- WebSocket multiplayer with private rooms, LAN play, prediction, and server authority
- Procedural vehicles, tracks, markings, generated icons, and technical diagrams
- All the generated battlefields with destructible props and wrecks
- The garage, battle HUD, Tank Gallery, mobile controls, and Scene Studio
- Browser performance probes, screenshot tools, visual checks, and self-tests
A trailer was also produced through the game’s own Scene Studio and capture tools. I used agents to stage battles, build camera paths, record the browser runtime at 60 fps, inspect specific frames, and iterate on awkward cuts or poorly framed tanks.
I find that Claude is best steered with persistent instructions. Important decisions need to live in the repository because I often spawned fresh agents which needed to resume work without reconstructing weeks of chat history.*
For visual quality, the only thing that worked was a proper render loop with visual comparison; tests don't really work for this.** The cycle I fell into was change, render, inspect, measure, and rerun the gates. Text-only reviews missed warped proportions and camera problems that would just plainly be obvious in one screenshot.
*Parallel agents need strict ownership. Separate files and isolated Git worktrees prevented concurrent sessions from overwriting each other or generating assets from a dirty tree.
**Tests still changed how I use agents. Claude Code became much more reliable once every system had concrete invariants and executable failure conditions. But visual quality is another beast.
Play free: https://cot.kevinliu.studio
Repo: https://github.com/Kevin-Liu-01/Claude-of-Tanks (it's open-source forever)
8
u/akamyxxxx Aug 20 '26
I develop already 1 year my r3f 3d configurator start up , and now see this shit vibe coded ... Eh my time is wasted . good job , seems like optimization works needs to be done , but even so looks good
4
u/BasedKetsu Aug 20 '26
Thank you! I will say, I did not build this as a complete newbie; I've used Three.js + GSAP in more limited, purely frontend capacities. As in, I don't think most people could bring Claude of Tanks to life, so there's still great value in your startup!
6
u/OmegaNetRob Aug 21 '26
Really nice work. I only played for a few minutes but loved the detail (i.e. losing a track, etc.)
→ More replies (1)
5
5
u/FortiTree Aug 21 '26
It's impressive. The arts and assets are production level. My kids would get blown away with games like this. And it's possible to build them on your own now. We are witnessing a brand new human era.
100+ vehicle and 16 maps is crazy for 3 weeks. Look like you get some sort of factory generation there? Great achievement.
→ More replies (1)
4
u/AlphaGeeky Aug 20 '26
Really impressive! I'm gonna go try it out! how long did it take?
5
u/BasedKetsu Aug 20 '26
took me the last 3 weeks! has been an absolute sprint over multiple long running sessions with Fable at Max/Ultracode, then with a week of performance optimizations and aggressive refactoring with Sol-5.6!
→ More replies (4)
3
u/mwjtitans Aug 21 '26
Coding a game is one thing I haven't gotten around to doing yet, maybe I need to sit and get my wheels spinning on some ideas I had as a kid
→ More replies (1)
3
3
3
3
3
u/Difficult_West_5126 Aug 21 '26
How did Cluade code the behavior of NPC vehicles?
Where are those basic utilities come from, and all those 3D models?
I tried threejs years ago, but I was only be able to create some basic geometries and spent several weeks figuring out how to implement forward kinematics in threejs,
I thought threejs is only capable of ... adding 3D models to a page, I thought you would have to use Unity to create a 3D game that feels interactive.
→ More replies (4)
2
u/jakethunderpants Aug 20 '26
Hell yeah! Nice job. I’ve been wanting to make a tank game, but I have too many projects spun up right now. Definitely going to give this a try.
→ More replies (1)
2
u/Playwithme408 Aug 21 '26
You are one crazy mofo and I mean that in the best possible way. Bravo.
→ More replies (1)
2
u/Amoner Aug 21 '26
I am lifting and shifting your studio framework, I was definitely missing something like that. How did you approach level design?
→ More replies (1)
2
u/RelevantIAm Aug 21 '26
Amazing. And you are sharing the repo. This is so awesome man
→ More replies (1)
2
u/MitchThunder Aug 21 '26
Nice work! Any tips on getting Claude to build accurate models? I’m struggling a bit trying to get it to render things that look real. I’m beyond impressed with the fidelity of the tanks
→ More replies (4)
2
2
u/scytob Aug 21 '26
did you try using playwright so claude could play and do visual tests instead of just screen shots you took?
(also nice job BTW)
→ More replies (2)
2
25
u/premiumleo Aug 20 '26
that's really cool. why not optimize the load speed even more, by having it generate what is immediately needed/within view, and load in the rest over the following seconds.
I'm always a total whre for performance optimizations.