RangeBlends · The only thing worth saving

The Build Code

A plot of ground that was never saved anywhere. Click to dig, pick a block and click to build. The valley itself costs nothing to keep — it is a word. What you do to it is the only thing that has to be written down, and it fits in the box at the bottom. Send that string to somebody and they get your build, rebuilt, on their machine.

Walk this world in Wander ↗

plot

Your ground

Click a block face to place; the dig tool takes one away. Shift-click always digs, whichever tool is chosen.

the world 0 bytes your changes 0 save file 12 bytes a whole valley without you: 12 bytes

The code is the save file

Everything you have done is in here. Copy it, and paste it into this page on any other machine — or a week from now — and it comes back exactly.

The word at the front is the whole landscape. Everything after the # is you.

Why it is so short

A normal game saves the world: every block, whether you touched it or not. This one saves the difference between the world and what you did to it, because the world can always be worked out again from its word.

So an untouched valley of any size is 12 bytes, and a valley you have spent an hour in is 12 bytes plus 12 for each block you changed. Dig a hundred blocks and the file is 1,212 bytes. A screenshot of what you built would be a thousand times bigger than the thing that recreates it.

Replay puts your changes back one at a time, in the order you made them — the code is not a picture of the result, it is the list of steps.

Same idea at full size: The Ruler Valley →  ·  twelve plots to choose from: The Seed Wall →

This is IndexedWorld.cs's world = generate(seed, coordinate) + delta, with the delta made visible. In the Unity version the same save is 12 bytes of header plus 12 per changed cell, packed binary rather than text; here it is text so you can see it. The ground is valleyGrid, the same function Valley and the wall use.