For a while now I’ve been wanting to rework the terrain magic tool, and I’ve finally found time to improve the tool’s usability, functionality, and performance.
Noisemaker
I’ve changed the name from Terrain (or Map) Magic to Noisemaker – more straightforward and should be less confusing to differentiate from the Terrain Wizard.
Now, each noise pattern selector animates to preview how the pattern looks. And, I added an optional overlay on the map that displays the active pattern.
The parameters are largely the same as before, but with additional text context instead of just icons. I also added a toggle to invert the active pattern’s colors.
And, like the image wizard, the noisemaker provides two resizable draggable areas, one for the active area and another for the full generation area. The full area determines how big the texture is and the system generates elevation/plants only within the bounds of the active area.
Backend Improvements
My primary focus for this update was to rework and optimize the backend system for reading texture data and using it to create elevation or spawn plants. I had previously disabled the functionality that enabled plant spawning since it wasn’t very performant.
I spent a lot of time figuring out the best way to distribute plants based on their size and on the color value of the texture at any given location/time. Parameterizing the system to control plant density and color cutoff was a bit of a headache, but I’m very happy with the result!
One thing to note about the Canopy Cover option, is that the system works one of two ways:
- If you have a palette selected, the system uses all plants from that palette.
- If you do not have a palette selected, the system chooses randomly from all plant assts
State Logging
Previously, one of the downfalls of the Noisemaker was that you could not undo anything you made, which was problematic. It’s not so fun to experiment with a tool that could dramatically change your map if you can’t undo the changes!
In this update I added map state logging so that the blocks and plants are cached when you press play, and the changes are logged when you hit pause. This way you can make as much noise as you want and then revert changes if you need to.
Polish
-
Fixed a bug that prevented certain model file types from importing.
-
Fixed a bug where a blank settings file would not allow the application to start.
Enjoy!
-Bradley
Changed files in this update