proceduralgeneration | Unsorted

Telegram-канал proceduralgeneration - procedural generation

99

Created by @r_channels

Subscribe to a channel

procedural generation

Room-based A* for dungeon generation, has anyone made this work?

Been building a Minecraft dungeon server where rooms are hand-built schematics and the procgen only handles layout/placement. Wrote up how it works for some devs who were curious, figured I'd share here too in case anyone has thoughts or has solved similar problems.

[https://thom.ee/blog/procedural-generation/](https://thom.ee/blog/procedural-generation/)

The part I'm not happy with is the corridors between rooms. They're procedural 5x5 cross-sections, but look uninspiring. Short-term fix is adding some additional noise-based details and inserting smaller filler rooms into the corridors to break things up. But curious if anyone's tackled this differently, especially approaches that avoid procedural corridors entirely.

https://redd.it/1suauhx
@proceduralgeneration

Читать полностью…

procedural generation

Terrain generator I am working on in Godot

https://redd.it/1su1i35
@proceduralgeneration

Читать полностью…

procedural generation

Evolving procedurally generated cells

https://redd.it/1stwa60
@proceduralgeneration

Читать полностью…

procedural generation

Built a procedural level generator for my indie game in Godot, here's how it works
https://redd.it/1stnwn5
@proceduralgeneration

Читать полностью…

procedural generation

T-Square Fractal
https://redd.it/1stk6n1
@proceduralgeneration

Читать полностью…

procedural generation

Wanted to share some shots from my current portfolio project.
https://www.reddit.com/gallery/1stiddw

https://redd.it/1stifho
@proceduralgeneration

Читать полностью…

procedural generation

Looking for Blockbench Model Creators (Game Project – Credit + Future Revenue Share)

I’m working on a game at the moment and I’m looking for people who enjoy using Blockbench to make models and want to get involved.

To be clear upfront — I can’t offer any payment right now. This is still a small project I’m building up. What I can offer is:

Your models being used in the game
Proper credit for anything you make
A share of revenue later on if/when the game starts making money (based on the models being used)

I know revenue share stuff can be a bit hit or miss, so I want to be honest about that from the start. The goal is to grow this into something solid over time, not just a quick throwaway project.

I’m mainly looking for:

Blockbench models (style is flexible, we can figure that out together)
People who are up for contributing to something longer-term
Anyone who just enjoys making assets and wants to see them actually used in a game

If that sounds like something you’d be into, just comment or DM me and I’ll go into more detail about the game and what I need.

Site for the game https://exudizmono.com/

https://redd.it/1ssw55v
@proceduralgeneration

Читать полностью…

procedural generation

Concentric diamond rings generated with a recursive color field algorithm
https://redd.it/1sssfny
@proceduralgeneration

Читать полностью…

procedural generation

Pen plot of a Toroid constrained by a limiter.
https://redd.it/1ssl6bw
@proceduralgeneration

Читать полностью…

procedural generation

I built a real-time Eulerian smoke simulator from scratch — CUDA/C++, no engines, no pre-built solvers

https://redd.it/1ssb0l5
@proceduralgeneration

Читать полностью…

procedural generation

Methods for generating unique and believable book titles?

I've been struggling with this thought before, and it really also applies to titles for any media. Any one have some ideas?

https://redd.it/1ss3jzc
@proceduralgeneration

Читать полностью…

procedural generation

interpolation - 15) * interpolation + 10) * interpolation * interpolation * interpolation;
}

float MyLerp(float interpolation, float dotOne, float dotTwo)
{
return dotOne + interpolation * (dotTwo - dotOne);
}



https://redd.it/1srvsas
@proceduralgeneration

Читать полностью…

procedural generation

Prototype growth sim for a small strategy game: 4-connected simplex-biased frontier on a 25x25 grid

https://redd.it/1sru4wj
@proceduralgeneration

Читать полностью…

procedural generation

One Click City Generation

https://redd.it/1srsiaj
@proceduralgeneration

Читать полностью…

procedural generation

Two new features added

https://redd.it/1sro2fx
@proceduralgeneration

Читать полностью…

procedural generation

more updates to my procedurally generated gravity simulator where you can control the flow of time - thanks so much to this community for your support!! ✌️❤️

https://redd.it/1su8ucd
@proceduralgeneration

Читать полностью…

procedural generation

Procedurally generated monochrome noise field
https://redd.it/1stwwev
@proceduralgeneration

