This Project contains Minecraft's Terrain Generation made using the Unity Game Engine.
A Demo is provided below which includes a Debug Menu to change Terrain Generation Parameters at Run-Time. There is also a Section in this ReadMe which gives a description about the Debug Menu and its Options. Performance may not be optimal, and the game can crash when some values are set too high.
Use WASD to Move Around. Hold Right-Click and Move Mouse to Rotate. Hold Shift to Move Faster.
The Debug Menu provides Options for changing the Terrain's Generation Parameters at Run-Time. The following options are available:
To Apply the Changes, Click the Generate Button.
The Terrain is generated using Perlin Noise with Fractal Brownian Motion. This means that the Noise Values are sampled a certain number of times with some Amplitude and Frequency. The gradient values produced by Perlin Noise can be imagined as a Wave in 1D:
These values act as Input to the Fractal Brownian Motion, where they are Sampled over and over to produce a Realistic Looking Terrain.
Number of Times the Noise Values are Sampled. Larger Numbers will produce Less Smooth Terrain.
This value determines the Scale used for Perlin Noise. Higher scales produce Spikes all over the Terrain.
This value determines the Starting Amplitude for the Noise.
This value is multiplied to the Base Amplitude at every Sample. Higher values produce Tall Hills with very Steep Slopes.
This value determines the Starting Frequency for the Noise.
This value is multiplied to the Base Frequency at every Sample. Higher values produce Tall Spikes (Similar to High Noise Scale Values).
This value Shifts the Noise, Moving it Forward or Backward by Some Amount. Changing this Value will Shift the Terrain.