logo
Published on

A Browser Tank Game Inspired by Battle City

Authors
  • avatar
    Name
    Alberto Montalesi
    Twitter
This article was written with the assistance of AI.

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.

Battle Tanks gameplay: low-poly 3D tanks in a brick arena

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.

Laser weapon cutting through a swarm of enemy tanksA multi-kill combo around the MOLTEN CORE lava lakeThe Titan boss tank at the end of a boss wave

Stack your loadout

Clear a wave, pick an upgrade, and those upgrades carry across the whole run and stack with each other:

CategoryUpgrades
WeaponsLaser (pierces tanks and brick), Rocket (splash damage), Spread Gun (3-way fan)
OffenseRicochet, Homing Shots, Overcharge, Extra Bullet, Rapid Fire, Overdrive (kills briefly boost fire rate)
SurvivalTough Armor, Extra Life, Ghost Plating, Adrenaline, Scrap Armor (kills heal you), Second Wind (cheat death once a wave)
UtilitySpeed 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.

ActionPlayer 1Player 2
MoveWASDArrow keys
ShootSpaceEnter
PauseEsc / 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.

Did you find this useful?

0 readers found this helpful