World generation has had an overhaul. I wanted to improve tooling and workflow to let the developer design worlds rather than merely resorting to a procedural approach.
I'll overview the new design.
The primary concept is each aspect of world generation is broken out to it's own generator. Each of these then comes with the concept of biomes the player paints across the world and then tunable noise based generation systems to lay down consistent features. Plants get their own generator. Enemies get their own. Resources another. Terrain it's own.
Even soundscapes made their way into this new system. Letting me simply paint in where I want different environmental audio to play.
So oceans, have sandy tiles, palm trees, ocean sounds. While forests, have trees, and forest sounds with higher chances for dirt tiles, grass, and certain types of minable resources.
The system does include a bit of procedural generation. I didn't want to have to hand paint every tree which would mean constant rework as world surfaces are reworked over time. So instead you design a proc gen module for each type variaty you want of a particular generator. For example a 'pine forest' generator involves tuning a set of noise textures until the desired density, distribution can be seen.