Lake in the crater bowl #166

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

Milestone 2, terrain goal: "Crater map could have a lake at the bottom" (the milestone says "canyon", but this is the crater preset).

Proposal

  • An optional lake_depth (or a fill fraction) on the crater preset: 0 = dry.
  • After the levels are sampled, flood the crater interior from its lowest tile up to a surface level below the rim's lowest point, so the lake can never spill over the rim. Mark the flooded tiles through #164's mask, with this lake's own surface level. That level differs from any sea level, which is why #164 recommends per-tile surface levels.
  • Restrict the flood fill to inside the rim (_radial() < rim_radius). Low ground outside the crater must not fill just because it is below the lake surface.

Acceptance criteria

  • With a lake configured, the crater's lowest interior tiles are water, and every water tile is inside the rim.
  • The surface is below the lowest rim tile, so no water is drawn above the land that should contain it.
  • A dry rim of shore around the lake stays walkable and reachable. #162's reachability holds.
  • #163's landing site is not in the lake.
  • Unit test over a fixed seed for the containment property; headed screenshot for the look.

Depends on

#164.

Milestone 2, terrain goal: "Crater map could have a lake at the bottom" (the milestone says "canyon", but this is the crater preset). ## Proposal - An optional `lake_depth` (or a fill fraction) on the crater preset: 0 = dry. - After the levels are sampled, flood the crater interior from its lowest tile up to a surface level below the rim's **lowest point**, so the lake can never spill over the rim. Mark the flooded tiles through #164's mask, with this lake's own surface level. That level differs from any sea level, which is why #164 recommends per-tile surface levels. - Restrict the flood fill to inside the rim (`_radial() < rim_radius`). Low ground outside the crater must not fill just because it is below the lake surface. ## Acceptance criteria - [ ] With a lake configured, the crater's lowest interior tiles are water, and every water tile is inside the rim. - [ ] The surface is below the lowest rim tile, so no water is drawn above the land that should contain it. - [ ] A dry rim of shore around the lake stays walkable and reachable. #162's reachability holds. - [ ] #163's landing site is not in the lake. - [ ] Unit test over a fixed seed for the containment property; headed screenshot for the look. ## Depends on #164.
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#166
No description provided.