Still Here
I started at a new company, got very busy very quickly.
Today is the first time in 5 months that I have looked at any of the repos again. I have cloned them all again! I am not going to think any big pushes will come over the next week(s), but I do intend to keep looking/poking at this. The goal of the drunk driving simulator is somewhat still alive.
What is actually there
What I did actually create:
- tree-generator: procedural species with LODs, biomes and grass cover, the thing behind the trees demo
- road-generator: a Rust core compiled to WASM that turns a drawn network into road surfaces, junctions, sidewalks, markings and lane connections
- settlement-generator: hamlets through small cities, road hierarchy, lots, land use, building footprints
- building-generator: facades, massing, roofs, materials, props on the plot
- prop-generator: about fifty procedural props (traffic signs, street furniture, barriers, utilities, industrial) shared across the others
- genesis-v2: the actual world generator, an eight phase planet pipeline with regional refinement on top
Only the first 2 are currently available, the rest is not in a state to show off yet.
What is next
Two things, in order.
First, I want to polish up the street/tree builders a bit, there are some problems with them I looked at and want to fix before continuing.
Second, release the rest of the features, this will take longer since some of them are in quite bad shape for the overall goal.
Some of the design decisions I took early on were not good, and undoing them is real work. The settlement generator is the clearest case. I ended up with three separate algorithms glued together, one for hamlets, one for villages, one for towns, that do not compose with each other. Population feeding into buildings was wired in such a way that adding people could produce fewer houses. There was no real concept of a town center, so towns came out as uniform sprawl with no legible middle.
The building generator is in a similar spot. Its last commit is literally called "last changes before rewrite" xd.
Props are my favourite example of the same mistake in a smaller form. I first built them as TypeScript geometry inside the genesis frontend, then later realised every generator wanted them, and started a separate Rust crate for the same thing. So now there are two prop systems and one of them has to die.
About the AI part
The whole point of this project, from day one, was to use AI-assisted coding as much as I possibly could and see how far that goes. It went far but it has become clear that the structural changes will require more carefull planning, and not just ad hoc prompting.
More soon, probably slowly.
a couple months late, but here is your blog post rik ;)