Authoritative combat
The server validates shooting and damage instead of accepting client-declared hits.
Fast-paced browser FPS arena.
A real-time first-person browser arena with server-owned combat, varied procedural maps, weapon pickups, rounds, respawns, and shared profile support.
Shooter is a Socket.IO multiplayer FPS rendered in Three.js. The browser handles presentation and input while the Node server owns player state, hit decisions, scores, and round flow.
The arena set includes purpose-built maps with distinct traversal and combat spaces. Map voting moves the room between rounds, while weapon pickups change how players approach those spaces.
Client prediction and server reconciliation keep movement responsive, including special traversal such as bounce pads, while preserving an authoritative result under latency.
The game can recognize a greglab Games profile and still allows a guest to enter when the shared hub is unavailable.
Captured features
Capabilities
The server validates shooting and damage instead of accepting client-declared hits.
Multiple constructed maps and end-of-round voting vary sightlines, traversal, and pickup routes.
Arena pickups provide different weapon behaviors and create contested points around the map.
Prediction and reconciliation cover ordinary movement and map mechanics such as bounce pads.
Rooms coordinate joining, live rounds, scores, respawns, pausing, and leaving.
Under the hood
Improved rendering while fixing initialization, cleanup, and map-build stability.
Improved in-round pause, resume, and exit behavior.