A square rotating around a single vertex, recorded step-by-step
https://youtube.com/shorts/CPXI3ZM6vQw
https://redd.it/1u5vl69
@proceduralgeneration
https://youtube.com/shorts/CPXI3ZM6vQw
https://redd.it/1u5vl69
@proceduralgeneration
YouTube
What happens when squares keep rotating ? 🌈 #geometry
One square. Then another, rotated by 3°. Then 120 more.Watch a sim...
Why I built a deterministic, data-driven engine that compiles Natural Language into bit-identical geometry
Most generative graphics tools today rely on probabilistic AI models. They are creative, but they are messy. You can’t recreate a scene exactly, and the outputs are often unpredictable.
I wanted the opposite: **Total, bit-identical determinism.**
I’ve spent the last months building **GAP+** (Geometric Architecture Parametrics), a system where natural language inputs compile to verifiable geometry through a strictly deterministic pipeline. No AI, no dependencies, no floating-point drift.
# The Architecture: "Objects are Data, not Code"
I moved away from hardcoded Rust strings. The pipeline is now:
1. **Natural Language Input:** `geotool nl "a stone tower"`
2. **Thin Loader:** Parses modifiers and selects a template.
3. **GAP+ Template:** A parametric `.gap` file (pure data).
4. **Compiler:** Expands `include`, `repeat`, and `let` declarations.
5. **Geokern Engine:** Executes the operations to output a **Merkle Hash** that proves the scene's geometry.
# Why this is different (The "World-Class" Checklist)
* **Cross-Platform Determinism:** By using a golden-root test matrix (Linux, Windows, macOS), every scene hash is validated. If the macOS output differs by a single bit from the Linux output, the CI fails.
* **No-Recompile Workflow:** I can add a complex object (like an obelisk) by adding one `.gap` data file and one TSV registry line. The engine doesn't even know what an "obelisk" is—it just executes the parameters.
* **Zero-Warning Policy:** The codebase enforces strict `clippy` lints and standard formatting via CI. If it doesn't build perfectly, it doesn't get merged.
# The Proof
Here is a physically based render of a gold sphere generated by this pipeline:
`sphere a0 2 48` `pbr a0 0.90 0.55 0.30 1.0 0.18 0.5`
# Why this matters
This isn't just about rendering spheres. It’s about building a **Foundation for Procedural Worlds** where you can mathematically prove the state of your environment across any hardware.
I've just open-sourced the framework, and I'm looking for feedback on the architecture—specifically on how to handle compositional grammar (e.g., "a vase on a table") within a purely deterministic system.
You can check out the source, the golden-root test suite, and the engine internals here:
[https://github.com/MerlijnW70/gap](https://github.com/MerlijnW70/gap)
https://preview.redd.it/rzkf9qkqvb7h1.png?width=1280&format=png&auto=webp&s=c092900458c44c0a849d736a031dcbea7c367c0c
https://redd.it/1u5zczk
@proceduralgeneration
Most generative graphics tools today rely on probabilistic AI models. They are creative, but they are messy. You can’t recreate a scene exactly, and the outputs are often unpredictable.
I wanted the opposite: **Total, bit-identical determinism.**
I’ve spent the last months building **GAP+** (Geometric Architecture Parametrics), a system where natural language inputs compile to verifiable geometry through a strictly deterministic pipeline. No AI, no dependencies, no floating-point drift.
# The Architecture: "Objects are Data, not Code"
I moved away from hardcoded Rust strings. The pipeline is now:
1. **Natural Language Input:** `geotool nl "a stone tower"`
2. **Thin Loader:** Parses modifiers and selects a template.
3. **GAP+ Template:** A parametric `.gap` file (pure data).
4. **Compiler:** Expands `include`, `repeat`, and `let` declarations.
5. **Geokern Engine:** Executes the operations to output a **Merkle Hash** that proves the scene's geometry.
# Why this is different (The "World-Class" Checklist)
* **Cross-Platform Determinism:** By using a golden-root test matrix (Linux, Windows, macOS), every scene hash is validated. If the macOS output differs by a single bit from the Linux output, the CI fails.
* **No-Recompile Workflow:** I can add a complex object (like an obelisk) by adding one `.gap` data file and one TSV registry line. The engine doesn't even know what an "obelisk" is—it just executes the parameters.
* **Zero-Warning Policy:** The codebase enforces strict `clippy` lints and standard formatting via CI. If it doesn't build perfectly, it doesn't get merged.
# The Proof
Here is a physically based render of a gold sphere generated by this pipeline:
`sphere a0 2 48` `pbr a0 0.90 0.55 0.30 1.0 0.18 0.5`
# Why this matters
This isn't just about rendering spheres. It’s about building a **Foundation for Procedural Worlds** where you can mathematically prove the state of your environment across any hardware.
I've just open-sourced the framework, and I'm looking for feedback on the architecture—specifically on how to handle compositional grammar (e.g., "a vase on a table") within a purely deterministic system.
You can check out the source, the golden-root test suite, and the engine internals here:
[https://github.com/MerlijnW70/gap](https://github.com/MerlijnW70/gap)
https://preview.redd.it/rzkf9qkqvb7h1.png?width=1280&format=png&auto=webp&s=c092900458c44c0a849d736a031dcbea7c367c0c
https://redd.it/1u5zczk
@proceduralgeneration
GitHub
GitHub - MerlijnW70/gap: Deterministic procedural geometry engine — describe a 3D scene as ops, prove each obeys the laws of solid…
Deterministic procedural geometry engine — describe a 3D scene as ops, prove each obeys the laws of solid geometry, path-trace it, and get a bit-reproducible Merkle root that's identical on...
This media is not supported in your browser
VIEW IN TELEGRAM
Tectonic plate movement simulation with voronoi convection zones and texture-pixel layer as the simulation particles with reintegration tracking.
https://redd.it/1u6d6lh
@proceduralgeneration
https://redd.it/1u6d6lh
@proceduralgeneration
OpenGL - textured grass experiments
https://youtu.be/ZXMMGey8MY8
https://redd.it/1u6jglh
@proceduralgeneration
https://youtu.be/ZXMMGey8MY8
https://redd.it/1u6jglh
@proceduralgeneration
YouTube
OpenGL - textured grass experiments
NOTE: As can be seen, the grass disappears at distance. I should probably use alpha-to-coverage or mipmap alpha correction to address this issue. It is likely related to mipmap generation: lower-resolution mip levels average alpha values together, causing…
Media is too big
VIEW IN TELEGRAM
Age of Empires inspired me to make an RTS with randomly generated maps. What makes procedural maps feel memorable?
https://redd.it/1u6n33y
@proceduralgeneration
https://redd.it/1u6n33y
@proceduralgeneration
Finally made an Infinite Lands tutorial! Starting a procedural island series
https://youtu.be/sQ_8l8Lr3WA
https://redd.it/1u6ne7j
@proceduralgeneration
https://youtu.be/sQ_8l8Lr3WA
https://redd.it/1u6ne7j
@proceduralgeneration
YouTube
How to build Procedural Terrain with Infinite Lands in Unity3D
Have you ever wanted to create your own procedural world with Infinite Lands? In this first episode of the series, we'll start by building the foundation of an island world and generating the terrain.
Whether you're making games or experimenting with procedural…
Whether you're making games or experimenting with procedural…
Valheim-inspired fully procedural fantasy world
https://www.youtube.com/watch?v=2_Qn1pklQCU
https://redd.it/1u6y3lz
@proceduralgeneration
https://www.youtube.com/watch?v=2_Qn1pklQCU
https://redd.it/1u6y3lz
@proceduralgeneration
YouTube
TotB - Prototype 4
A fully procedural 20km world. No texture assets, no pre-made meshes. Features: seeded deterministic generation; day/night cycle; weather; shadows; client/server model; 11+ biomes using a hybrid temperature/humidity/altitude model.
❤1
Quick open source prototype to validate continuous LOD decimation for Surface Nets voxel terrain
https://redd.it/1u70ti4
@proceduralgeneration
https://redd.it/1u70ti4
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit: Quick open source prototype to validate continuous LOD decimation for Surface…
Explore this post and more from the proceduralgeneration community
Pixel Theory, I'm looking for feedback on a static universe VSL model
/r/LLMPhysics/comments/1u4r55k/pixel_theory_im_looking_for_feedback_on_a_static/
https://redd.it/1u75eme
@proceduralgeneration
/r/LLMPhysics/comments/1u4r55k/pixel_theory_im_looking_for_feedback_on_a_static/
https://redd.it/1u75eme
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit: Pixel Theory, I'm looking for feedback on a static universe VSL model
Posted by AffectionateAge4420 - 1 vote and 0 comments
Media is too big
VIEW IN TELEGRAM
I solved a 145-second chunk loading problem. It took two completely unrelated fixes.
https://redd.it/1tvm67n
@proceduralgeneration
https://redd.it/1tvm67n
@proceduralgeneration
Help with mesh generation
https://preview.redd.it/425mcxxh6o7h1.png?width=806&format=png&auto=webp&s=2c37696415de0814c09747c64b478cd7dedfece4
I'm trying to make a procedural planet, but I can't seem to figure out how to get rid of this weird shading, You can see the individual quads and triangles. The quad diagonal is light and the sides of the quads are dark.
I'm doing this in Unity with a compute shader where I calculate normals with Finite Difference Sampling, but the issue prevails when I just use Unity's "RecalculateNormals" method.
https://redd.it/1u7i8y7
@proceduralgeneration
https://preview.redd.it/425mcxxh6o7h1.png?width=806&format=png&auto=webp&s=2c37696415de0814c09747c64b478cd7dedfece4
I'm trying to make a procedural planet, but I can't seem to figure out how to get rid of this weird shading, You can see the individual quads and triangles. The quad diagonal is light and the sides of the quads are dark.
I'm doing this in Unity with a compute shader where I calculate normals with Finite Difference Sampling, but the issue prevails when I just use Unity's "RecalculateNormals" method.
https://redd.it/1u7i8y7
@proceduralgeneration
Plate-tectonics simulation on a spherical grid world in Godot.
https://redd.it/1u7mhul
@proceduralgeneration
https://redd.it/1u7mhul
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit: Plate-tectonics simulation on a spherical grid world in Godot.
Explore this post and more from the proceduralgeneration community
A learned, continuous control that erodes typed speech into wordless glossolalia, same voice the whole way
Not a DSP effect, it's lexical resynthesis from typed input: read a sentence you just invented and erode specific words into plausible others while holding syllable count, stress, and voice fixed across the slide. One dial, clean at 0, wordless tongues at 4, with a deterministic real-word-mishearing mode alongside. Type something, drag to 4, listen: https://huggingface.co/spaces/akshan-main/glossolalia .
https://redd.it/1u7o0f9
@proceduralgeneration
Not a DSP effect, it's lexical resynthesis from typed input: read a sentence you just invented and erode specific words into plausible others while holding syllable count, stress, and voice fixed across the slide. One dial, clean at 0, wordless tongues at 4, with a deterministic real-word-mishearing mode alongside. Type something, drag to 4, listen: https://huggingface.co/spaces/akshan-main/glossolalia .
https://redd.it/1u7o0f9
@proceduralgeneration
huggingface.co
Glossolalia Dial - a Hugging Face Space by akshan-main
Convert clear speech to glossolalia or mondegreen
The Orani Prism Update - Massive UI Overhaul and Codework
https://the-orani-group.itch.io/the-orani-prism-demo
Hello everyone,
Quick reminder as to what The Orani Prism is: it’s a deterministic non-llm settlement generator that starts with a group of settlers and simulates growth over time until desired population or time amount has reached. It provides NPC with full OGL stats complete with historical memory through events the NPC has been a part of, as well as Big 5 psychological biases. Quests, hooks, rumors, secrets, are all generated from the engagement of NPCs and events as time progresses. Used for quick throwaway locations when you need a location with people for whatever reason.
This week I’ve been doing a lot of spring cleaning with my code. Ensuring everything is tied up where it’s supposed to be, making sure results are appropriate. I’ve also done little add-ons here and there so be sure to read the devlogs for more detail.
But more than that, I’ve majorly overhauled the UI and the user experience to try and make it flow better. For those of you who have used the Prism before, how do you like the changes? If this is your first time, does it flow well for you?
As always, a question for the Actors and Bards:
Actors: What is the best way to convey sensory experience in a format like this? How best would want conveyed sights, sounds, smells, and so on? Would you like it more in a narrative style? Bullet point? The Actor’s Sides are your you, and I want to make the settlement feel alive the way you want.
Bards: I provide you with a gigantic mountain of information. What information is most important for you? What holds the highest priority of order/accessibility? What kinds of demographic or sorting information do you need insight on?
Thank you for your time, see you at the table.
\-The Orani Group
https://redd.it/1u7oxe5
@proceduralgeneration
https://the-orani-group.itch.io/the-orani-prism-demo
Hello everyone,
Quick reminder as to what The Orani Prism is: it’s a deterministic non-llm settlement generator that starts with a group of settlers and simulates growth over time until desired population or time amount has reached. It provides NPC with full OGL stats complete with historical memory through events the NPC has been a part of, as well as Big 5 psychological biases. Quests, hooks, rumors, secrets, are all generated from the engagement of NPCs and events as time progresses. Used for quick throwaway locations when you need a location with people for whatever reason.
This week I’ve been doing a lot of spring cleaning with my code. Ensuring everything is tied up where it’s supposed to be, making sure results are appropriate. I’ve also done little add-ons here and there so be sure to read the devlogs for more detail.
But more than that, I’ve majorly overhauled the UI and the user experience to try and make it flow better. For those of you who have used the Prism before, how do you like the changes? If this is your first time, does it flow well for you?
As always, a question for the Actors and Bards:
Actors: What is the best way to convey sensory experience in a format like this? How best would want conveyed sights, sounds, smells, and so on? Would you like it more in a narrative style? Bullet point? The Actor’s Sides are your you, and I want to make the settlement feel alive the way you want.
Bards: I provide you with a gigantic mountain of information. What information is most important for you? What holds the highest priority of order/accessibility? What kinds of demographic or sorting information do you need insight on?
Thank you for your time, see you at the table.
\-The Orani Group
https://redd.it/1u7oxe5
@proceduralgeneration
itch.io
The Orani Prism - Demo by The Orani Group
A first look into how the Actor’s Sides, Bard’s Screenplay, and Playwright’s Globe generators work. Play in your browser