Chapter 03 · 5 min read
The sea and the rules
Two tiles of shore every dawn, room that grows with the land, and why the island can never lock itself up.
The island starts as a well on a round patch of sand. Everything after that is wishes – and the sea.
Two tiles every dawn
Every morning, before the day’s wish, the sea raises two tiles of shore. It prefers tiles with a lot of land around them, so bays fill up, and a hidden field unique to this island, so it grows capes and inlets instead of a perfect circle. Land never sinks again.
Grass and sand are not stored as choices: a tile with land on all four sides is grass, every other land tile is beach. The terrain is a pure function of which tiles are land – so the sea shapes the meadows, too.
Six kinds, and room for each
A wish is one of six kinds. Each kind has its ground and a number of places that grows with the island:
| Kind | Where and how many | For example |
|---|---|---|
| building | stands on grass; one building for every 6 tiles of land, plus one | a cottage, a tower, a tent, a tiny library |
| plant | grows on grass; one plant for every 3 tiles of land, plus two | a tree, a flower bed, mushrooms, a hedge |
| creature | lives on land; one creature for every 5 tiles of land, plus one | a cat, an owl, a snail, a fox |
| object | stands on land; one object for every 4 tiles of land, plus two | a bench, a telescope, a signpost, a kite |
| light | stands on land and glows at night; one light for every 6 tiles of land, plus one | a lantern, a campfire, a glowing crystal |
| water wish | floats in the water next to the shore; one for every 4 tiles of shore, plus one | a rowboat, a golden fish, a buoy |
The limits keep the island varied: if everybody wishes for houses, the houses have to wait while the lanterns, owls and boats catch up. A wish that does not fit yet is not refused – it stays open as a star and gets one comment saying what is missing.
Why it never locks up
A rule system like this can paint itself into a corner: if every kind were full and no tile free, nothing could ever come true again. Here the numbers make that impossible. Every tile of land adds a little room to every kind:
| Per tile of land | room |
|---|---|
| buildings | 0.167 |
| plants | 0.333 |
| creatures | 0.200 |
| objects | 0.250 |
| lights | 0.167 |
| together | 1.117 |
The sea raises 2 tiles every dawn, one wish comes true per day, and water wishes keep 2 tiles of open sea around them.
Together that is more than one place per tile – and the sea adds two tiles a day while only one wish comes true. So some kind always has room, and the free land never runs out. The tests grow a whole year of messages in a bottle and check that every single day found a place.
Harbours
Boats and fish need water next to the shore. As the island grows, it would slowly swallow them into ponds – so the sea keeps two tiles of open water around every water wish. The island grows around them and leaves a little harbour.
Checked from the first day
npm run world:check replays the whole log from the well: every dawn has to raise free shore, every wish has to
stand on the right ground, on a free tile, with room for its kind – on the day it came true. Change one character in
world.json by hand and the check fails.