Ages 15–18 · Grades 9–12 · Computer Science

VoxelEngine

No one draws a whole world by hand — an engine generates it from a seed and a little maths. Dial the fBm octaves and watch smooth blobs sharpen into coastlines and mountain ridges, then see how run-length encoding stores all those blocks in a fraction of the space. Same seed, same world, every time — the determinism engines are built on.

Generating a world…

A case · you decide

Felix's world that ran out of memory

Felix, 16 — building a block-world game whose save files have grown to several gigabytes

The idea in play: a voxel world is mostly long runs of the same block, and run-length encoding stores a run as "block, count" instead of every cell.

Felix stores every block in every chunk one by one. A 16×16×256 chunk is 65,536 entries, and most of them are air or stone.

A column that is 200 blocks of stone and then 56 blocks of air holds two facts, not 256.

Run-length encoding stores those two facts: stone × 200, air × 56.

Where will run-length encoding save the most?

Felix adds more terrain-noise octaves for rougher hills, and his save files grow again. Why?

Build terrain →

What next? Pick a door

Chosen from what this app is about. What you open is remembered on this device only.