There's info online about the various kinds of terrain noise out there, but I can't find anything conclusive on the hashing functions used in their implementations. It seems that the standard for perlin/simplex noise is to rely on a hardcoded "permutation table" of a certain size, generally 256, but if I understand things correctly this implies that the noise is 256-periodic. You can make the permutation table bigger, but for infinite terrain, that won't do, will it?

Typically, I wonder what sources of reproducible randomness games such as #Minecraft use? I couldn't find that info online.

#ProceduralGeneration

@glocq Have you looked at Texturing and Modeling: A Procedural Approach? Ken Perlin wrote the chapter on noise for that and it comes with source code
@z303 I haven't. But if it's Perlin's original code, doesn't it suffer from the periodicity issue I mentioned?
@glocq Yes. I forgot to add the way that Ken Musgrave's example code gets around it is layering a number of octaves of noise at different scales, also in the book
@z303 As far as I am aware, octaves address a different problem, though? Even with different octaves, if, say, the lowest octave has a cell scale of 10m, then I will get repetition of large-scale features every 2560m; if the highest octave has a scale of 10cm, then I will get repetition of fine features every 25m...
@glocq I found using 8 octaves that aren't very noticeable but it has been a while since I've played around with them