I have always been fascinated by noise and static, particularly “visual noise” on the old television sets that were in my house as a kid. As I grew older, static started to disappear and was only replicated as visual effects on computers to give distorted or nostalgic references. I started using these effects, but didn’t really wonder how they were made, and as a result I underestimated their importance and intricacy.
“Perlin noise”, an algorithm based around generating gradients of visual noise (static), became important as I branched into programming and attempted to generate worlds that create themselves – infinite landscapes with sprawling terrain. What was fascinating about Perlin noise was that relatively dull looking static (see below) could be used to create these terrains. Further modification and classification to coding could yield detailed terrains complete with different biome types such as water, grass, mountain, clouds, and even more complex objects like trees or even animals.
What was interesting about Perlin noise was its many uses- for example, generating static and applying it to 3D meshes (meshes being basic objects that are later turned into more complex ones). Code dictates a spectrum from black (zero) to white (1) which deforms the mesh based on height. Because the noise is random, random terrain can be created from this. With further coding, additional colours can form more diverse environments such as water and grassland.
Before Perlin noise was created, randomly generated virtual objects or 2D textures were very jagged, inorganic and machinelike, even if used for simulating organic things. The best visualisation of this I could find was this simple graph by The Coding Train (Perlin noise frequency being at the bottom).
The reason I have been researching this is not for terrain creation, but rather to learn the properties of creating an unpredictable setting based off of my own direct creations, and to couple this with some sort of AI. This type of noise can also be used for creating endless amounts of textures and I would be interested in applying this to my work. Instead of generating something from scratch, I would begin with an image or 3D object I’d created, even a physical painting or sculpture, and then apply this technique in a virtual space to see what results I could yield.