procedural generation
129 subscribers
5.33K photos
1.79K videos
7 files
11.3K links
Created by @r_channels
Download Telegram
Algorithm suggestions for a 2D cave generation system with distinct hand-made terrain features

Hello, r/proceduralgeneration!

I recently started to develop a side-2D terraria-like underwater exploration game and need a robust procedural map generation to bump up the replayability. For now, I only speak about the "cave structure", no plants, resources, since that should be pretty easy to add with procedurally generated masks later.

I've tried several different methods to achieve what I want:

1. Noise-distorted voronoi diagram with simplex noise + fractional brownian noise.
2. Wave function collapse.
3. Cellular automata / cave generation (but that went pretty badly, I feel like I have no control on anything)

I actually got furthest with voronoi + simplex, and I got pretty convincing results so far. I still struggle with proper "biome blending", since right now it's pretty obvious where biomes start / end, but I imagine I could apply some smoothing to the voronoi diagram to make things a bit less jarring.

The biggest issue so far is how would I go about applying hand-made terrain features to such a noise-map? I thought about masks, but those wouldn't work for more complex features that interact with the cave walls or floors, like big spikes in the wall or something. I fear that the algorithm just isn't suitable for such a thing since everything is basically a multiplier on several noise values like freq/persistence/lacunarity, no easy way to actually control distinct areas manually.

My next bet was wave function collapse, I'm still very much a beginner in this kind of procedural generation, but it was kind of promising, since wfc is basically made for hand-made structures. Unfortunately I can't really achieve a nice, organic cave structure like I did with voronoi + simplex, and biomes are a much bigger beast to handle with wfc, but it's quite possible I just don't know enough about wfc.

I'd love some suggestions for algorithms that I could try since I'm pretty stuck right now. Thanks in advance!

https://redd.it/12ybj4x
@proceduralgeneration
Media is too big
VIEW IN TELEGRAM
I have been rendering my planet for a 4K calming orbit ambiance video (full 4K video in comments)

https://redd.it/12ykrzf
@proceduralgeneration
Chrome Serpents // Me // 2023 // animated version in comments
https://redd.it/12zqzop
@proceduralgeneration
Feedback for my dissertation project

Hello r/proceduralgeneration


I have been working on a procedural environment generation application for my dissertation, and would love to recieve some feedback on the environments that the program generates!

The application utilizes WebGL, and uses Marching Cubes to produce the final terrain mesh.

You can download the application from the GitHub repository, and please provide any feedback through the questionnaire.

I understand that some people may not want to download the application so I have provided some example screenshots of the environments that the program generates.

​

Snowy, mountainous-like environment

Desert-like environment

Forest-like environment

https://redd.it/12zrtzt
@proceduralgeneration
Creating a procedural world with varying terrain

Pretty much the title. I have been able to create an infinite world generator using unity but the generated terrain from the noise map is repetitive.

I want to create a noise map capable of creating terrain that varies a lot, creating some terrain that's flat, some that's mountainous, some that's spiky, etc. My current noise map generator just creates repetitive noise of the same terrain type over and over again with no variation.

I've been trying to copy Minecraft's algorithm as an example but to no avail and I'm getting desperate

Thank you, and I appreciate any help

https://redd.it/12zxtby
@proceduralgeneration
While working on my game I made a highly optimized Noise Library for C#, I just made it open-source!

It's the fastest implementation of Perlin Noise out there! I commented on all the optimizations I did over standard implementations for anyone who is interested in the details of what I did. krubbles/Icaria-Noise: A highly-optimized C# noise-function library. (github.com)

A screenshot from my game :\) Will be posting more on it soon!

https://redd.it/131h252
@proceduralgeneration
Doodling with my noise generation algorithm...
https://redd.it/131i5pi
@proceduralgeneration
My game creates planets divided in sectors, and each sector has procedural generated resources, walls, terrain, and many more things are also randomized. Its a planetary exploration company sim inspired in Vampire Survivors: it has unlocks, invent your own weapons by mixing features, and more.
https://redd.it/1326zxz
@proceduralgeneration