Reworked the boring static forest into procedural vector art!
https://redd.it/1npmd6q
@proceduralgeneration
https://redd.it/1npmd6q
@proceduralgeneration
Some screenshots from above of some mazes in our game. The mazes are procedurally generated and are all different from each other, making the possibilities endless
https://redd.it/1nq90j1
@proceduralgeneration
https://redd.it/1nq90j1
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit: Some screenshots from above of some mazes in our game. The mazes are procedurally…
Explore this post and more from the proceduralgeneration community
Nth-Dimentional Perlin Noise
Lately I got into a little rabbit whole of wanting to make shifting perlin noise that loops perfectly.
My train of thought was to trace a looping path through a 4th dimentional space and project that onto an image at each step, then finally turning it into a gif.
Well I'm almost completely done with my implementation but my pseudo random number generator sucks.
There are probably also some issues with the logic itself as the image does not look like perlin noise even if the pseudo random vectors were actually how they should be but I'll tackle those issues later.
Any suggestions are be appreciated.
Here is the code I'm using for it along with an example of what it produced.
typedef struct {
sizet size;
float *array;
} vect;
sizet dbj2 (unsigned char *str, sizet size)
{
unsigned long hash = 5381;
for (sizet i = 0; i < size; i++)
{
hash = (hash * 33) + str[i];
}
return hash;
}
sizet linearcongruentialgenerator (sizet state) {
state *= 7621;
state += 1;
state %= 32768;
return state;
}
void srandvec (vect out, vect seed) {
sizet size = seed.size * sizeof(float);
void *mem = seed.array;
sizet state = dbj2(mem, size) % 10000;
float mag = 0;
for (sizet i = 0; i < out.size; i++)
{
state = linearcongruentialgenerator(state);
float value;
value = (state % 1000) / 1000.f; // normalizing [0, -1]
value = (value * 2) - 1; // mapping [-1, 1]
out.array[i] = value;
mag += value * value;
}
mag = sqrtf(mag);
for (sizet i = 0; i < out.size; i++)
{
out.arrayi /= mag;
}
}
https://preview.redd.it/69o03n07ncrf1.png?width=1024&format=png&auto=webp&s=689c69c21d6152865ca85294e29e6539aaef69b6
https://redd.it/1nqdl99
@proceduralgeneration
Lately I got into a little rabbit whole of wanting to make shifting perlin noise that loops perfectly.
My train of thought was to trace a looping path through a 4th dimentional space and project that onto an image at each step, then finally turning it into a gif.
Well I'm almost completely done with my implementation but my pseudo random number generator sucks.
There are probably also some issues with the logic itself as the image does not look like perlin noise even if the pseudo random vectors were actually how they should be but I'll tackle those issues later.
Any suggestions are be appreciated.
Here is the code I'm using for it along with an example of what it produced.
typedef struct {
sizet size;
float *array;
} vect;
sizet dbj2 (unsigned char *str, sizet size)
{
unsigned long hash = 5381;
for (sizet i = 0; i < size; i++)
{
hash = (hash * 33) + str[i];
}
return hash;
}
sizet linearcongruentialgenerator (sizet state) {
state *= 7621;
state += 1;
state %= 32768;
return state;
}
void srandvec (vect out, vect seed) {
sizet size = seed.size * sizeof(float);
void *mem = seed.array;
sizet state = dbj2(mem, size) % 10000;
float mag = 0;
for (sizet i = 0; i < out.size; i++)
{
state = linearcongruentialgenerator(state);
float value;
value = (state % 1000) / 1000.f; // normalizing [0, -1]
value = (value * 2) - 1; // mapping [-1, 1]
out.array[i] = value;
mag += value * value;
}
mag = sqrtf(mag);
for (sizet i = 0; i < out.size; i++)
{
out.arrayi /= mag;
}
}
https://preview.redd.it/69o03n07ncrf1.png?width=1024&format=png&auto=webp&s=689c69c21d6152865ca85294e29e6539aaef69b6
https://redd.it/1nqdl99
@proceduralgeneration
Around The World, Part 26: Biomes - figuring out vegetation and colouring the terrain
https://frozenfractal.com/blog/2025/9/26/around-the-world-26-biomes/
https://redd.it/1nqxfd3
@proceduralgeneration
https://frozenfractal.com/blog/2025/9/26/around-the-world-26-biomes/
https://redd.it/1nqxfd3
@proceduralgeneration
Frozenfractal
Around The World, Part 26: Biomes
I should be working on gameplay, but I got tired of looking at drab grey terrain, so I decided to beautify it first by adding some vegetation. In a way, this is in line with my plan to add a solid technical foundation for the game before stacking too much…
Platform generator Houdini Digital Asset
https://www.reddit.com/r/Houdini/comments/1novuok/platform_generator_hda_procedural_game_assets_for/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
https://redd.it/1nr1zi0
@proceduralgeneration
https://www.reddit.com/r/Houdini/comments/1novuok/platform_generator_hda_procedural_game_assets_for/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
https://redd.it/1nr1zi0
@proceduralgeneration
Reddit
From the Houdini community on Reddit: Platform Generator HDA - Procedural Game Assets for Houdini
Explore this post and more from the Houdini community
This media is not supported in your browser
VIEW IN TELEGRAM
Fractal Worlds – Explore generative fractals in your browser
https://redd.it/1nr2tr6
@proceduralgeneration
https://redd.it/1nr2tr6
@proceduralgeneration
what is the best way to generate river like pattern as noise
hi
is there away beside using perlin noise to generate river pattern, i try a lot of thing but every look so of and not natural , so if there any way you know happy to read it .
thanks
https://redd.it/1nr6yos
@proceduralgeneration
hi
is there away beside using perlin noise to generate river pattern, i try a lot of thing but every look so of and not natural , so if there any way you know happy to read it .
thanks
https://redd.it/1nr6yos
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit
Explore this post and more from the proceduralgeneration community