0

I have been trying to create some very detailed procedural terrain recently and this has lead me to want to make my own custom noise functions. To do this at the centre I need a reliable random number generator and I was curious about what the most specialised algorithms for my use case is and how I can implement a version of it.

Essentially all I want is an algorithm that can take in a given string of data, of a predetermined size, say a vector, and output a different, random seeming string of data, again of a predetermined variant size.

The algorithm should be seedable and deterministic, and it's output shouldn't decay or produce any kind of bias or obvious looking pattern. basically it needs to be fairly robust when it comes to producing neat results for noise.

beyond this, my priority is speed, the fastest algorithm that can achieve these goals is the ideal. if you know of anything that can do this please let me know :)

  • I'm having trouble understanding why your language-of-choice's default random number generator wouldn't be sufficient? It can be seeded to produce deterministic sequences, it wouldn't produce obvious looking patterns (though it would still be pseudo-random), and it would be relatively fast. To me, the challenge seems to not be finding a good RNG, but rather how to use the output of that RNG to create detailed procedural terrain. – Dillon May 31 '21 at 18:55
  • @Dillon yeah sorry, I should have made it more clear, I'm trying to get more of an understanding of how the algorithm works and the maths behind it. Also in c++ rand() is quite slow and I wouldn't mind something a little faster if it's possible. Thanks for the suggestion though! – slit bodmod May 31 '21 at 20:06

0 Answers0