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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Cheers ! hey ! can you hear the echo in here?
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.
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.
Nice ! colors are mapped to elevation ?
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 ?
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.