Quantum Perlin Noise

Jul
11
2025

Video games have come a long way since their inception, evolving from simple pixel-based worlds into dynamic environments. One of the most intriguing aspects of modern video games is the ability to create worlds that seem alive and continuously evolving. The key to achieving this is procedural generation—a set of algorithms that allow environments to be generated on-the-fly, rather than being pre-programmed. Procedural generation has become a cornerstone of video game development. But what makes procedural generation so powerful, and how can we push its boundaries even further?

At the heart of many procedural generation techniques lies Perlin noise. Introduced by Ken Perlin in 1983, this algorithm has become synonymous with natural-looking randomness. Unlike purely random noise, which often results in harsh, unnatural patterns, Perlin noise generates smooth, continuous random values that vary gradually over space. This makes it ideal for modelling natural structures—such as terrain, clouds, or ocean waves—that are inherently smooth and have subtle transitions. You can see Figure 1 and Figure 2.

Figure 1. Example of simple 2D Perlin noise map in grey scale

Figure 2. Example of a landscape in a video game showing biome change between water, land and forested areas. These features are not jagged or erratic but rather exhibit smooth transitions. Perlin noise is the algorithm that makes this possible.
                                                                                         

While Perlin noise has served as the go-to tool for procedural generation in classical computing, recent advances in quantum computing are opening the door to even more sophisticated approaches. One such approach leverages the Grover Rudolph algorithm and Quantum Fourier Transform (QFT) interpolation. This quantum-based method offers a novel and potentially more efficient way to generate smooth, random distributions with the same natural quality that Perlin noise achieves—only with the added power of quantum computing. In Figure 3, we can see the complete quantum circuit for this quantum algorithm.

Figure 3. Quantum circuit for Quantum Perlin Noise generation in 1 dimension for Grover Rudolph with 3 qubits and 2 more additional qubits in QFT interpolation

The Grover Rudolph[i] algorithm is a quantum algorithm for the creation of quantum distributions. If we use a random input as a seed for the Grover-Rudolph algorithm, we will obtain a random distribution as an output. However, when combined with QFT-based interpolation[i], this random quantum distribution will be smoothed adding more quantum states in between. As a result, we will obtain a random but smooth quantum distribution (very similar to Perlin noise). In Figure 4 we can see the results in 1 dimension implementing the circuit in Figure 3.

Figure 4. (Left) Non-smooth quantum distribution after Grover Rudolph algorithm. (Right) Smoothed quantum distribution after the QFT interpolation.

While the potential of quantum procedural generation is exciting, there is still much to explore. One of the key challenges in this emerging field is understanding the scalability in terms of their computational complexity of this quantum algorithm. Classical Perlin noise, although effective, can become computationally expensive when generating large-scale environments. This is where quantum algorithms have the potential to make a real difference. However, it remains to be seen how well these quantum techniques will scale as the complexity of game worlds increases. Will the power of quantum computing be enough to tackle the massive amounts of data required for real-time procedural generation in large, open-world games?


[i] Grover, L., & Rudolph, T. (2002). Creating superpositions that correspond to efficiently integrable probability distributions. arXiv preprint quant-ph/0208112.

[i] García-Ripoll, J. J. (2021). Quantum-inspired algorithms for multivariate analysis: from interpolation to partial differential equations. Quantum5, 431.

Do you have any questions?

Add new comment

Restricted HTML