Pine River - Fully Procedural Biome in Unreal Engine

Everything in this environment is generated 100% procedurally using my own PCG based biome tool. Nothing is hand placed. It leverages natural seed spawning patterns to generate organic environments.

Environment running real-time on my machine.

My goal with this project was really to push my biome tool to the limits in terms of density and complexity. I river is a nice challenge because there are multiple biome types with different spawning logic for each.

My goal with this project was really to push my biome tool to the limits in terms of density and complexity. I river is a nice challenge because there are multiple biome types with different spawning logic for each.

Based on my reference, I chose a small collection of assets for each biome.

Based on my reference, I chose a small collection of assets for each biome.

I also created one cliff assembly and treated it as its own biome for spawning along the edge of the river. Each time it was spawned my PCG graph would choose a random selection of foliage, and randomly rotate or scale each piece of foliage based on tags.

I also created one cliff assembly and treated it as its own biome for spawning along the edge of the river. Each time it was spawned my PCG graph would choose a random selection of foliage, and randomly rotate or scale each piece of foliage based on tags.

A used three biome types in my tool to represent each area.

A used three biome types in my tool to represent each area.

Though you can mask biome areas by anything like physical material, or elevation, or texture map, I chose to define biome areas by landscape layer data.

Though you can mask biome areas by anything like physical material, or elevation, or texture map, I chose to define biome areas by landscape layer data.

This is what my data asset structure looks like for a biome. These data assets are read into my biome tool and tells the tool what to do with them and how to spawn each mesh.

This is what my data asset structure looks like for a biome. These data assets are read into my biome tool and tells the tool what to do with them and how to spawn each mesh.