Читать полностью…

procedural generation

Car Generator Stylized - Procedural Editing & Asset Library in Blender

https://redd.it/1stqhzo
@proceduralgeneration

Читать полностью…

procedural generation

Procedurally generated birds
https://redd.it/1stnv0n
@proceduralgeneration

Читать полностью…

procedural generation

I built a Vulkan ray-marched voxel sandbox in Rust because I got tired of switching between Minecraft and external tools just to make custom blocks

https://preview.redd.it/ylepaccpbkwg1.png?width=1312&format=png&auto=webp&s=f80a28aaa4cfb7bf2619919ad9c9330cddd3c949

My daughter and I have spent countless hours in Minecraft creative mode. Over time we kept reaching for external apps to design custom blocks, models, and textures. It worked, but the context switching killed the flow. At some point I thought -- why isn't all of this just... in the game? An ultimate creative mode where you never have to leave to make something new.

So I built Voxel World.

It's a GPU-accelerated voxel sandbox written in Rust that renders entirely through Vulkan compute shaders. No vertex/fragment pipeline -- everything is ray marched through a 3D texture. I went this route because I wanted to see how far you could push pure compute-based voxel rendering and honestly because it was a fun engineering challenge.

What started as a rendering experiment turned into a pretty full-featured creative sandbox:

World building tools \-- 20+ tools for cube, sphere, torus, arch, bridge, bezier curves, helix, stairs, terrain brushes, clone stamp, and more. All the stuff we wished Minecraft had built in.

In-game model editor \-- Sub-voxel models at 8\^3, 16\^3, or 32\^3 resolution with 32-color palettes and per-voxel emission. 175 built-in models (torches, fences, doors, glass panes, etc.) and a full editor for making your own with pencil, fill, mirror, undo/redo. This was the big one for us -- being able to design a model and place it without alt-tabbing.

Procedural texture generator \-- Design custom block textures in-game with real-time pattern preview. No more exporting to an image editor and hoping the tiling works.

The world itself is procedurally generated with 17 biomes, 4 cave types, 9 tree species, water/lava simulation, and falling block physics. 47 block types with 608 painted variants (any of 19 textures in any of 32 color tints). Day/night cycle, shadow rays, ambient occlusion, animated clouds, stars, water, point lights with animation modes. Quality presets scale from potato to ultra depending on your hardware.

Multiplayer is still very work in progress but getting better. Encrypted UDP, up to 4 players, full world sync. The networking stack has been the hardest part to get right -- epoch-aware chunk dedup, LZ4 compression, handling the host running both server and client. It works but I wouldn't call it battle-tested yet.

Runs on Linux, macOS, and Windows. MIT licensed, fully open source.

Repo: https://github.com/paulrobello/voxel-world

Build from source: git clone `https://github.com/paulrobello/voxel-world.git` && cd voxel-world && make run

If you have any questions about the rendering pipeline, the sub-voxel model system, or the chunk streaming architecture I'm happy to dig into the details. This has been a wild project to work on and I've learned a ton building it.

https://redd.it/1stl6t1
@proceduralgeneration

Читать полностью…

procedural generation

Real time Fluid simulation demo *1MILLION PARTICLES* [oc]

https://redd.it/1stf1e5
@proceduralgeneration

Читать полностью…

procedural generation

Been working on a voxel physics sandbox with procedural worlds and interactions - inspired by old falling sand games!

https://redd.it/1sstl3f
@proceduralgeneration

Читать полностью…

procedural generation

Fractal Curve
https://redd.it/1ssqhnh
@proceduralgeneration

Читать полностью…

procedural generation

My game is fully procedurally generated , releasing a demo next month! do you think it's ready?

https://redd.it/1sslrha
@proceduralgeneration

Читать полностью…

procedural generation

Proc-Gen-Pipe-Grid-Pic-Glance
https://redd.it/1ss8sbu
@proceduralgeneration

Читать полностью…

procedural generation

I just finished my world generator
https://redd.it/1ss266z
@proceduralgeneration

Читать полностью…

procedural generation

First Time Perlin Noise

Hey all. Attempting to learn procgen and perlin noise and struggling a bit. This is what I have gotten to after using both of these references to try and write it out myself. Just trying to create a simple perlin noise and place some blocks using the Raylib library to draw to a window. Not trying anything fancy right of the bat.

