Give the island preset a main landmass worth landing on #161

Open
opened 2026-10-11 20:23:46 +01:00 by liamjd · 0 comments
Owner

Milestone 2, terrain goal: "Islands map has more land". Also resolves the open decision recorded in #16 ("The island preset nearly drowns at small grid sizes").

Problem

The island is mostly sea at every size, and almost none of its land is buildable:

size walkable main landmass flat 3×3 rocket sites (min / avg) seeds with no site
16 23 % 12 % 0 / 0 10 / 10
32 23 % 19 % 0 / 0.1 9 / 10
64 24 % 19 % 1 / 14 0 / 10
128 23 % 19 % 25 / 83 0 / 10

(10 seeds each.) Three things combine:

  • The noise is centred on the datum, which is also the water line, so roughly half of the tiles start under water before the falloff touches them.
  • falloff_start = 0.80 then drags the outer ring down to the seabed.
  • The noise breaks the land into several islands, and only the largest counts as the main region.

Proposal

  • Raise the island's land relative to the water. Either bias the noise upward before the falloff, or lower the water line (#164 makes the water level its own setting, which is the cleaner lever). The target is a main landmass of 45–60 % of the map, with a clear coastline all round. Treat the number as a tuning target, not a law.
  • Bias toward one landmass. One way is a radial dome blended under the noise (lerp(n, dome, k)), so the centre is reliably land and the coast is where the noise wanders.
  • With #159 in place, size dependence should largely go; confirm it with the probe rather than adding size corrections.

Acceptance criteria

  • Main-region share is 45–60 % at NORMAL, averaged over 10 seeds, and the minimum seed stays above ~35 %.
  • At TINY (#158) the island keeps a main landmass of at least ~35 %. That answers #16's question: small islands are supported, not unsupported.
  • Every seed sampled has at least one flat 3×3 site on the main landmass, even before #163 guarantees one.
  • The border ring is still water: it should still read as an island.
  • #16's "island: the border is below the datum, the interior is not" shape check is added here, since this ticket is what makes it true.
  • Headed screenshots at TINY and NORMAL.

Depends on

#159. Works best after #164, if the water level is the lever chosen.

Milestone 2, terrain goal: "Islands map has more land". Also resolves the open decision recorded in #16 ("The island preset nearly drowns at small grid sizes"). ## Problem The island is mostly sea at every size, and almost none of its land is buildable: | size | walkable | main landmass | flat 3×3 rocket sites (min / avg) | seeds with no site | | --- | --- | --- | --- | --- | | 16 | 23 % | 12 % | 0 / 0 | 10 / 10 | | 32 | 23 % | 19 % | 0 / 0.1 | 9 / 10 | | 64 | 24 % | 19 % | 1 / 14 | 0 / 10 | | 128 | 23 % | 19 % | 25 / 83 | 0 / 10 | (10 seeds each.) Three things combine: - The noise is centred on the datum, which is also the water line, so roughly half of the tiles start under water before the falloff touches them. - `falloff_start = 0.80` then drags the outer ring down to the seabed. - The noise breaks the land into several islands, and only the largest counts as the main region. ## Proposal - Raise the island's land relative to the water. Either bias the noise upward before the falloff, or lower the water line (#164 makes the water level its own setting, which is the cleaner lever). The target is a **main landmass of 45–60 % of the map**, with a clear coastline all round. Treat the number as a tuning target, not a law. - Bias toward **one** landmass. One way is a radial dome blended under the noise (`lerp(n, dome, k)`), so the centre is reliably land and the coast is where the noise wanders. - With #159 in place, size dependence should largely go; confirm it with the probe rather than adding size corrections. ## Acceptance criteria - [ ] Main-region share is 45–60 % at NORMAL, averaged over 10 seeds, and the minimum seed stays above ~35 %. - [ ] At TINY (#158) the island keeps a main landmass of at least ~35 %. That answers #16's question: small islands are supported, not unsupported. - [ ] Every seed sampled has at least one flat 3×3 site on the main landmass, even before #163 guarantees one. - [ ] The border ring is still water: it should still read as an island. - [ ] #16's "island: the border is below the datum, the interior is not" shape check is added here, since this ticket is what makes it true. - [ ] Headed screenshots at TINY and NORMAL. ## Depends on #159. Works best after #164, if the water level is the lever chosen.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
liamjd/UntitledColonyBuilder#161
No description provided.