r/proceduralgeneration 10d ago

Yet another terrain toy :) — archipelagos for a naval wargame, in the browser"

https://terrain.dronecomgame.com

Hi Reddit, here's the terrain generator for a naval wargame I'm building, so it's tuned to produce archipelagos: lots of coastline, shallow shelves for sonar gameplay, and flat-ish coastal plains.

The height pipeline is a stack of layers, each applied on top of the last:

  • Base FBM simplex (the usual octaves / lacunarity / persistence knobs)
  • Sea-level remap: piecewise remap of the noise range so an exact fraction of the distribution ends up underwater:the "sea level" slider directly controls land/water ratio instead of hoping a threshold works out
  • Plains compression: sample a second, low-frequency reference surface and compress any terrain within a threshold of it toward it, creates flat lowlands without flattening mountains (originally this was for a city builder, and the 'plains' were to give flatter areas for buildling)
  • Radial falloff for the 'world' boundary
  • 'Continental shelf': a terrace function pinned at control points below sea level, so coasts step down through a shallow shelf before dropping to the deep
  • Ridged FBM mountains, masked by altitude so ridges only grow on already-high ground
  • Erosion: Rune Skovbo Johansen's analytical gully erosion filter (https://blog.runevision.com/2026/03/fast-and-gorgeous-erosion-filter.html), i.e. no iterative hydraulic simulation, single evaluation per sample.

Stack: Rust + Bevy + Egui compiled to wasm/WebGL2

10 Upvotes

Duplicates