Terrain Formation in Houdini: What the Terrain Handbook Taught Me Across Biomes
The same erosion node built a desert ridge and a river of lava. All I changed was which kind of wear I let it simulate. That was the moment terrain stopped being scenery to me and became a system, and it happened while I was working through the Terrain Handbook to understand how EREMUS's ground should be made.
This is the terrain-formation strand of EREMUS. Before I could build my own desert basin as a procedural generator, I needed to understand how terrain actually forms in Houdini, not just which buttons to press. So I followed Nikola Damjanov's Terrain Handbook and built all three of its biomes myself, a dusty desert, a fiery lava world, and an icy mountain range. The most useful thing was not any single one of them. It was building the same small set of tools three times over and watching them produce three completely different worlds.
What a heightfield actually is
A heightfield in Houdini is not a mesh. It is a two-dimensional volume: a flat grid where the only thing you can push and pull is height. Every heightfield carries two layers that travel together, a height layer and a mask layer, and almost every terrain node reads both, height on the left input, mask on the right. The mask is just a red selection painted across the terrain that tells a node where it is allowed to act.
Once I saw it that way, the long list of nodes stopped being intimidating. Everything is doing one of five jobs: adding height (noise and pattern), shuffling height that already exists (distort), reshaping it (remap and terrace), simulating a physical process on it (erode and slump), or selecting a region to protect or target (mask by feature). You stack those, work at a low resolution while you find the shapes, and only up-res at the very end when the look is settled.
The same base, three different worlds
Every one of the three biomes starts from the exact same heightfield, the same size and the same spacing. What makes one read as sand and another as lava is not the starting grid. It is which physical process I chose to foreground, and how I made the very first shapes.
The desert is the most art-directed of the three. It does not start from noise at all, it starts from a hand-drawn curve. I drew the ridge lines I wanted on the ground plane, wrapped them into geometry, and projected that down onto the height as the skeleton of the terrain. From there it is noise and erosion to rough it up, but the defining move comes last: a flow field is computed and a slump pass lets sand settle down the slopes and gather in the crevices on its own. The desert is a story of deposition, material drifting and piling where gravity takes it.
The lava world throws the drawing away and starts from pure noise, several folded Perlin layers combined so that hills rise with channels running between them. Then it does something clever with erosion. Instead of one wear pass I split the two kinds apart: thermal erosion, the crumbling of slopes, builds the hills, while a masked water pass running only in the lowest parts carves the sharp channels the lava flows through. Debris is deliberately switched off so those channels stay crisp, and there is no slump at all, because letting material settle would fill in the very rivers the erosion worked to cut. The lava world is a story of directed erosion, two processes aimed at two different jobs.
The icy mountains start a third way again, from built geometry. I scattered pyramids across the grid and projected them up into peaks, with smaller upside-down pyramids cut in as holes to break them apart. Then two features do the heavy lifting. Big, strong terraces carve the strata you see in real mountains, and after the erosion passes the slump runs not once but twice, so snow appears to build up in the flats and shelves while rock still pokes through the steepest faces. The icy world is a story of layering and buildup, strata cut in, then snow deposited on top.
Why the differences matter
Set side by side, the lesson is simple, and it reframed how I think about terrain. The base is identical every time. Biome identity comes almost entirely from which process I let dominate: deposition for the desert, directed erosion for the lava, strata and buildup for the ice. Even the starting method carries intent. I hand-drew the desert because I wanted to art-direct where the ridges went, I started the lava from noise because I wanted chaos, and I built the mountains from geometry because I wanted deliberate, placed peaks.
Honestly it clicked in more than one place. The first was watching the same erosion node build a desert ridge and a lava channel just by turning the water off. The masks did the rest: once I saw terrain as height plus a red selection layer, the nodes stopped being mysterious. And the slump node was where it stopped feeling abstract altogether, watching sand settle into the crevices on its own.
Where it fought back
Building three biomes is not the same as them forming smoothly, and a few walls came up again and again. The first is patience. Erosion is a simulation, so every time I changed a number I waited for it to cook, and at high resolution that wait got long. The habit the course drills, and the one I have taken on, is to work at a low resolution while you find the shapes and up-res only at the end. It also runs erosion far too hard on purpose, then dials it back by blending the eroded result over the original, which turns a commitment into a control dial.
The second wall is a real limit of the format. A heightfield cannot hold an overhang, because every point on the grid has exactly one height. When the lava biome needed carved canyon walls, I had to leave heightfields entirely, convert the terrain to polygons, push the shape sideways, rebuild it through a VDB, and project it back, and running that at full resolution is heavy enough to hang the machine if you are not careful. That was a useful reminder that procedural terrain is a set of trade-offs, not a magic button, and that knowing when to step outside the heightfield is part of the skill.
Building the three back to back, the erosion cook times became the real tax, because a full pass meant waiting again every time I nudged a value, so working low-res first stopped feeling like a useful tip and became survival. The more honest wall was learning to read the terrain properly, because telling a real erosion channel from plain noise took several passes before my eye adjusted. The masks caught me out first too, as I kept feeding height into the mask input and wondering why nothing changed.
What I carried into EREMUS
EREMUS is a desert, so of the three biomes the dusty one is my closest template, and the parts I took from it are specific. The art-directed start, drawing the ridge lines rather than hoping noise lands them, suits a world with an outpost whose terrain has to be shaped around it. The slump pass gives the sand its settled, drifted look almost for free. And the ordering the whole course teaches, big shapes first, then detail, then erosion, then resolution last, is now simply how I build any heightfield.
The more important thing I took is not a biome at all, it is the way of seeing. Terrain is a base shape plus a chosen process, height plus mask, worked low and resolved late. Building all three is what let me build the EREMUS terrain in the previous post with some idea of why each node was there, instead of copying a chain and hoping it held together.
The lava biome's split erosion is the technique I think about most, even though EREMUS has no lava, because it taught me erosion is directable and not just destructive For now the desert approach is enough, and I would rather go deep on one biome than spread thin across three
This is the formation groundwork for the terrain strand. The introduction post lays out why EREMUS is procedural at all, and the build post shows the actual network this understanding produced. Next in the series I go from forming the terrain to packaging it, turning the EREMUS heightfield into a tunable, tiling HDA I can reuse.
If you are reading this as part of my Major Study, this post is the learning strand for the terrain: I rebuilt all three of the Terrain Handbook's biomes to understand how terrain forms before building my own, set down in the order I actually learned it.











