this post was submitted on 16 Jul 2025
17 points (100.0% liked)

Procedural Generation

161 readers
7 users here now

A community to discuss and share anything procedural generation related, for example game worlds and assets, or simulations whether scientific or ludic.

From Wikipedia:

Procedural generation is a method of creating data algorithmically as opposed to manually, typically through a combination of human-generated assets and algorithms coupled with computer-generated randomness and processing power.

founded 2 years ago
MODERATORS
 

A procgen weekend project in Blender and geometry nodes. The idea was to start from a simple painted map -as simple and childlike- as possible, and let the computer do the rest.

Some images of the process :

Extract map contours

Separate seafloor from land

Look at the distance to shore

Filter it some

A voronoi for the rocks

Masked so they only appear near the shore

Roughly the same approach for the seafloor

A couple materials, water surface, Nishita sky

Cheers !

you are viewing a single comment's thread
view the rest of the comments
[–] Hadriscus@jlai.lu 3 points 3 weeks ago (7 children)

Cheers ! hey ! can you hear the echo in here?

how do you like blender for the task?

I can't say I have used anything else much. It's quite low level, functional. It has concepts like fields which I think are fantastic. If you're a programmer type you may enjoy using it. But there's no dedicated object type / data structure (heightfields) or feature set for terrain -so performance isn't optimal and you have to make your own tools. You can even build your own erosion solver, I made a very crude one pretty quickly just winging it. (I see you're a geologist!). That being said if I wanted to go realistic I would turn to something dedicated like Gaea or Houdini's terrain tools which are really something else.

[–] troyunrau@lemmy.ca 2 points 3 weeks ago (6 children)

I've largely rolled my own tools from scratch in python when playing with terrain generation, including writing my own perlin generators and everything. But that's mostly because I want to learn about the methods more than actually produce anything useful. Sample.

[–] Hadriscus@jlai.lu 2 points 3 weeks ago (1 children)

Nice ! colors are mapped to elevation ?

But that's mostly because I want to learn about the methods more than actually produce anything useful.

Yea I can relate, for me it's about half-half. Ultimately, I do want to output cute images. I've never written a noise generator though I would be curious to learn at some point.

How's the performance with Python ? have you tried generating meshes/SDFs from these height fields ?

[–] troyunrau@lemmy.ca 2 points 3 weeks ago

Yeah, colours to elevation.

Since I am mostly using Python as a math engine, and python isn't a very good math engine (even with numpy), performance isn't great. The map above is about 15 minutes to generate. I could spend hours answering the why 😂

But basically I'm just storing elevations in a 2D array. Then applying various filters to it to make things more geologically reasonable. Start with noise, add mountains in places that make sense, fjords, floodplains! Etc. I think I have about 18 processing phases now. But each step requires a lot of math -- math that GPUs are very good at.

I also haven't tried to optimize things too much.

load more comments (4 replies)
load more comments (4 replies)