Ragnavoxel engine

A world at 1.5 cm, streamed to the horizon.

Ragnavoxel is a modern C++20 game engine built on Vulkan 1.4. It streams microvoxel worlds of continental scale at full detail, keeps its APIs small and readable, and comes with its own editor. Its only fee is a flat 1.987% royalty on gross revenue.

The Ragnavoxel Editor: asset browser, a live engine viewport with an English oak, the part inspector and the model's TOML source
1.987%of gross revenue, from the first sale, and nothing else
1,050 kmworld running on it today, in LostVale
64³microvoxels to the block, in 8³ bricks of 8³
10clipmap levels of far terrain to the horizon
16 KiBAoSoA archetype chunks in the ECS
A LostVale town street rendered by Ragnavoxel

LostVale, running on Ragnavoxel today.

Proven at the hardest scale first

Most engines show you a demo level. Ragnavoxel runs a whole game.

Its first job was LostVale: a procedurally generated archipelago about 1,050 km across, streamed around the player at 1/64 m voxel resolution. Full microvoxel detail near the camera, brick detail beyond it, block detail beyond that, and ten clipmap levels of far terrain out to the horizon, all on a floating origin.

Streaming, physics, fire, glass, weather, grass, crowds and audio all run in shipping code. If an engine can hold that, it can hold your game.

Inside

Plain modern C++ you can read in an afternoon

An archetype ECS in AoSoA layout, GPU-driven Vulkan rendering, hierarchical greedy meshing and Jolt physics, with no visual-scripting layer between you and the code.

Data-oriented from the first line

All game logic is systems over components, and engine services are ECS resources. Each 16 KiB archetype chunk stores every component field as its own contiguous array, so systems sweep unit-stride lanes the cache and SIMD units like. A job system runs generation, meshing, colliders and fracture on workers.

A voxel pipeline nobody else has

Blocks of 64³ microvoxels collapse uniform regions to a single id and palette-compress detail at 1 to 16 bits per voxel. Hierarchical greedy meshing merges coplanar faces by quantised face class across block, brick and microvoxel levels, and tests check every mesh is watertight.

Surfaces with relief

Every voxel face carries heightfield pattern, amplitude, tint, roughness, emissive, wetness, sheen and seam parameters. Quads are tessellated and displaced in world space without cracks, and slopes turned off the grid shade smooth. One scene mixes resolutions from 1/64 m terrain to 1/4096 m insects.

GPU-driven Vulkan 1.4

Push descriptors, dynamic rendering and synchronization2. Clusters of up to 256 quads are culled on the GPU against the frustum, their facing and a two-phase Hi-Z pyramid, then drawn with vkCmdDrawIndirectCount. GPU pools are sized from the card's memory, so view distance reaches as far as the hardware holds.

Light, air and fire

Fog and cloud are simulated every frame with semi-Lagrangian advection, with god rays ray-marched through the world's occupancy. Light is photometric, from 110,000 lux sun to a 0.3 lux full moon, with eye adaptation. Flames are ray-marched voxel volumes; stained glass casts coloured light into rooms.

Physics that breaks things properly

Jolt physics with streamed static colliders built from greedy quads and a capsule character with stair stepping. Broken material is lifted out brick by brick, given mass and strength from its material, simulated at real gravity and written back as voxels. Overhangs past their material's span come down.

Audio, storage and streaming

Mix buses, voice stealing, streamed Ogg and sample-aligned music stems, with procedural wind, surf and birdsong. Worlds live in a TileDB sparse 3D array written by concurrent writers. Streaming schedules by nearness, view and heading, so the world keeps up with a galloping horse.

Content as text

Materials, voxel types and models are TOML, built from capsules, ellipsoids, boxes, branch systems, scatters and ASCII-art voxel layers. Every model can be read, diffed, reviewed and generated by a person, a script or an AI.

Runs on old and new machines

Builds target any x86-64 processor from about 2009 on by default, with no AVX required anywhere in the stack, including physics. A project can ask for a newer baseline when it needs one.

