greglab
GamesLive

Destruction Area

Multiplayer destruction FPS.

A server-authoritative multiplayer browser FPS built around weapon pickups, destructible arena dressing, map voting, and structurally tested environments.

Mode
Multiplayer FPS
Maps
Authored + tested
Authority
Server
First commit
2026-02-16

What it is

Destruction Area runs real-time FPS matches in detailed Three.js arenas. The client renders the world and feedback while the server owns shots, damage, health, scoring, respawns, and match transitions.

Its map collection includes environments such as Subway and Bank Heist with map-specific spawn points, pickups, cover, and traversal. Structural checks validate important map assumptions before changes ship.

The rendering pipeline adds procedural physically based materials and post-processing while cleanup paths dispose resources safely between map builds.

Map construction is re-entrant and yields around expensive work so a rebuild does not starve the multiplayer server heartbeat.

Highlights

  • Destructible multiplayer arenas
  • Server-authoritative combat
  • Map voting and varied weapon pickups

Captured features

Inside the project

The public entry screen leads into the multiplayer destruction arena.
Detailed arenasThe initialized arena shows the browser-rendered environment used for authoritative multiplayer matches.

Capabilities

Key features

Server-owned firefights

Hit validation, damage, health, score, and respawns are decided by the multiplayer service.

Detailed arenas

Subway, Bank Heist, and other maps provide distinct architecture, spawn layouts, cover, and pickups.

Map voting

Players choose the next arena as a round closes, linking the map collection to match flow.

Weapon pickups

Map-placed weapons create different engagement ranges and contested routes.

Structural map checks

Automated checks and reusable specifications guard important geometry and gameplay landmarks.

Procedural rendering

A PBR and post-processing pass improves materials while explicit disposal keeps rebuilds stable.

Under the hood

How it works

  1. 1The browser captures input and renders a Three.js map, weapons, HUD, and post-processing.
  2. 2Socket.IO carries input and authoritative room snapshots between client and Node server.
  3. 3The server validates combat and advances health, score, respawn, voting, and round state.
  4. 4Map builders create tested scene geometry and explicitly clean render resources during transitions.

Recent changes

Full changelog →
  1. Stabilized map construction

    Made map builds re-entrant and prevented build work from starving server heartbeats.

  2. Upgraded visual rendering

    Added a procedural PBR pass with safer resource cleanup.

  3. Documented Bank Heist

    Added a reusable specification for recreating the map across games.