Walker with backtracking in 2d and 3d. Plugin for grasshopper I'm working on. (Based on Markov Junior)
https://redd.it/1fsh6ln
@proceduralgeneration
Diamond Square terrain generation - Need help.
https://youtu.be/A54rBBlfyx4?si=kqA8XTYw4pIKzFZR
https://redd.it/1fs47y7
@proceduralgeneration
I created a short(ish) tutorial on programming procedural animation for creatures that swim, wiggle, and slither: fish, snakes, slugs, etc. I thought it might be of interest here.
https://youtu.be/wFqSKHLb0lo?si=ZJ2rf6L93-hzK823
https://redd.it/1frt4v8
@proceduralgeneration
Procedural landmass generation + Biomes
Hi everyone,
I am currently working on a prototype to generate landmasses and assign biomes. I start of by generating a heightmap (Perlin noise) for my mesh, after that I generate a heatmap (noise + height data) and a humidity map (mostly noise / bit temp data). Then I go over each vertex and calculate weights, to see which biome fits the best and assign that. Each biome has its own "optimal" height/temp/humidity and its own importance distribution for each of these values. The result of this is not optimal yet but it looks fine. But now I end up with biomes like Grassland (green) which are way to uneven/hilly, since they all use the same heightmap. I could change the vertex afterwards, but I can’t figure out how to do this, without destroying the transition between biomes. I am clueless here, I guess I should have used different noises for different biomes, but then I still would need to stitch them together somehow. Maybe someone here can help me. Images of the maps are below:
Generated Heightmap \(white = high\)
generated Heatmap \(red = hot\)
generated humidity Map \(purple = humid\)
Results when Biomes assigned
As you can see the non mountain biomes are (to be expected) just as uneven as the rest, but I dont know how to change that without breaking the borders.
https://redd.it/1fqsuoz
@proceduralgeneration
variations on Silentium Dei - python + gimp
https://redd.it/1fqhubh
@proceduralgeneration
My game uses voronoi to draw the map and the enemies' path, there's a free demo download on Steam, hope you guys like it!
https://redd.it/1fotthx
@proceduralgeneration
Join our free masterclass with ::vtol:: on September 29: Using MAXMSP to Track and Use Live Web Data.
On September 29, we are organizing a free masterclass in collaboration with CreativeCodeArt.
# Using MAXMSP to Track and Use Live Web Data
RSVP HERE
In this practical masterclass, you'll learn how to use MAXMSP's simple tools to capture and use live data from websites.
We'll show you how to track changing information on web pages and turn that data into something you can use - like sounds, light controls, or even robot movements.
https://preview.redd.it/s5cozvwjylqd1.jpg?width=3140&format=pjpg&auto=webp&s=8be17710c302ca20dd8c0708a32156e5090f6ba7
This masterclass is all about keeping things simple and hands-on
https://redd.it/1fnso7p
@proceduralgeneration
Need help explaining math of 1D Perlin Noise
I'm taking the IB diploma, and for my maths subject, I have to write an IA (A sort of research paper/journal of me exploring any mathematical concepts). I have chosen to do Perlin Noise and specifically 1D noise. I've done a lot of reading but I'm so confused on the maths behind producing 1D noise. There's like so many ways on how to do it and I don't know which one is true. These are the methods that I learned based on reading like 100 articles...
1. Use a Pseudo-random number generator to generate random values between 0 and 1, and then plot the values as the y-coordinate with the x-coordinate being integers ranging from x=0,1,2,...,n. Then, just interpolate the points.
2. Same as the first step, but generate random values between -1 and 1 and assign each random value to an integer on the x-axis. The random value is a gradient value which produces a slope at each point. Then, generate a graph which follows the slopes at each point. https://eev.ee/blog/2016/05/29/perlin-noise/
3. Using the concepts in 2D where the random values are the gradient vectors, choose a point between 2 integers on the x-axis and find the distance vector. Then, calculate the dot product between the distance and gradient vector. Then, interpolate the points https://youtu.be/QHdU1XRB9uw?si=H12rfRhbwy8cEO8Y
I'm aware that there are more steps to it but I can't even decide which first steps to do. Really hope anyone can help me with this because I can't change my topic (I can but it would be tiring and wasting my time) and please correct me because I'm sure I misunderstood something somewhere
*P.S: I don't know much about coding because I don't have any background learning programming but I'm willing to learn some
https://redd.it/1fnlb9z
@proceduralgeneration
Generating a triangulated plane of n nodes with wrapping
I have an interesting problem and i'm trying to approach it in a way that generates the most organic shapes.
I'm generating a fictitious world map with n provinces on it. Provinces are represented by a node in 2d space. The nodes are all connected in a triangulating fashion (ie. there are no cycles on the node graph with 4 or more nodes, all cycles have exactly 3 nodes). The map also wraps on the x and y axis.
I have some very basic data structures representing nodes and connections.
Nodes have a vector2 position and contain a list of their connections.
Connections have a reference to the 2 nodes they join, as well as a bool value that determines whether it is a wrapping connection (for cases where far right nodes have to wrap and connect to far left nodes etc).
I have a 1.0 solution that simply generates a grid of nodes (with a little random jitter) then triangulates the grid randomly. It is super easy to triangulate and compute the wrapping connections when you treat it like a simple 2d array, but it is not very interesting to look at and it does not work for prime numbers (you can't make a nice X by Y grid of nodes for 71 provinces, for example).
https://i.imgur.com/Mxqe0Jx.png
I am breaking this problem down to make it more manageable and starting again.
- I want to firstly generate n nodes in a random fashion on the plane where they're somewhat evenly spaced (avoid cases where nodes are too close). I think there's an algorithm out there for this but i'm not sure what is the most efficient.
- Then, once i have a plane of n nodes that are somewhat nicely spaced, i need to somehow connect all the nodes nicely in a triangulating fashion. I'm not sure what algorithm works best for this.
- Once the easy triangulation is done, i need to do the wrapping connections. This part is a little trickier for me to wrap my head around.
If anyone has suggestions for reasonably easy algos to use for these steps, i would love to hear.
https://redd.it/1fk73hf
@proceduralgeneration
I've just released Sound Horizons: a rhythm game with an heavy use of procgen (free on PC & Linux)
https://redd.it/1fjzgvp
@proceduralgeneration
Using 3D Impostors to achieve Far Vegetation Rendering in a Procedural World!
https://redd.it/1fsbo1v
@proceduralgeneration
Large-Scale Planetary World Design: Flat or Sphere?
Note. This post is just a question. It is not an explanatory article or devlog.
I want to create a planetary world the size of Earth. My interest is not to look at a dwarf planet from space. I want to control and move a human-sized player (in first or third person) from the surface view of the world. So the world from the player's perspective is roughly similar to how we feel about Earth in reality.
Well, I think the scale is so huge that there are many considerations. But in this smalltalk, we will focus on globe circumnavigation and local flatness only.
My main question is this:
Should the world be represented as a flat surface or as a sphere (well-tessellated convex polyhedron, strictly speaking)?
Let's talk about an approach that models the world as a flat surface. Local flatness is guaranteed obviously. In fact, the world is entirely flat. In this approach, only the player's movement needs to be post-corrected to fit the sphere. However, if I am not careful enough, I might observe a different globe circumnavigation on the actual sphere. For example, if I am stupid enough, the circumnavigation time at the poles and the equator might be the same, unlike on a real sphere.
Next, look at the methodology of modeling the world as a real sphere. As I said before, adapting the player's movement on a flat world to fit a sphere leaves us open to some mistakes. But since the world is actually modeled as a sphere, globe circumnavigation works fine in the method. Only thing I'm not sure about is local flatness, even though our sphere is a convex polyhedron rather than a perfect sphere. Also, spherical geometry is a bit more complicated than planar geometry.
In a sense, it seems like globe circumnavigation and local flatness are trade-offs.
https://redd.it/1fs2lla
@proceduralgeneration
In a pickle with multiple layer perlin noise terrain generation, can't figure out a solution
I'm working on a terrain generation project, and this is how it works right now.
I create and generate a bunch of terrain chunks in a grid
https://paste.ofcode.org/gnEv2YVzhRiYhpBjTPdP5Q
It uses this perlin noise thing I made to return the height at each vertex, using a gradient erosion trick discussed here https://iquilezles.org/articles/morenoise/
where some erosion is faked by reducing the influence of layers based on steepness. Which works well and looks nice.
But I've ran into an obvious issue I don't know how to fix and I could really appreciate some insight :)
Here's the noise code
https://paste.ofcode.org/ZuE3cp48WW76AXS5an347m
As you can see, my current method adjusts the influence of noise layers based on local derivatives? (slopes) during the noise calculation.
This approach works well when dealing with a single, consistent noise map. However, when blending multiple noise maps (plains, hills, mountains, etc.) each with unique parameters and seeds, the derivatives become unreliable
Different scales, octaves, seeds, amplitudes, any parameters across noise layers mean that gradients computed for one layer don't correspond meaningfully to another
And the final height at any point is a blend of multiple noise contributions, making it challenging to derive a coherent gradient that accurately represents the combined terrain
I'm at a complete loss for what to do here.. I like the fast gradient erosion trick since it doesn't slow down map generation unlike the traditional post-process erosion simulations that work off a heightmap, but I don't know how to get it working here
https://redd.it/1fqx6bk
@proceduralgeneration
Ardent Wilds, our game featuring a fully procedurally generated world, caves, and dungeons now has a Steam page!
https://redd.it/1fqnmk5
@proceduralgeneration
Mines procedural generation for our upcoming horror game Lost Shadows
https://redd.it/1fq7fs5
@proceduralgeneration
My journey to create an immersive procedurally generated 2d world !
https://redd.it/1fpds3u
@proceduralgeneration
Trying to make equations produce complex smooth forms (+video version)
https://redd.it/1foq2zg
@proceduralgeneration
improved... (culling + variable pen pressure)
https://redd.it/1fohu2a
@proceduralgeneration
Real-time Fluid Sim in WebGPU
https://reddit.com/link/1fo7zb7/video/0c104pve1qqd1/player
There's a lot of room for improvement but I like how it looks
You can try it here. Right click to add density
https://redd.it/1fo7zb7
@proceduralgeneration
The lack of realistic procedural 3D landscapes
I'm constantly disappointed by maps and landscapes in video games. What would it take to get realistic, physics-based mapping that gives us realistic watersheds and topography?
Rivers splitting apart and flowing to the sea, random clumps of biomes without transition or correlated topography, water table existing at a single z axis point across entire globes, etc. are all examples of nonsensical world building from fantasy maps to fully rendered proceduarlly generated planets.
I'd really like to see an end to the common proliferation of nonsensical anti-physics maps. Water flows downhill and shapes the land wearing it down. Volcanic activity lifts the land up, blows it apart, and deposits new material. Tectonic activity shears, bends, lifts and crumples the land creating mountain ranges, coastal cliffs, and long valleys. All of these things together make for both mundane and extraordinarily dramatic landscapes.
There are some exciting new water flow physics out there. Integrating these into shaping landscapes with fluvial motion modeling (which is already out there for hydrology engineering) could be incredibly powerful. Is anyone aware of efforts along these lines?
https://redd.it/1fnqtwq
@proceduralgeneration
How to Create this kind of Art? Udemy or Youtube courses?
https://redd.it/1fk5yoe
@proceduralgeneration