[https://rtouti.github.io/graphics/perlin-noise-algorithm](https://rtouti.github.io/graphics/perlin-noise-algorithm)
[https://cs.nyu.edu/\~perlin/noise/](https://cs.nyu.edu/~perlin/noise/)

Maybe I'm just not understanding how I'm supposed to use the values that I'm getting from this? I'm not currently worried about performance, more just trying to get it to work before i think about any sort of optimization.

float Noise2D(float x, float y, int seed)
{
int X = (int)(floor(x)) & 255;
int Y = (int)(floor(y)) & 255;
float xF = x - floor(x);
float yF = y - floor(y);

Vector2 topRight = Vector2{ static_cast<float>(xF - 1.0), static_cast<float>(yF - 1.0) };
Vector2 topLeft = Vector2{ static_cast<float>(xF), static_cast<float>(yF - 1.0) };
Vector2 bottomRight = Vector2{ static_cast<float>(xF - 1.0), static_cast<float>(yF) };
Vector2 bottomLeft = Vector2{ static_cast<float>(xF), static_cast<float>(yF) };

vector<int> permutation = MakePermutation(seed);

int valueTopRight = permutation[permutation[X + 1] + Y + 1];
int valueTopLeft = permutation[permutation[X] + Y + 1];
int valueBottomRight = permutation[permutation[X + 1] + Y];
int valueBottomLeft = permutation[permutation[X] + Y];

float dotTopRight = topRight.x * GetConstantVector(valueTopRight).x + topRight.y * GetConstantVector(valueTopRight).y;
float dotTopLeft = topLeft.x * GetConstantVector(valueTopLeft).x + topLeft.y * GetConstantVector(valueTopLeft).y;
float dotBottomRight = bottomRight.x * GetConstantVector(valueBottomRight).x + bottomRight.y * GetConstantVector(valueBottomRight).y;
float dotBottomLeft = bottomLeft.x * GetConstantVector(valueBottomLeft).x + bottomLeft.y * GetConstantVector(valueBottomLeft).y;

float u = Fade(xF);
float v = Fade(yF);


return MyLerp(u, MyLerp(v, dotBottomLeft, dotTopLeft), MyLerp(v, dotBottomRight, dotTopRight));
}

float FractalBrownianMotion(float x, float y, int numOfOctaves, int seed)
{
float result = 0.0f;
float amplitude = 1.0f;
float frequency = 0.05f;

for (int octave = 0; octave < numOfOctaves; octave++)
{
float n = amplitude * Noise2D(x * frequency, y * frequency, seed);
result += n;

amplitude *= 0.5f;
frequency *= 2.0f;
}

// Transform the range to [0.0, 1.0], supposing that the range of Noise2D is [-1.0, 1.0]
result += 1.0;
result /= 2.0;

cout << result << endl;

return result;
}

vector<int> MakePermutation(int seed)
{
vector<int> permutation;
ranlux24_base rng(seed);
for (int i = 0; i < 256; i++)
{
permutation.push_back(GetRandomFloat(rng, 0, 360));
}

ShufflePermutation(&permutation, seed);

for (int i = 0; i < 256; i++)
{
permutation.push_back(permutation[i]);
}

return permutation;
}

void ShufflePermutation(vector<int>* permutationToShuffle, int seed)
{
ranlux24_base rng(seed);
for (int i = permutationToShuffle->size() - 1; i > 0; i--)
{
int index = GetRandomInt(rng, 0, permutationToShuffle->size() - 1);
float temp = permutationToShuffle->at(i);

permutationToShuffle->at(i) = permutationToShuffle->at(index);
permutationToShuffle->at(index) = temp;
}
}

Vector2 GetConstantVector(int value)
{
const int findVector = value & 3;
if (findVector == 0) return Vector2{ 1.0, 1.0 };
else if (findVector == 1) return Vector2{ -1.0, 1.0 };
else if (findVector == 2) return Vector2{ -1.0, -1.0 };
else return Vector2{ 1.0, -1.0 };
}

float Fade(float interpolation)
{
return ((6 *

Читать полностью…

procedural generation

Procedurally Generated Infinite Dunes Terrain in Real Time

https://redd.it/1srtgo7
@proceduralgeneration

Читать полностью…

procedural generation

Free 3d cone generator for blender

https://redd.it/1srnkir
@proceduralgeneration

Читать полностью…

procedural generation

Procedural Pixel Planets

https://redd.it/1srln8t
@proceduralgeneration

Читать полностью…
Subscribe to a channel