Lots of exciting progress since the mid-Nov update – here are some shots of the latest:
There's a lot of new stuff here, and some things exist but aren't visible yet. Notable additions:
- Completely changed how continents are being generated. My original plan was to double down on my plate tectonics-based approach, but it wasn't producing satisfying results, so I backtracked and did a bunch of reading on how to make terrain out of random noise (simplex noise, specifically). I also modified the generator so that the land never reaches the edges of the map because I think it looks better.
- Ocean depth shading. One side effect of the new continent generation process is that I have a better depth map for oceans, which allows me to do nicer-looking shading. Deep water is darker, and shallow water is lighter – including lakes!
- Rivers and biomes. The maps above don't demonstate rivers (bug?) but some maps have them – they're generated based on watersheds and always flow into other bodies of water. Biomes may be the bigggest unsung hero of this release because they're largely working behind the scenes. There are six biomes: tundra, boreal forest, temperate grasslands, temperate forests, desert, and rainforests. Forests are much more likely to grow in certain biomes, and people have strong preferences for building cities in certain biomes as well.
- Rendering place labels. City names are now visible on the map, but I still need to render mountain and lake names. I also added in some clever logic so that place name labels won't hang off the map or overlap with each other – see “New Jenouth” in the top right image for an example of a label repositioning itself to stay on the map.
- Improved color scheme though a number of design challenges still exist. I'm tempted to try a test print on this color scheme (vs the original black and white plan) to see how it looks. Beyond the color scheme, I need to make the lines less blocky and figure out how I want to render specific biomes…I think it'd be nice to get deserts and tundra to be visible at a minimum, but tree density does a decent job with the others.
Another really great, more technical accomplishment milestone is that I refactored the whole application into a series of plug-ins that operate (mostly) independently of each other. The two big benefits are (a) its much easier to improve individual pieces of the system without breaking others, and (b) adding new features is typically a matter of adding a new plugin which can build off of data generated by existing plugins. This has made it much easier to start improving the quality of individual systems without getting lost.
Not a ton of major features left to build, and I'm going to start learning more about producing the physical book while I finish out some of these.
- I still need to get some notion of cities sizes implemented. I've started this but haven't made meaningful progress, and I'm not going to worry about making it perfect. ‘Good enough’ is fine for this one.
- Print testing the current visuals. I know I want to make some improvements to the renderer, but I want to test this color scheme to see if it looks good on paper…my guess is there's still work to do tuning colors in addition to the more involved renderer improvements.
- A decent number of renderer quality improvements to improve the visual appearance of the map.
- I've got some friends on board to do some writing – woohoo!
If time allows I may add in road networks, but that's not “core” at this point.