ORBIUM
Contents
Developers

Developers

How Orbium is built, from the game server to the WebGPU engine, its shaders and its effects. A knowledge base that grows with the platform.

View as Markdown

These pages explain how Orbium works inside: how a Hold is run, how the browser and the server agree on a World, and how the engine draws it with WebGPU. They are for anyone curious about real-time 3D on the web, and they are our own map as the platform grows.

The pages name the files they talk about, as the code is organised: the files are the source of truth, these pages explain why they are the way they are. Orbium's code will be public as an open-source edition, published on GitHub with each release; once it is out, those names link straight to the code.

Where to start

  1. Run Orbium locally: the game server, the client and bot players on your machine, in two commands.
  2. Architecture: the pieces and how they talk. The client, the server, the code they share, and who decides what.
  3. The engine: a tour of the WebGPU engine, one folder at a time.
  4. WebGPU in Orbium: the device, buffers, WGSL modules, materials, and how a frame is recorded and submitted.

Deep dives

One system at a time, from the idea to the shader:

  • The ocean: FFT waves, shore waves that bend around headlands, surf foam, caustics and the view under the sea.

More will follow: the terrain and its level of detail, rocks, the sky and clouds, shadows, the post effects, particles, sound.

The stack

PieceWhat it does
WebGPUDraws every World, in the page, with compute and render passes
WGSLWebGPU's shading language: every shader in the engine
DenoThe toolchain: the build, the tests, the tools
ViteBuilds and serves the client
CelldRuns every Hold: self-hosted Durable Objects
CloudflareServes the site