sean butler

Procedural Content Generation for Video Game Landscapes

Perlin Noise

Perlin noise is the goto approach for undergrads (and more generally) when developers want to build a nice large landscape algorithmically.

Its predicatable, well understood and has been extensivly written about.

noise sample

https://en.wikipedia.org/wiki/Perlin_noise

Its due to this popularity that I really reccommend that you dont use this as the central technology of your dissertation. The reason is, complete tutorials exist online showing you how to build realistic-ish landscapes with very little effort in modern game engines. Indeed Unity has a built in command to generate it.


for (float y = 0.0F; y < noiseTex.height; y++)
{
    for (float x = 0.0F; x < noiseTex.width; x++)
    {
        float xCoord = xOrg + x / noiseTex.width * scale;
        float yCoord = yOrg + y / noiseTex.height * scale;
        float sample = Mathf.PerlinNoise(xCoord, yCoord);
        pix[(int)y * noiseTex.width + (int)x] = new Color(sample, sample, sample);
    }
}

So, to demonstrate sufficient learning at dissertation level you need to move your work beyond this.

Perhaps perlin noise like this exists within your submission, its a great tool for naturalistic seeming textures, shapes and movement, but implementing it shouldnt be the main focus of your work (unless you have something really special in mind).

Model Synthesis (also Wave Function Collapse)

Model Synthesis more popularly known as Wave Function Collapse is rapidly going the way of Perlin noise in that there are so many materials on it online that the challenge is finding a way to demonstrate the apropriate level of learning.

Though I wonder if it can be done over 4d to include animated scenes?

Generative Adversarial Neural Networks

Basically Deep Convoluted Generative Adversarial Networks can generate landscapes to match a sample set.