In this video Henrik Kniberg (a Minecraft dev) showed the method to generate thin "noodle" caves in 2D, which is treating the gray area on a perlin noise map as caves. That creates thin, curvy caves. As one of the comments rightly pointed out, "In 2D, it makes sense. But in 3D, it would cause floating blobs of stone to generate." And so he replied with the following:
For spaghetti & noodle caves we take two ridged 3d noises and intersect them. I visually think of it like this: imagine two hollow oranges with a thick peel. The two oranges slightly overlap in 3d space. Keep only the part where the two peels overlap. That gives you a thick ring. Make the ring hollow, and apply some randomness to it. Result: long squiggly tunnels. Was a bit tricky to explain in the video without making it too long, so I simplified it by just showing the 2d equivalent.
I don't quite get what he meant. I know that "ridged 3d noise" is a different kind of noise. But what part of the noise (black part, gray part or white part) is he treating as the "peel" in the orange analogy?
I also don't quite know what 3D ridged noise looks like. I think I should try and display what it looks like using the marching cubes algorithm, but I do not know how to implement ridged noise. Is there some noise library (for C#) that can do that? Or better, is there already a noise visualizer that supports ridged noise?
Any explanation would be appreciated.