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…
How are you feeling?
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
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?
Felix's saves dropped from gigabytes to tens of megabytes. He kept the rough hills, and he now knows what they cost.
Who made this?
“In reality, every technology reflects decisions made by designers, companies, and communities, and carries the values and power of those choices.”
- Who benefits from this technology?
- Whose needs are ignored?
Brain break
What next? Pick a door
- More like this SyncForge Will both players see the same world? BehaviorForge Which search explores the fewest cells? LibraryForge What does this helper function return?
- A bit harder PackForge Why does this content pack break? SpecForge Is your brief clear enough for the agent? StudioDojo Can you ship your game design?
- Something different KeeperDojo Could you keep a table of five? FeelDojo Does this answer you, or bait you? DomeForge What will tonight’s dome show?