Page 1 of 1

3D Noise simulator -or- How to adjust Sheet Ore properly?

PostPosted: Tue Oct 04, 2016 13:34
by SegFault22
I'm making a mod which adds sheet ores and stuff like that. However, it is difficult to tune the noise parameters to something "balanced" by method of changing the parameters, restarting the game-world and flying to a new chunk (even with the ore generation in air to better see whats going on, for development only)...

So, is there some program I can use which can generate a 3D perlin noise "map" relatively quickly just for testing purposes? It should have either partially-transparent "pixels" or some other way to see inside the 3D volume (cutaway view would be sufficient), and be color-coded or gray-scaled based on the noise "level" at each "pixel" (or voxel, as it is 3D instead of 2D).

I have searched extensively, and all I can find are a few simple 2D perlin noise "simulators", some forum and blog posts for games like Terasology where they talk about moving to 3D perlin noise, several simplex noise generators which don't fit the needs as they are simplex noise instead of perlin or just 2D texture generators, and a bunch of stack overflow posts where people ask how terrain is generated with perlin noise.

If this isn't possible or doesn't exist, could someone suggest how to adjust the noise parameters so that ore generation is balanced, or just how to adjust the parameters to properly control the "cluster scarcity" and "cluster size"? It is much easier to control regular scattered ores, but those are limited to cube-shaped areas which do not fulfill the needs that sheet ore does. I know that "noise_threshold" is the level above which ore is placed, and "scale" controls the relative height (makes it bubble-like), but I do not yet comprehend how the other parameters influence the scarcity of clusters and the size. Whenever I try to change the parameters, the ore will be everywhere, or the ore won't generate at all, or the generation will change only slightly or not at all (even if certain parameters are changed to way too much).

I have the feeling that there are serious problems with the implementation of noise, causing certain parameter values to not matter in certain instances or causing the ore generation to "go crazy" in certain instances. This is due to the lack of documentation on the subject (even though there is a part of the lua api text-file dedicated to sheet ore, it isn't sufficiently informative for someone to be able to read it and then know how to adjust the parameters to get the ore distribution they are looking for).

I want to use sheet ore to generate "clusters" of ore that are relatively larger than the scatter ore clusters, but spread out more so that you don't always run into the same ore every few blocks. That way, you can have a mine for some ore, and some distance away is a mine for another ore, and so on. This would even necessitate using minecarts to get to your mines, and pressure someone to make a better carts mod that implements carts which don't occasionally fly off the rails or go the wrong way when encountering a turn, reasonable cart turning, cart linking, storage carts, maybe powered carts (not minecraft furnace carts!), a better cart model, cart sounds, and so on. A storage cart would be necessary to haul all of that ore and cobblestone and other stuff, especially when I make a mod which adds different items to ore drops (chance to drop a lump, chance to drop nuggets, chance to drop grains, chance to drop nuggets or grains from a similar ore or an ore commonly found with that one, and so on) causing the "same ore" to occupy several inventory spaces (but don't worry, nuggets stack up to 891 and grains up to 8019, so you won't have whole stacks of either of those in any short time).

Don't say that I already asked about this and "got an answer" here, because that topic was abandoned and the problem was never solved.

Also, if I register two different sheet ores, and they both have the same seed and other parameters except for the threshold, will the one with a lower threshold occasionally have some of its ore generated within the "cluster" (in the area where the other ore's threshold is exceeded), or will it only include the ore with a lower threshold?

Re: 3D Noise simulator -or- How to adjust Sheet Ore properly

PostPosted: Wed Oct 05, 2016 22:08
by paramat
If you set the ore to 'default:meselamp' these will be visible when flying underground because they are glasslike.

Re: 3D Noise simulator -or- How to adjust Sheet Ore properly

PostPosted: Thu Oct 06, 2016 07:38
by addi
paramat wrote:If you set the ore to 'default:meselamp' these will be visible when flying underground because they are glasslike.

Yes, this makes it visible, but it does not resolve the problem of trial and error:
Try out some params
Create a new world
/grant singleplayer all
Fly around an check what happened
Modify some params
Delete World
Create New World
...

SegFault22 is correct about that documentation is not very good and in some cases not even helpfull.
Just quoting "This value should be *MUCH* higher than your intuition might tell you!" - Well my intuition tells me nothing about this. :-/

Especially a simulator for the noise params would be great in my opinion.

Re: 3D Noise simulator -or- How to adjust Sheet Ore properly

PostPosted: Sun Oct 30, 2016 22:36
by SegFault22
I found a few perlin noise texture generators, but none of those fit the need. They do not have any way to adjust the threshold, and some of them try to cover-up the real parameters with slider-bars for "amplitude", "smoothness" and stuff like that.

I will just have to keep testing the way I always have, but this seems to be excessive.