As a Roblox developer it is currently impossible to automatically generate caves in terrain generated from a height map, and it is currently impossible to regenerate caves in otherwise randomly generated terrain if you don’t like the way they generated, but you do like the way the rest of the terrain generated.
You currently have to manually drill caves, leading to a lot of effort expended when trying to carve interesting underground spaces.
I would like to be able to set some parameters for cave generation (e.g. density, openness / scale) and preview a randomly generated cave system on the current terrain in workspace. I should be able to reroll the generation with a new seed on command without changing the underlying terrain’s shape, and when I’m happy I could then permanently apply the cave system (i.e. it would keep the old terrain in memory, and produce a carved version in the workspace each time I rerolled until I applied the caves).
I would imagine it would just drill through the terrain indiscriminately, and maybe apply painting around carved out areas for a touch of realism. It would be useful to also provide a masking brush that removes the influence of caves on certain voxels so you can preserve important terrain features.
See this reply chain: Heightmaps Go to New Altitudes! - #7 by PeZsmistic
I would like to work with terrain in a planned project of mine with game mechanics oriented around underground exploration, but I know if I want to have a static map with lots of details and caverns to explore, I’ll need to spend a lot of time manually carving every single one if I want to use a heightmap, which serves as a large barrier for me to start on a project like this and doesn’t help my creativity (i.e. there’s nothing for me to work with, I have to generate it all myself from nothing). I would rather find interesting caverns and shape them as needed than manually carve them all.