The battlefield — the Three.js voxel RTS client of Blox Blitz.
The arena is the browser client: an isometric voxel RTS rendered with Three.js. It draws the contoured battlefield, runs A* pathfinding and fog of war, paints the HUD, and syncs profile, ladder, and marketplace state through bloxblitz-gateway.
Every block, unit, and building comes from one standardized cube pipeline. The production client ships with no build step; this repo wraps it in Vite for a fast dev loop.
npm install
npm run dev # http://localhost:5173| Script | Does |
|---|---|
npm run dev |
Start the Vite dev server with hot reload |
npm run build |
Bundle to dist/ |
npm run preview |
Serve the production build locally |
bloxblitz-arena/
├── index.html # entry document + HUD root
├── src/
│ └── main.js # renderer, iso camera, voxel terrain, system hooks
└── package.json # three + vite
System modules (pathfinding, fog, units, HUD) plug into the hooks marked in src/main.js.
- Isometric orthographic camera with zoom and pan.
- 80×80 voxel terrain across 4 elevation tiers via
InstancedMesh. - Hooks for A* pathfinding, fog of war, cosmetics, and the DOM HUD.
- Economy sync through the typed gateway client.
Placeholder. Add
docs/arena-hero.pnganddocs/arena-match.png.
Static output. Build with npm run build and serve dist/ behind any static host or the Foundry Node process. Production routes through game.bloxblitz.fun.