A few lines of mathematics can describe more terrain than a person could reasonably model by hand. The difficult part is making those lines produce a place with structure, rather than an evenly distributed amount of visual noise.
Inigo Quilez's Elevated terrain shader is a good route into procedural scenery; his work on noise and distance fields rewards the same close inspection. What attracts me to procedural graphics is the ability to expose the rules directly. A change in scale or amplitude can reorganize a whole scene, and the relationship between the parameter and the image can remain understandable.
Start with a smooth noise function. On its own, it gives rounded variation at one characteristic scale. Add a second, higher-frequency version with a smaller amplitude, then continue. Broad forms acquire smaller features. This layered construction is often called fractal Brownian motion, or fBm, although practical graphics implementations choose their own finite set of scales and weights.
The order of those decisions matters. If the large-scale shape is uninteresting, adding fine detail usually gives an uninteresting shape with a rough surface. I would first look at the terrain from a distance, then gradually introduce the smaller features. The broad forms should survive when the details disappear.
Noise alone does not understand a coastline, a footpath or a river. Those structures have relationships that random variation does not automatically provide. A useful procedural scene often combines a deliberate arrangement with noise that modifies it. The authored part gives the place a purpose; the generated part provides variation.
Distance fields bring another useful representation. Instead of storing only a surface, a function describes distance to it, with a sign distinguishing the two sides. This makes certain combinations of shapes elegant and can support ray marching, where the renderer advances along a ray according to the distance estimate.
There is a trap when displacement enters the picture. A function that looks like a distance field is not necessarily a reliable distance bound. Add arbitrary noise and the returned value may overestimate how far the ray can safely advance. Taking that full step can jump across a thin surface. The geometry might be correct in principle while the traversal misses it.
That distinction is useful even without implementing an elaborate renderer. It reminds me to ask what a mathematical value guarantees. Is it a true distance, a conservative bound, or merely a convenient surface function? Algorithms that consume the value depend on the answer.
For a small visual experiment, I would expose only a few parameters: broad scale, detail strength and the rate at which successive layers shrink. Let each control have a visible role. A hundred independent knobs can make a procedural system harder to use than ordinary modeling.
The appeal is not the smallest possible source file. It is a compact explanation of why the image takes the form it does. When the rules remain legible, the generated world becomes something that can be explored deliberately.