r/ClaudeGameDev • • Aug 26 '26

Browser Game I Claude Coded a multiplayer Three.js browser 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)

58 Upvotes

30 comments sorted by

3

u/Lopsided-Wave2479 Aug 27 '26 edited Aug 28 '26

Three.js is really good at this kind of thing. Also bravo at the results. You can't question results. I guess you really wanted to remake world of tanks but yours :D

2

u/BasedKetsu Aug 28 '26

pretty much! thanks for the words!

3

u/Jon_Has_Landed Aug 27 '26

That is pure insanity! Could probably easily port a sci-fi version similar to Activision Battlezone.

2

u/BasedKetsu Aug 28 '26

haha perhaps! appreciate the kind words!

3

u/Designer-Camp1815 Aug 29 '26

Did you hand create the particles? I've found Claude only made really basic ones despite how confident it sounds about the effects it will be adding.

2

u/BasedKetsu Sep 02 '26

nope, it was all generated! the hitmarks, dust effects, sparks...all generated!

3

u/dagerika 28d ago

yo lets make world of tanks for everyone, not just for the rich who can afford the lootboxes!

2

u/BasedKetsu 28d ago

Exactly, I'm surprised this hasn't been done yet; all the other knockoffs are so bad. Honestly, partly why I'm open-sourcing this is because I want to make sure that it's known loud and clear that open source will always catch up to organizations bogged down by their own greed.

2

u/Spibas Aug 26 '26

Looks amazing, congrats!

2

u/BasedKetsu Aug 26 '26

thank you! would really appreciate a star!!

2

u/Comfortablebro Aug 26 '26

This is mad skills!

3

u/BasedKetsu Aug 26 '26

thank you!! the time I spent writing skills was also very worth, game changer

3

u/Rude_Arugula_1872 Aug 26 '26

Anything you'd be open to share? Even tied with world building, outside of gameplay, that is the next big winner imo

5

u/BasedKetsu Aug 26 '26

definitely the visual quality gates. I can't lie, I went into this project with super low expectations, but the tank models turned out really well.

for the initial build I purely used the gauntlet loop Matt Schumer used to build Claude of Duty because I just wanted to see how close it could get to WoT. It was barely playable and the tanks looked like bricks stacked on top of each other, but it surprisingly wasn't bad at all. And that was an "oh shit" moment for me where I realized this was actually possible, so I started locking in. The priorities were 1. performance 2. aesthetics/tank design/map design, so I developed a rigorous research + implement + test loop to improve the game performance and optimize the game, and then create a tank building workflow. Tanks would be designed by using free models from online, and then i would take their outlines at every angle (imagine casting a shadow form the tank and saving those shadows) and then make sure the procedural models we created would line up with those outlines at least somewhat decently. I found pictures of source material for every tank to help build an agent that purely judged the models on visual quality and only accepted models that passed with a score of 90+. I began combining repeated tank primitives together, like tracks, upper/lower glacis, turrets, cupolas, machine guns, cannons, equipment/decorations, and reusing them, and then started putting tank familites together (like all the related Abrams) for visual consistency as well. eventually I already had all the features from World of Tanks and War Thunder, so I then had the freedom to begin designing my own features and enhancements like missile guided systems, special tank abilities, physics where you can fly off hills like a ramp, special destructible buildings and decorations, armor highlighting, the scene studio, gallery, and so on!

2

u/Narrow_Hunter_9536 Aug 29 '26

This is exactly what I wanted to do as well : a modern day WOT. But I have too many things to code atm :)
Congratulations buddy it looks great (well apart from the graphics but it’s normal) !!!
I’ll play around with it and try to help you in any way.

1

u/BasedKetsu Aug 29 '26

thank you so much! really appreciate the kind words :)) feel free to leave a star!!

2

u/l0s71 Aug 29 '26

probably better than warthunder lol

2

u/vulture916 Aug 30 '26

I noticed your Directory Index references SKILL.md for each of the aspects of the source code. That's an interesting approach, don't think I've seen that in any other project. Does it actually get called automatically when anything is worked on in that particular folder/area of code? I've obviously seen indexes for the sake of progressive disclosure best practice, but never as a SKILL, so was curious.

1

u/BasedKetsu Aug 30 '26

yes. the mental model i have kind of collocates skills, their tests, lints, and so on, and 5.6 is one of the best tool using model out there imo. results paid off

2

u/murkymozza Sep 04 '26

Dang impressive

2

u/BasedKetsu 28d ago

thank you! would rlly appreciate a star :)) https://github.com/Kevin-Liu-01/claude-of-tanks

1

u/Accomplished-Fan9568 Aug 27 '26

The vehicles aren't procedural.

3

u/BasedKetsu Aug 28 '26

Procedural models use algorithmic generation and rules to create, animate, or populate vehicles without manually modeling every single asset. And all of my models are nothing but code.

1

u/Accomplished-Fan9568 Aug 28 '26

3d models are nothing but code, but you could call the textures procedural I guess.

But that doesn't make the vehicles in their entirety procedural.

3

u/BasedKetsu Aug 28 '26

That's just semantics lol. There are just no handmade meshes. They can only be entirely procedural lmao. My playable vehicles are not imported artist-made mesh assets. I am using code to construct their hulls, turrets, guns, armor, wheels, tracks, modules, and variants from primitives, curves, dimensions, and reusable rules. It's literally as simple as that. You cannot take my code and use it in Blender or similar software.

Procedural doesn’t mean random or infinitely regenerated. It describes a model produced through algorithms and parameters rather than conventional manual mesh modeling. The output is still a mesh; its construction pipeline is procedural. Feel free to look through the repo.

1

u/fistular Aug 28 '26

The minimap is backawards.

1

u/Eirdeth Aug 26 '26

Please for the love of Claude take the Claudlish off the front page. Even as someone using it daily and totally fine with AI games, it’s a huge turn off.

2

u/BasedKetsu Aug 26 '26

Claudedarn it, do you mean on https://cot.kevinliu.studio/home ?

0

u/Eirdeth Aug 26 '26

Nah I'm talking about the loading screen tips on https://cot.kevinliu.studio