Track 1 of 7

World Gen: Water Polished, Phase 5 Done, Caves Starting

β€’ Seth Blakely
manabat dev-log prototype world-generation caves water

Wrapping up a big week. Phase 5 is officially done and Phase 6 is already underway.

🌊 Water Polishing (May 29)

Before closing out Phase 5, the water got a proper polish pass:

  • Sawtooth edge smoothing β€” the jagged waterline artifacts are gone
  • Better water-surface inset coupling β€” the surface mesh sits correctly now, no gaps or overlaps at the shoreline
  • Off-by-one carve mask bug fixed β€” corner cases that were slipping through the carve logic are handled
  • Per-vertex flow direction data β€” water now carries flow vectors per vertex, which sets up proper current-based shader effects down the road
  • Ocean and river split into separate materials and shaders β€” they should never have been sharing the same material; now they don’t

βœ… Phase 5 Complete (May 29)

Water generation is wrapped for the prototype. Took the opportunity to remove legacy systems that had been hanging around β€” HydrologyPass, HydraulicErosionPass, and a handful of other dead classes and code paths. WorldGenerationSettings SO references are cleaned up too. Codebase is leaner going into Phase 6.

πŸͺ¨ Cave Carve-Out System (May 30)

Phase 6 is live. The cave system is generating multi-chamber layouts that actually read as caves β€” not just holes in the terrain.

The entrance system is the active work-in-progress. It’s running two passes:

  1. Candidate pass β€” scans cliff faces and cave floors for entrance candidates, pairs them up with backups queued
  2. Spline pass β€” runs a spline between entrance pairs that curves around obstacles (other chambers, rivers, and whatever else is in the way). If a clear path can’t be found, it falls back to alternates

Still troubleshooting the spline pass. Next step once that’s resolved: cut a hole in the surface terrain and merge the cave mesh with the world.

More soon.

Stay Updated

Get development updates, behind-the-scenes insights, and be the first to know about ManaBat progress.

No spam, unsubscribe anytime.