◆ THE LAW, FROM THE BEGINNING ◆

Why is that hill there?

Ask most generated worlds that question and there is no answer to give. They are made of noise, which repeats reliably and explains nothing: the hill is there because a hash said so, and a hash has no reasons.

These worlds are made of a law instead. Four small numbers decide which places get built and which do not, and because the decision is arithmetic rather than a hash, it can always be shown. Every hill, every lit window, every room, every wall. This page is that law from the beginning, in about five minutes.

Start with five numbers ↓ or jump straight to the instruments ↗

1Five numbers, and you can check them by hand

Take the whole numbers from ten to thirty. Keep every third one, counting from ten. Then throw some of those away: exclusive-OR each with 2, and drop it if the answer divides by four. That is the entire law. Here is what it does.

every third from ten

101316 19222528

10 → 10 XOR 2 = 8, and 8 ÷ 4 leaves 0 → dropped

13 → 13 XOR 2 = 15, and 15 ÷ 4 leaves 3 → kept

22 → 22 XOR 2 = 20, and 20 ÷ 4 leaves 0 → dropped

So the law keeps 13, 16, 19, 25, 28. Work it out on paper and you will get the same five, and so will anyone else, for ever. Nothing here is random and nothing is hidden. That is the whole trick, and everything below is this same decision at a different size.

Change the five numbers yourself ↗

2The same decision, as ground

Now ask it about a landscape. For a column of earth, count how many of the last few addresses the law kept. That count is how high the ground stands. Keep four of the last twelve and you are four tiers up; keep one and you are nearly at the bottom. No noise is added anywhere, so the terraces you walk on are the pattern of kept and dropped, stood on end.

Because the law repeats, the landscape repeats, and you can say exactly when. The Indexin Terraces come round every fifty-six columns. The Long Count takes 45,158,400, which is four small numbers and longer than anyone will ever walk.

▦ Fly the Indexin Terraces what does a law look like as ground? Stride seven, mask five, modulo four, dropping remainder zero. Fifty-six columns and the skyline is identical again, exactly rather than nearly. ◫ Walk the Dropped Two how much does one decision matter? The Terraces with one field changed: remainder two thrown away instead of zero. Nothing else differs, and no part of the skyline survives it. ▭ Ask the ground why can it really answer? Press the full stop key anywhere in any of these worlds. The Rule panel names the column, its rank, and the decision that put the ground at that height.

3The same decision, as rooms

Point the law indoors and the kept addresses become columns, walls, doorways and stairs instead of hills. That part is easy to claim and hard to trust, so it is not claimed: before a room is drawn, every route through it is walked, out and back, by the same collision and support a person would use. A building you cannot get through is worse than no building, so one is never placed.

Across a sweep of 1,280 buildings generated from every combination of floors, stair orientation, stride, mask and modulus, every route in every one of them passed. That is 5,760 routes and 3,139,680 steps, checked without a person watching.

◳ See a building prove itself is the way through real, or just drawn? Build a stack of rooms from the law, then press Trace the walk and follow the route it checked, step by step, through the geometry that actually got built. 🏛 Walk the one it proved can I stand in the building the checker passed? The recipe rides in this link. Wander compiles the same stack from it, checks its own way through before it lets you in, and hands the walking to the kit — so the building you stand in is the building it proved, not one that resembles it. 🚪 Walk into one what is it like inside? Every hamlet in the Sieve Range has a lit doorway, and behind it twenty-five courtyards compiled from that settlement's own address. The streets run on through all of them. 🧱 Build one on a page what do the knobs do? The same compiler, on a canvas, with every parameter exposed. No WebGL needed.

4And when it cannot be done, it says so

A checker that only ever agrees is not a checker. The useful half is the refusal: ask for a building whose rooms the law leaves unreachable, and it does not quietly draw a broken one. It declines, and names the route that could not be completed. The same is true of the arithmetic — ask for a remainder the modulus cannot produce and the law raises rather than guesses.

This matters more than the successes. Eight demonstrations that work prove the demonstrations were chosen well. One honest refusal proves the checking is real.

So here is one, run rather than described. A stack of three floors is compiled from stride 3, mask 1, modulus 2. As built it is walkable: the objective route chamber-11 is reached and all five routes pass. Then a block of rock three wide, three deep and four high is dropped in at x16 z6 y2, square across the middle of that route, and the kit is asked the same question again.

objective_reached = False

  floor-0      ok
  floor-1      ok
  floor-2      REFUSED   from (7, 3.4, 7) to (17, 3.4, 7)
                         the walk stopped at x=15.720000000000008, hard against the block at 16
  chamber-0    ok
  chamber-11   REFUSED   from (7, 3.4, 7) to (17, 3.4, 7)
                         the walk stopped at x=15.720000000000008, hard against the block at 16

It does not draw a broken building. It names which routes failed, which leg of each could not be completed, and how far the walk actually got before the rock stopped it — 15.72, a body's width short of the block at 16. That is a walk under real collision and support, not a line traced on a map.

