Free browser-native armored combat built with Three.js. Take 112 production-visible first-party procedural vehicles across 20 battlefields with physical gunnery, plate-level armor, internal damage, guided missiles, magazine autoloaders, terrain-following suspension, X-ray killcams, multiplayer rooms, and Scene Studio.
PLAY |
FIELD MANUAL |
TANK GALLERY |
SCENE STUDIO |
ENGINEERING DOCS |
![]() |
![]() |
![]() |
![]() |
These are handmade, deterministic scenes captured with the current game renderer—not concept art. The 88-frame showcase archive contains 13 owner-selected scenes, 30 action frames, 30 close foreground compositions, five directed Studio frames, and ten interface states. The landing selection records the six hero frames, feature reel, five camera-rail films, 24-shot mosaic, and directed Strv 122 versus Leclerc sequence now published on the site.
- Fight: enter solo or multiplayer battles with physical shell travel, armor geometry, component damage, spotting, terrain, collision, destructible structures, persistent wrecks, and authority-owned results.
- Inspect: open any vehicle in Tank Gallery, articulate the live rig, isolate armor or internal anatomy, and export an exact-surface review packet from the same specification used in combat.
- Direct: stage any roster vehicle on any battlefield in Scene Studio, animate actors and cameras, schedule game FX, and capture stills or video from reproducible scene data.
| Current runtime | |
|---|---|
| Fleet | 112 production-visible and 149 keyed local-development procedural vehicles across 151 saved roster records; 0 GLB-sourced playables |
| Worlds | 20 authored battlefields with shared structures, wrecks, utility networks, loose props, placement, collision, and destruction |
| Authority | Fixed 60 Hz movement, ballistics, armor, damage, spotting, bots, destructibles, and result |
| Presentation | Direct Three.js/WebGL renderer with a measured 120 FPS test path, adaptive quality, stable shadows, SMAA/FSR, and GPU recovery |
| Play | Solo bots, persistent private rooms, LAN rooms, room chat, spectators, rematches, and dedicated ranked authority |
| Platforms | Mouse/keyboard and complete touch controls with safe-area layout and device-adaptive rendering |
| Tools | Scene Studio, Tank Gallery, exact-surface review, deterministic capture, vehicle anatomy, and release gates |
The provenance gate currently reports 122 first-party procedural battle playables, 0 GLB-sourced playables, and 7 tracked external comparison models with exact source records. Comparison inputs are never a playable loading path and are stripped from public builds.
Each frame below opens a looping WebM recorded from the game. The camera rails use live vehicles, maps, ballistics, recoil, impacts, sparks, smoke, debris, and destruction effects.
OPEN THE FULL LANDING SHOWCASE
The fleet does not reduce every vehicle to the same gun and movement model. Specifications can add their own loading, guidance, suspension, ammunition, anatomy, and control behavior while remaining inside the fixed-step authority.
- Magazine autoloaders track ready rounds, intra-magazine cycle time, full replenishment, manual magazine reloads, shell changes, and damage to the loading mechanism. The Leclerc, Type 90, PL-01, and four-round PL-01 105 each carry their own magazine timings.
- Guided missiles travel at visible weapon-specific speeds and steer toward the authority-owned aim point. Launcher damage, rack damage, ammunition count, reload state, guidance, impact, and presentation all remain synchronized.
- Hydropneumatic aim uses the same canonical pose for armor, muzzle, collision, wheels, tracks, remote snapshots, and the camera; there is no separate visual-only tank tilt.
- Free look keeps the sight and turret on target while the camera moves. Hold
Shifton keyboard,RBon a standard controller, or assign another binding in settings.
- Plate-level armor resolves the actual plate, slope, impact angle, normalization, ricochet, overmatch, spaced armor, composites, ERA, and separate kinetic/chemical protection.
- Five ammunition families model muzzle velocity, gravity, penetration loss, ricochet, and damage differently.
- Internal anatomy tracks crew, ammunition racks, engine, fuel, gun, turret ring, optics, radio, and tracks.
- Tank-specific mobility combines drivetrain, terrain resistance, per-wheel support, suspension-damped hull attitude, flexible terrain-following tracks, collision, ramming, and crushable cover.
- Real battlefield knowledge combines view range, concealment, movement/firing bloom, foliage, radio sharing, and the 15 m bush rule. Multiplayer authority filters hidden enemies before serializing a snapshot.
Every playable hull, turret, gun, fitting, suspension, road wheel, and track run is assembled by the repository's first-party vehicle pipeline. Vehicle changes pass combat-anatomy receipts, generated technical diagrams, geometry checks, visual fingerprints, and a targeted release gate.
The renderer treats quality as a device contract instead of a single desktop preset. It selects a GPU/driver-aware profile, caps pixel density, prewarms shader paths, adapts costly effects, and can recover from a black frame or WebGL context loss. The current presentation path combines:
- four quality-scaled, stable texel-anchored shadow cascades with articulation-aware tank shadow hulls;
- fused output grading, anti-aliasing, adaptive render scale, fog/atmosphere, and bounded transparent depth work;
- instance/batch paths for repeated world objects, pooled particles, and explicit GPU resource disposal;
- reusable hot-loop scratch state, fixed-step simulation, render interpolation, and high-refresh presentation;
- an in-game diagnostics surface for FPS, ping, frame timing, draw calls, triangles, memory, network telemetry, quality, and renderer/driver identity.
The renderer reached 120 FPS on the certified test hardware. Actual performance depends on refresh rate, browser, thermal limits, GPU and driver, resolution, and quality level. Combat rules remain fixed at 60 Hz at every render rate.
Local, LAN, browser-hosted private, and dedicated ranked modes share the same renderer-free movement and combat rules. Clients send intent, never trusted hits or damage. Snapshot filtering, local prediction/reconciliation, bounded remote interpolation, reliable fire edges, reconnectable room state, and separate control/chat delivery keep a moving and firing 7v7 battle responsive without giving the client authority.
Two screens, opposing sights: paired live 1v1 captures preserve the real battle HUD, authoritative simulation, filtered snapshots, and each commander's view.
| Action | Keyboard and mouse | Standard controller |
|---|---|---|
| Drive and steer | WASD or arrow keys |
Left stick |
| Aim and fire | Mouse + LMB |
Right stick + RT |
| Precision sight | Hold RMB by default; wheel in also enters |
LT |
| Free look without moving the turret | Hold Shift or Left Alt |
RB |
| Select ammunition | 1 / 2 / 3 |
D-pad |
| Vehicle-specific action | E |
LB |
| Reload a partial magazine | C |
Remappable |
| Consumables | 4 / 5 / 6 |
Remappable |
| Handbrake | Space |
A |
| Shot log / performance / menu | L / F8 / Esc |
Interface controls |
Every desktop action is remappable. RMB can use hold-to-aim, toggle-aim, or classic free-look behavior. Touch devices
receive dedicated movement, aim, scope, fire, ammunition, equipment, and special-action controls rather than a scaled
desktop HUD.
Scene Studio works with the runtime rather than a separate cinematic renderer. Vehicles, camouflage, camera, lighting, recoil, tracers, explosions, sparks, smoke, debris, wreck state, and timeline events remain scene data. A saved scene can be replayed, scrubbed, edited, exported as JSON, captured as a high-resolution still, or recorded as a video.
Regenerate the current public archive:
npm run shots:battle:generate
npm run shots:battle:grade -- --root shots/marketing-battles-r3
node tools/marketing-shots/capture-multiplayer-dual-screen.mjs
npm run studio:action:render
npm run showcase:publish
npm run showcase:check
npm run landing:media:publishThe capture harness serializes concurrent jobs, starts a clean local game, verifies the requested state, and records
current rendering diagnostics. public/media/showcase-r1/manifest.json defines the source archive;
public/media/landing-r1/manifest.json records the public hero, rail, mosaic, and Studio selections with their actor,
effect, duration, dimensions, and byte receipts.
The same run is reviewed in contact sheets before any frame becomes a 4K master. These collection views make weak silhouettes, obstructed cameras, repeated compositions, and overpowered effects obvious before automated grading.
![]() Action review: ten multi-tank compositions inspected together. |
![]() Foreground review: anchor-tank readability checked against battle depth. |
Open all six review sheets and the complete admission contract.
The landing page publishes a larger responsive mosaic. This smaller wall samples the action and foreground collections without repeating the six hero frames.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Browse the full showcase manifest, open the public Tank Gallery, or build a new shot in Scene Studio.
controls ──► deterministic authority ──► filtered state + reliable events ──► presentation
│ │
├─ movement / terrain / collision ├─ procedural vehicles
├─ aim / ballistics / armor / anatomy ├─ tracks / suspension / FX
├─ spotting / concealment / bots ├─ HUD / audio / killcam
└─ destructibles / match result └─ Three.js / post / Studio
src/engine/ renderer, camera, lighting, post, quality, telemetry, GPU recovery
src/world/ twenty maps, terrain, vegetation, props, collision, destruction
src/vehicles/ specs, procedural geometry, materials, profiles, asset verification
src/sim/ DOM-free movement, aiming, ballistics, armor, damage, spotting
src/game/ local composition, bots, input, profile, killcam, Scene Studio
src/net/ protocol, rooms, chat, snapshots, prediction, WebRTC/WebSocket
src/ui/ garage, battle HUD, reports, settings, diagnostics, touch controls
server/ signaling, persistent rooms, dedicated authority, ranked service
Start with Technical overview, Product features, How it works, Multiplayer architecture, Performance, Scene Studio, and Tank Gallery.
npm install
npx vite
npm test
npm run test:net:browser
npm run tank:native:check
npm run build
npm run build:privateThe public build strips quarantined comparison assets. Simulation, networking, browser multiplayer, maps, collision, destruction, rendering policy, UI, mobile controls, vehicle provenance, anatomy, generated assets, and both build variants have executable checks.
Kevin B. Liu created, designed, and directed the project. Claude and Codex assisted with research, vehicle authoring, simulation, networking, design, performance, quality assurance, documentation, and deployment. They are development tools, not co-authors or copyright holders.
All gameplay code and every selectable procedural vehicle model are original first-party work by Kevin B. Liu. The
repository is MIT-licensed by default, with procedural vehicle and battlefield source, fleet and map data, generated game
assets, capture recipes, authored media, and first-party branding expressly excluded as proprietary Reserved Content.
Earlier public revisions remain available under the MIT terms under which they were released. See LICENSE, LICENSE-POLICY.md,
NOTICE.md, and docs/ATTRIBUTION.md before reusing any file. External models may be
retained only as quarantined research references; they are never loaded as playable geometry.






































