World Gen: Water Polished, Phase 5 Done, Caves Starting
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:
- Candidate pass β scans cliff faces and cave floors for entrance candidates, pairs them up with backups queued
- 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.