The two twins were asked the same thing and refused identically, down to the last bit of that 15.720000000000008 — a refusal that differed between the Python and the JavaScript would be a bug in one of them.

The arithmetic declines the same way. The modulus 4 can only ever leave a remainder of 0, 1, 2 or 3, so asking it to drop residue 7 is not a hard question but an impossible one:

a residue the modulus cannot produce   refuses: invalid drop residue                  (both twins)
a residue equal to the modulus         refuses: invalid drop residue                  (both twins)
a stride of nothing                    refuses: invalid stride, mask, or sieve period  (both twins)
every residue dropped                  allowed: keeps nothing at all

The last line is the one worth reading twice. Dropping every residue is a fair question with nothing in the answer, and an empty answer is not an error. The refusals are for requests that cannot be met, never for answers nobody wanted.

Reproduce all of it: python3 tools/show-refusal.py in sitoolz. It asks both twins, prints the refusals verbatim, and exits non-zero if the two ever disagree.

5The instruments, in the order worth opening them

A laboratory rather than a tour, so here is the tour. These are the ones to open first; the inspector carries its own index across the top, and there are seventeen benches in there now.

1 · The law workbench which addresses does my law keep, and why that one? Start here. Five fields, and every decision laid out beside the address it was made about. 2 · The geometry inspector is there a way through what it built? Rooms from the law, and the route through them traced under real collision and support. 3 · Compose laws what happens when two laws meet? Combine named selections and watch exactly which addresses enter and leave the result as you change a branch. The best teaching tool of the eight. 4 · The moving window does the world stay still when I look away? Pan across the world and walk over a boundary whose two sides were worked out independently and still agree. 5 · Edits that stay put if I change something, does it survive the law changing? Annotate a room, then alter the law underneath it. The edit follows the thing it was attached to. 6 · Time and lights why is that window lit right now? The same stride and sieve applied to whole ticks instead of addresses. Pick a lamp and get the exact reason it is on at this moment. 7 · The measurements is the faster version still the same version? Timings next to fingerprints of the output, so speed is never bought with a different answer. 8 · The roadmap what is not done yet? What has been built and what has not. Unusual to ship, and worth reading. 9 · The balance bench is upgrading a tower ever worth it? The same refusing arithmetic, pointed at a game's numbers instead of a building. Move the price of an upgrade and watch three hundred and sixty games re-decide the answer in front of you. ◉ Store the path, not the palace how do you keep a world you never saved? Every value addressed by where it belongs rather than drawn from a stream, over four backends — three that hold up and one kept in the list because it can be watched coming apart. With provably fair play at the end: alter one roll and the check catches it. ◈ What the law decides it picks the colours too? A village that re-skins from one word, a wall whose stones are counted rather than drawn, and a room of lamps with a hint that cannot be wrong because it enumerated every assignment. 10 · Evidence cards is this claim true, and where does it break? State that one selection is a subset of another, or equal to it, or shares nothing with it — then have it checked over an explicit finite domain. When it is false you are handed the counterexample, not an opinion. 11 · Modular blueprints do sixteen rooms actually join up? Rooms, landings and connectors with explicit portal contracts. Every entry-to-module route is walked against the solids that were emitted, and the ones that fail are named. 12 · The sieve observatory surviving a sieve is not the same as being prime Arithmetic divisibility beside the law's own XOR and residue selection, with every exclusion and every primality verdict open to inspection — and an exact verifier that says where its own limit is. 13 · XOR lamps which switches light which lamps? A room of lamps is one exact equation over GF(2). Press a switch, edit the matrix, or flip a lamp and watch rank, free choices, forced values and flat contradictions fall out of it.

6The words, in plain ones

The instruments use some vocabulary of their own. None of it is complicated; it just has not been said simply anywhere yet.

Address
A single whole number naming one place. Every square of the world has one, so a rule about numbers becomes a rule about places.
Stride
Take every nth address. The coarse comb.
Stripe
Keep bands of addresses and skip the gaps between them. Bands rather than single picks.
Sieve
Throw some of the survivors away: exclusive-OR by a mask, divide by a modulus, drop chosen remainders. This is where the pattern stops looking regular.
Period
How far you travel before the whole pattern comes round again. Computed, not estimated, and stated honestly as a length that works rather than always the shortest one.
Signed chunk
A square of world with a permanent name, the same name whichever direction you arrived from. It is what lets two halves of a boundary agree without consulting each other.
Orphaned edit
A change you made to something the law has since stopped building. It is kept rather than discarded, and reported, so nothing is silently lost.
Set algebra
Two laws combined: addresses in both, in either, or in one but not the other. Ordinary arithmetic of groups.

7Then go and stand in it

All of the above is the same body of work seen from different sides. The instruments prove the properties; the worlds are where you use them. Ten ranges are written by this law, and two games are played on ground it laid.

Everything new, in one page ↗ Play Silo Line ↗ Back to Range Arcade ↗