#ProceduralContentGeneration

2025-04-28

#GameDev #GameIdea #GardeningGame #ReverseOf4X #Voronoi #Crystals #ProceduralContent #ProceduralContentGeneration #PCG

I wrote up one of my old game ideas.

A few years back I found the concept of "gardening games" by @maxkreminski.

mkremins.github.io/blog/garden

The point is not literal "gardening" but rather a deeper way to interact/relate to procedural content, pretty much by inverting the idea of a 4X game. Instead of arriving at a beautiful, believable, "wild" landscape and exploiting it to bits, the player works with the environment system to enhance it.

E.g. the same way a gardener works with/within nature: collecting seeds, growing seedlings, moving self-set plants, removing weeds, composting waste, pruning, improving soil.

It's a beautiful idea that captures something I hunger for in games, but rarely find...

...so this is my attempt to implement the idea in a design: emnf-ideas.ianbadcoe.uk/growth

This particular take is literally gardening, which is not required, but works as a jumping off point.

2025-04-03

#GameDev #Godot #PGC #ProceduralContentGeneration #ReallyEarlyDays #YesItsACube

Don't laugh, but I have spent about a day just getting a cube displayed in Godot...

...but wait, this is no ordinary cube, it's built from a slightly "smart" data structure that knows all the faces, all the edges, all the verts, and how they are connected together.

Why? Well the point is:

i) if I have an algorithm building procedural levels and it is pasting a load (let's for the moment say cubes) together, it is easy to delete the hidden faces where they touch (and merge edges/verts and delete any orphaned ones), and...

ii) this is the data I need to apply a subdivision surface algorithm, which will enable me to tag verts and edges to be smooth or sharp, giving me (near) spheres, cylinders, cylinders with right-angle bends and so on...

A really simple Godot scene containing just the axes and a grey unit-cube at the origin...
2024-10-29

First sampling run of the #Rogue (-ish) room generation algorithm. This ASCII diagram shows the proportion of samples that each square on the map is occupied by a room (including walls). For example, 6 = 60-70% of samples, 0 = less than 10%.

13.125 seconds for 1m samples gives an estimated time of 15.7 hours to sweep the whole 32-bit space of possible seeds. Totally doable, and not even parallelized yet.

#ProceduralContentGeneration #ExpressiveRangeAnalysis

2024-10-26

The original Rogue level algorithm picks a width for each room between 4 and 25, and a height between 4 and 7.

Ignoring "gone" rooms, that gives 22^9 * 4^9 possibilities with only a 32-bit seed. So some combinations of rooms must be impossible! How does the subspace of rooms produced by the limited seed space compare with the theoretical distribution if rnd() was really random?

Weekend project, maybe? I have been thinking ever since #RoguelikeCelebration about how small RNG seeds (or poor PRNG algorithms) limit the expressive range of PCG in ways that might be unexpected.

#ProceduralContentGeneration #PseudoRandom #Rogue

2023-08-02

not that the world really needs more computer science conferences, but i keep wondering if there’s appetite for one focused on procedural generation/generative computation, i.e. the union of PCG, generative art, program synthesis, &c.

mostly, it would really help to have a name for this field that people don’t mistake for consisting entirely of text2image statistical models

#generativeArt #genartclub #generativeAI #procgen #proceduralcontentgeneration #programsynthesis #logicprogramming

2023-01-28

Experimenting with generating procedural geometry using Voronoi polyhedra in real time...

One of the colours of block is also smooth-shaded, just to show that can be controlled. What this ultimately needs is some seriously funky shaders attaching, but that's not really a priority ATM.

Up to 50-odd polyhedra doesn't seem to strain the generation system, but I need to scale it up to 1000s and and see how slow it gets. I probably will ultimately need a spatial subdivision. I wonder if Unity's own scene graph would cover that efficiently, or I need to roll my own...?

#procedural #unity #proceduralcontentgeneration #voronoi #delaunay

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst