In this screenshot you can see a randomly generated terrain which is using only three terrain types (fields, beaches, and mountains). Right now, these are entirely randomly generated, but the process being used here should work exactly the same if a human was specifying the terrain.
My work for tomorrow will be to make this terrain generation system work for interactively placed terrain, instead of only for randomly pre-generated terrain. I don’t expect that to be particularly tricky, but there will be a lot of grunt work involved; this new approach to building the terrain really turns a lot of my existing code upside-down.
Below, I’ve included a gallery of bugs that I ran into while developing this. Note that partway into the gallery, the terrain starts turning lurid bright shades — those are denoting different simulated terrain styles, for the sake of visualisation. My intention throughout was to have smooth transitions between those different (imagined) terrain types, without turning everything into a muddy mess so that each terrain type remained visually distinct.
As you can see, that didn’t always go entirely according to plan. I did get there in the end, though.
I really need to create a lot more terrain types, and more variation within the terrain types which already exist — some of those more vivid colors in the debugging shots look quite nice, I think.