Custom noise algorithms (not just parameters)?
Posted: Mon Jan 01, 2018 8:08 am
Is it possible to make a noise specification that I have full control over, as opposed to just setting various parameters of the prefab (presumably perlin-based) noise used by default? I have a terrain mod I am in the process of making, which works best with OpenSimplex noise (the sort of geometry that noise system generates happens to align very well with my needs).
Right now I do this in the control.lua, but holy s--- is it slow, and worse, since it runs so late (on_chunk_generated), it is fairly messy in its handling of preplaced entities and other worldgen.
What would be ideal is some way to specify a literal function, where I can say, given some values for x and y, some resultant value F for the final noise output.
Also, related side note: Is it possible for one noise system to have, instead of a simple boolean control (like the autoplace system, which places entities when the noise is above some threshold), one where the noise can return one value from a set? For example, a quantized elevation map, separated into "deep water", "shallow water", and "land", represented by the noise function returning -1, 0, and 1 (or any other three discrete values).
Right now I do this in the control.lua, but holy s--- is it slow, and worse, since it runs so late (on_chunk_generated), it is fairly messy in its handling of preplaced entities and other worldgen.
What would be ideal is some way to specify a literal function, where I can say, given some values for x and y, some resultant value F for the final noise output.
Also, related side note: Is it possible for one noise system to have, instead of a simple boolean control (like the autoplace system, which places entities when the noise is above some threshold), one where the noise can return one value from a set? For example, a quantized elevation map, separated into "deep water", "shallow water", and "land", represented by the noise function returning -1, 0, and 1 (or any other three discrete values).