WebGL2 3D Engine Showcase

Lowfi Engine

A browser 3D engine in TypeScript, with WebGL2 rendering, Rapier physics and peer connections. Nexus is the arena game built with it.

A world, step by step.

Rendering and simulation are reusable engine systems. The game supplies the world, its rules and the way a player moves through it.

01.1 / Render

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.

01.2 / Simulate

Grounded movement

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.

01.3 / Animate

From mesh to motion

Load glTF assets, animate skeletal models on the GPU and blend clips. Rendering resources are tracked so they can be rebuilt after context loss.

Peers make the room.

The engine provides transport and sessions. Nexus builds its multiplayer simulation on top of those foundations.

Engine / Connection

WebRTC + Trystero

Peer connections, room codes, session lifecycle and host election. Nostr and MQTT provide signalling to help peers find one another.

Nexus / Simulation

One host, shared state

The game host processes player inputs and distributes state through a binary protocol. Prediction, reconciliation, interpolation and lag compensation support remote play.

Nexus / Rules & bots

Players and stand-ins

Host-run bots navigate a collider-probed graph. Team Deathmatch, Zone Control, Kill Confirmed, Free-for-all and Gun Game are Nexus game modes.

Build it. Export it.
Walk through it.

The engine loads the assets. The repository's production scripts turn map plans and procedural materials into the content used by Nexus.

Nexus monastery courtyard with pale stone walls, tiled ground and low cover beneath a blue sky.
Nexus / Monastère · Experimental content · Local build 0.11.3.6
Example game pipeline

A plan with a place in the world

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

Ask the running build.

Unit tests check system behaviour. Browser checks exercise the built game with Chrome and the DevTools protocol.

Geometry

Probe the real colliders

Map checks compare physical geometry with the plan, including spawn clearance and routes through the world.

Networking

Drive both ends

Browser checks exercise hosts and guests, movement, state exchange and disconnections.

Interface

Inspect what is drawn

UI checks capture real screens at different sizes and inspect their layout and contrast.

From the workshop.

Recent work recorded in the repository. Experimental development is separate from the public Nexus release.

Experimental / 0.11.3.2–0.11.3.6

Maps from plans

Five Nexus arenas move from box layouts to modelled, textured environments. Play review remains pending.

Experimental / 0.11.3.1

A shared visual language

Nexus's menu and HUD redesign introduces condensed headings, dark surfaces and cut corners. Explore how the menus evolved.