Light in linear space
WebGL2 rendering with linear colour, ACES tone mapping and sun shadows. Skyboxes, height fog, glass and water have dedicated rendering paths.
A browser 3D engine in TypeScript, with WebGL2 rendering, Rapier physics and peer connections. Nexus is the arena game built with it.
Rendering and simulation are reusable engine systems. The game supplies the world, its rules and the way a player moves through it.
WebGL2 rendering with linear colour, ACES tone mapping and sun shadows. Skyboxes, height fog, glass and water have dedicated rendering paths.
Rapier runs a fixed physics step. The kinematic character controller handles steps, slopes and ground contact; mesh colliders follow scene geometry. Nexus adds sprinting, crouching, sliding and mantling as game movement rules.
Load glTF assets, animate skeletal models on the GPU and blend clips. Rendering resources are tracked so they can be rebuilt after context loss.
The engine provides transport and sessions. Nexus builds its multiplayer simulation on top of those foundations.
Peer connections, room codes, session lifecycle and host election. Nostr and MQTT provide signalling to help peers find one another.
The game host processes player inputs and distributes state through a binary protocol. Prediction, reconciliation, interpolation and lag compensation support remote play.
Host-run bots navigate a collider-probed graph. Team Deathmatch, Zone Control, Kill Confirmed, Free-for-all and Gun Game are Nexus game modes.
The engine loads the assets. The repository's production scripts turn map plans and procedural materials into the content used by Nexus.
Map plans feed Blender scripts that build geometry and export glTF. Texture and sky generators keep content reproducible from repository sources.
Nexus also uses scripted weapon models and captures its map selection stills directly from the running game.
Map plan → Blender → glTF → Engine loader → Nexus
Unit tests check system behaviour. Browser checks exercise the built game with Chrome and the DevTools protocol.
Map checks compare physical geometry with the plan, including spawn clearance and routes through the world.
Browser checks exercise hosts and guests, movement, state exchange and disconnections.
UI checks capture real screens at different sizes and inspect their layout and contrast.
Real game captures. These in-engine stills illustrate the engine; experimental maps are identified individually.
Recent work recorded in the repository. Experimental development is separate from the public Nexus release.
Five Nexus arenas move from box layouts to modelled, textured environments. Play review remains pending.
Nexus's menu and HUD redesign introduces condensed headings, dark surfaces and cut corners. Explore how the menus evolved.