voxolith

Manual

Task-by-task guide to building a game on Voxolith, from storing a world and placing models to input, lighting, weather, performance and deployment.

The manual is organised by task. Each page answers one question you will have while making a game: how do I do this, which parts of Voxolith are involved, what does it cost, and what goes wrong. Pages are short and link out to the API reference and to the concept pages of each package when you need the full picture.

If you have not drawn anything yet, start with Getting started and the tutorial. The manual assumes you have a canvas, a GpuContext from initGpu and a Renderer from createRenderer.

How the pieces fit

Voxolith is three layers, and the manual follows their split:

  • @voxolith/renderer draws. It holds the world as bricks, draws instances, lights and atmospheric effects, and knows nothing about entities, weather or gameplay.
  • @voxolith/engine is the vocabulary between them: entities and colour roles, palettes, placement, streaming, instances, input, animation and atmosphere presets.
  • Generators (@voxolith/gen-*) bake models: trees, rocks, buildings, creatures, terrain.

Your game decides what happens and when. Where the engine offers a helper for a policy (a phone profile, a weather rule, a quality setting), it is a suggestion the game is free to replace.

The world

Interaction

The look

Assets and shipping

On this page