procedural generation
121 subscribers
5.09K photos
1.57K videos
2 files
10.7K links
Created by @r_channels
Download Telegram
New idea for generating interesting terrain or occasionally discontinuous results.

I lack a computer at the moment and thus am working on preproduction stuff for my project.

One of the things I've been struggling with is how to make a terrain generator that fits my needs.

One of the traits I've desired is the ability to occasionally produce non-smooth results such as cliffs or ravines.

I think I figured out how to accomplish this and I can't wait to explore all the other possibilities as well.

The idea here is to produce three noise maps, this can be done by any fashion you like that produces noise maps, though I will generally treat it at perlin noise like (note, perlin noise and similar often combines many layers at different scales, with my method, fewer layers are needed).

Two of these maps are basically terrain maps, the third dictates how to combine the two.

The values of the third map, the union map, dictate adding the values (or multiplying them) in different amounts. The extreme values near 0 and 1 result in roughly equal measure of the two maps, but as values approach 0.5, things are skewed towards one map or the other. Less then 0.5 will skew towards map A as values get closer to 0.5, but above 0.5 things will skew towards map B. Thus when the union map reaches 0.5 it creates a discontinuity on the result.

Of course, there is a lot of flexibility in using a union map by changing how the union map values influence the two maps. For example, in the Myst games, one of the ages (basically worlds) is a lot of low hills but with these really tall rock pillars dotting the landscape. This should be reproducible by setting map A to produce low hills and setting map B to be much higher and with more interesting underground generation, then the union map can be set to be all map A except when the union map gets values above 0.95 then it jumps to all map B, resulting in rock pillars.

Another Myst age has basically three heights really low, really high and winding paths and corridors about halfway up thus having tall walls and deep crevices. This could be reproduced by map A being low, map B being high and the union map having only a narrow window of values where the maps are combined in which the values of the two maps are averaged, giving mid height terrain in narrow corridors or canyons.

Anyway, because the two maps can be combined, depending on your setup, you can have each noise map operate at fewer layers since the combination will be at the layers of both maps except near the discontinuities.

Extra broken terrain can be produced by having multiple discontinuities.

What do you guys think? Anyone think they might find use for this?

https://redd.it/169v2pn
@proceduralgeneration
I made my own noise function

Noise functions in gamedev and computer graphics are often used for procedural generation like terrains, textures, etc...

We often use Perlin Noise or Simplex Noise, Sin/Cos, etc... or even a combination of them to produce interesting patterns.

The same is true for my game "Warmonger Dynasty" which aims to be a 4X, a sort of mix of Civilization and Age of Empire. For the past few months though, I have been "stuck" (not really, but this is the fun part for me) on tweaking/tinkering with the map generation algorithm. I use multiple techniques to generate the features I want: cellular automatons, real physics formula (heat diffusion, pressure gradients, coriolis force, etc.), and of course, noise functions.

The problem though, is that my map data structure uses a cubic coordinate system (Q;R;S coordinates), not a cartesian coordinate system (X;Y coordinates). So assigning a noise value to every hexagon in my map gets a little tricky.

After reading a bit on how to make noise functions, I decided to make my own.

It was fun, interesting, not that complicated, and I'm satisfied with the result.

If you're curious, I wrote about it in more details on my blog: the article.

TL;DR: Here is the result

https://redd.it/16aa1sf
@proceduralgeneration
This media is not supported in your browser
VIEW IN TELEGRAM
[WIP] The progress of Oppy -world generator- has been a fascinating blend of design and programming for me. It has been quite a journey, from tile-based techniques to sampling algorithms, hand-drawn vegetation to water shaders, and low-poly to stylized models.
https://redd.it/16aqd4y
@proceduralgeneration
Polaron Procedural terrain from EOS & Semantic data

Still WIP - but we are ingesting 1m2 lidar and combining it with a GeoSemantic data.
We then procedurally generate back down to 12.5cm or 25cm - which gets us to clutter, trees and building features.

https://preview.redd.it/q0bk25bomlmb1.png?width=1024&format=png&auto=webp&s=0b97584afc8911e5069a98053c26707abad1d6a8

https://preview.redd.it/kw6hk5bomlmb1.png?width=2048&format=png&auto=webp&s=375230fd5591fa4a9a0abf66ee0f727c6d566377

https://redd.it/16bf08q
@proceduralgeneration
This media is not supported in your browser
VIEW IN TELEGRAM
Hi, I have made a Car Generator in Blender. You can generate Unique Cars and Vehicles Easily.
https://redd.it/16ccirb
@proceduralgeneration
Abstract procedural city racer engine (Video is in comments)
https://redd.it/16cuj1z
@proceduralgeneration
What's the best way to make everything, from chairs to fish to people?

I want to find the most performant, most parallel, most homogenized system for developing algorithms that will replicate the morphological "essence" of certain objects as mathematical equations such that I could make two extremely distinct objects that would fit well within the same "kind". For example, trees, and fish, and humans. Something that, purely in terms of shape, color, and texture, is shared by all humans but lost in all other objects.

What method of surface generation would be best for this, and what method of polygonization would be best for translating that into a mesh?

https://redd.it/16d18zc
@proceduralgeneration
Marching cubes rivers

hi all,

im doing a game with Procedural landscapes using marching cubes in unity.
i have the basic implementations done for the landscape but now i want to add details, or in this case rivers.
i was wondering if anyone had any recourses like documents, videos, or code they can share about implementing this
(if you have anything on caves/biomes that'd be great too :) )
ill post here if i find anything else


Thanks!

https://redd.it/16dagra
@proceduralgeneration
What is the most parallel, performant, homogenized way to polygonize implicit surfaces, or else, what parallel, performant, homogenized alternatives exist for generating meshes from well-defined shapes such as trees and fish?

My last post was accidentally misleading. My goal is not an "all in one" algorithm for life, the universe, and everything, but rather an all in one algorithm for generating coherent meshes from linear algebraic functions, or else an alternative method for accurately and procedurally generating standardized shapes, like trees and men.

https://redd.it/16deovf
@proceduralgeneration
For creating organic, high-detail objects such as fish or trees, what is the best triangulation method? Assuming I already have an implicit shape to work with.

I've heard of marching cubes, surface nets, dual contouring, all for a voxel approach. Is there a performant non-voxel approach? If not, what's the best voxelated approach (priority is minimum artifacts and maximum control)?

https://redd.it/16ea7fc
@proceduralgeneration
Help with generating 2D terrain with the side view

So currently I'm using layered noise, but it all looks boring, is there any techniques for generating terrain with overhangs?

https://redd.it/16et5wu
@proceduralgeneration