The Modeling tab with a branches part selected and its handles in the viewport

Ragnavoxel Editor Working today

Every edit is one click or one key

The Modeling tab opens any model in your project in the engine's own renderer, lighting and materials, so what you see is what the game grows. Click a part to select it, drag its handles, or type exact values; R grows another instance and G shows a field of variations.

  • Nothing changes that you didn't change. The editor rewrites only the values you edit, so comments, layout and number spelling survive.
  • Ranges are first class. Any value can vary per instance as [lo, hi].
  • Undo everything, hide and solo parts, paint voxel art by hand, and find any model or command in a few keystrokes.
# Connect Claude Code to your project
claude mcp add ragnavoxel -- \
  ragnavoxel_editor --mcp --project ragnavoxel.project.toml

Tools include list_models, get_model, set_fields, add_part, validate_model, render_model, build_project and package_project.

MCP server Working today

An engine your AI assistant can operate

The editor speaks the Model Context Protocol. An assistant can inspect your models, edit them, check them with the engine's own loader, render a picture to look at, build the project and package it, through the same operations you use by hand.

Edits keep comments and layout, are validated before they're saved, and show up in an open editor window straight away.

Six camera rigs on one voxel scene: orbit, follow, first person, top-down, isometric and side-on

Any game, any camera Working today

Voxels at your scale, or no voxels at all

The voxel size is a runtime setting, and any camera works: perspective or orthographic, first person to side-scroller, with ready-made rigs. A 2D sprite and tile map renderer sits beside the voxel pipeline, and the application host gives you the window, renderer, input, ECS, physics and audio in a few lines.

One command builds your project and packages it with a checksummed manifest, ready for any launcher that downloads only what changed.

Pricing

1.987% of gross revenue. That's it.

No seat licences, subscriptions, tiers, runtime fees or per-install charges. You owe nothing until your game earns money, and then you owe 1.987% of what it earns.

Sell on the Gaddr Games store and the royalty is the store fee: 1.987% once, taken at the point of sale, with no reports to file. Sell elsewhere and you report it each quarter.

Ragnavoxel's royalty compared with Unreal Engine 5's
RagnavoxelUnreal Engine 5*
Royalty1.987% of gross5% of gross above US$1M
ThresholdNoneFirst US$1M exempt
On a US$1M gameUS$19,870US$0
On a US$5M gameUS$99,350US$200,000
On a US$20M gameUS$397,400US$950,000

* Epic's published terms as last checked (lifetime gross per product; Epic offers a lower rate for games launched on its own store). Below about US$1.66M lifetime gross, Unreal's exemption makes it the cheaper choice. Above it, Ragnavoxel is, and its fee never climbs past 1.987%.

Who it's for

Built for the hand-coder. Fluent with the AI.

Hand-coders

Small, readable C++20. No visual-scripting tax and no 40 GB install. Read the renderer in an afternoon.

AI-assisted developers

Content is plain text and the editor speaks MCP, so your assistant works on the same files and tools you do.

Voxel and sandbox studios

The engine already running a 1,000 km world at 1.5 cm voxels, with destruction and fire built in.

Indies

One flat rate from the first sale, and on our store the copy your player buys is theirs.

Where it stands

What works today, and what's next

Working today

  • The microvoxel engine, running all of LostVale
  • The Ragnavoxel Editor with its Modeling tab
  • The built-in MCP server for AI assistants
  • General 3D and 2D: any voxel size, any camera, sprites and tile maps
  • One-command build and packaging with checksummed manifests
  • Install and update through the launcher, from our own server
  • Windows builds, cross-compiled from Linux with MinGW-w64: LostVale and the launcher ship for Windows

On the roadmap

  • A public release with the engine licence (EULA)
  • macOS, and the engine's own source release built on Windows (today it builds on Linux)
  • One Gaddr Games account across this site, the launcher and the editor
  • Conventional meshes alongside voxels and sprites