- Authors

- Name
- Alberto Montalesi
Battle Tanks takes the classic Battle City formula: drive a tank, blast bricks, defend a base, and destroy the enemy. It adds a modern roguelite power-up ladder in a full 3D low-poly browser game. There is no download, install, or lobby. Open a tab and you are in a tank.
Fight through waves, gear up, take down the boss
You survive escalating waves of enemy tanks across 12 hand-built arenas, each with its own brick maze, water hazards, tree cover, or lava lake. The enemies aren't all the same either: grunts, snipers, splitters, shielded armor, and stationary bunkers all want you dead in different ways.
Every fifth wave ends with a boss fight against the Titan, a scaled-up tank with twin heavy barrels and a pulsing weak-point core. Survive past the final arena and the level roster loops, with enemies returning with more health and damage each time.



Stack your loadout
Clear a wave, pick an upgrade, and those upgrades carry across the whole run and stack with each other:
| Category | Upgrades |
|---|---|
| Weapons | Laser (pierces tanks and brick), Rocket (splash damage), Spread Gun (3-way fan) |
| Offense | Ricochet, Homing Shots, Overcharge, Extra Bullet, Rapid Fire, Overdrive (kills briefly boost fire rate) |
| Survival | Tough Armor, Extra Life, Ghost Plating, Adrenaline, Scrap Armor (kills heal you), Second Wind (cheat death once a wave) |
| Utility | Speed Boost, Power Shot (breaks steel), Mines, Juggernaut (ram enemies for free damage) |
A homing-laser build plays completely differently from a mines-and-juggernaut brawler, and that's the whole point: two runs shouldn't feel the same.
Solo, or drop in a second player
Battle Tanks has local 2-player co-op on the same keyboard, with shared upgrades and twin-stick chaos, plus touch controls so it works on mobile and tablet browsers.
| Action | Player 1 | Player 2 |
|---|---|---|
| Move | WASD | Arrow keys |
| Shoot | Space | Enter |
| Pause | Esc / P | ā |
The tech: Three.js, WebGPU, and a fixed-step simulation
Battle Tanks is built with Three.js (r171), running on WebGPU where the browser supports it and falling back to WebGL automatically. It is written in strict TypeScript with a fixed-step simulation loop. Like ARCOLOGY, the other Three.js game on this site, it has no backend and everything runs client-side.
The fixed-step simulation was the detail that mattered most. With a lot of bullets, mines, and tanks on screen at once, you want game logic to run at a stable rate independent of frame rate, so a laptop and a phone play the same even when one is rendering far fewer frames.
AI tools sped up the Three.js setup, WebGPU/WebGL fallback, enemy behaviors, and power-up wiring. The pacing of waves, boss timing, upgrade interactions, and endless-mode curve came from repeatedly playing the game until runs felt fair. That was the work that decided whether the game was worth finishing.
It runs entirely in the browser. Play Battle Tanks with a friend in local co-op.
Recommended Tools
These are affiliate links. Using them helps support this site at no extra cost to you.
Did you find this useful?
0 readers found this helpful
