technical background

one of the most frequently used structures in procedural content generation is noise; more specifically perlin and simplex noise. however, graphics generated from these types of noise are limited in detail. popular alternatives are fractals like the mandelbrot or julia set. using fractals for procedural content generation is problematic, however, due to their chaotic and unpredictable nature. a viable compromise is using more predictable but less variable means, like l-systems (see No Man’s Sky).

an algorithm that generates fractal noise can be used to generate natural-looking textures with infinite detail. the interface of this algorithm must comply with common methods used to generate terrain, clouds, organic surfaces, etc. each structure resulting from this algorithm is a continuum of nonrepetitive levels of detail that can be integrated into already well-established methods of generative graphics.

zooming into a field of fractal noise

in a fractal noise function, the same structures are generated on all levels: the process is scale-invariant. in the two-dimensional case above, structures are generated when the section is enlarged. this prevents pixelation. structure is also generated when the section is shrunk or transitioned to other coordinates, such that borders of empty space are filled randomly but seamlessly.

the algorithm is able to generate noise in an arbitrary number of dimensions. the two borders of each dimension can be “stitched together” such that the flat, two-dimensional surface from above effectively becomes a doughnut.

three dimensional cube of noise with one temporal dimension

interpreting one of the spatial dimensions as temporal enables the generation of animations like in a flipbook. stitching together the ends of a temporal dimension makes a closed animation loop. eventually, noise layers can also be blended and interpreted as individual color channels to realize full-color noise.

reality as noise

consider an analogy between the structures generated by the above algorithm and the structures of reality itself. such an analogy enables the simulation of a wide variety of philosophical ideas.

a simulation of reality itself raises various epistemological and ontological questions. are there absolute smallest or largest structures? are the objects around us real or cognitive artifacts? what is the difference between the subjective world of perception and supposedly objective reality? can the subjective character of perception and objective reality be integrated? can the laws of the simulation be inferred from within?

zooming into a pre-defined structure embedded in scale-invariant noise

the tools used during development reached their limit. as a consequence, the algorithm is currently ported to the game engine Unity that makes full use of modern hardware.

prototype of the algorithm in a modern game engine

with the benefits from gpu support, the generated structures can be used in virtual installations that employ real-time rendering and interactivity.