Not all noise is created equal.

One of the first things to realize about procedural generation is that it is not random. Oh, it uses random generators all over the place, but not in the way we mean when we casually say that a process is random.

Take a canvas, a nice big one. Divide it into a grid. Now, take a coin and flip it for every cell in the grid. For heads, paint it white, for tails paint it black. What you’ll get is a field of white noise. (And yes, noise comes in colors, even when we’re painting in black and white.) Its random, but it’s not very useful. It’s slightly more interesting than a flat color, but we can quickly see that there there aren’t any patterns, so our brains catch on pretty quickly and lose interest. Or worse: it can be actively unpleasant to look at.

So naively generating white noise doesn’t get great results. It doesn’t have a structure, and white noise even has clumpiness to it that makes it bad for getting an even random distribution. That’s not to say that it’s useless: there are musical and audio applications for using it directly, and there are algorithms that build on white noise. But generating interesting procedural content requires careful use of randomness.

Randomness, in other words, can’t just be used randomly.