Spark & Anvil Privacy

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, and the same seed gives the same world every time.

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 →

That is the whole engine: a seed, some noise, a way to store the blocks, and a steady clock. Back to the 15–18 shelf →

What next? Pick a door

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