Tuesday, July 13, 2021

Rethinking my world-mapping...

The average heights map didn't go so well and I finally got it working, low resolution… and even at that, it takes forever!!! So I had an epiphany; I’ve been trying to do this for years and doing it badly. I need to revisit my assumptions and figure out how to make good, useful, world maps!


For more than thirty years I’ve been using an article by SF author John Barnes on SF world-building with which to go about this and his goals are only vaguely the same as my own. He was looking for habitable/easily terraformed worlds with one or more good colony sites of about 1 million km^2 of arable temperate land. I suppose I am, but I am creating and drawing world maps to a 520 by 260 pixel canvas. At that resolution and assuming an average Earth circumference of 40,000 km, each pixel is 77 km tall and wide at the equator, going down to 0 km wide at the poles, where each pixel is a skinny triangle. That’s also over 130,000 pixels, which is an awful lot to ask of html and javascript… not that I really care, it just takes unacceptable amounts of time to create a map and manipulate things at a level of detail which I don’t need, at least at first.


I’ve tried to get around this with voronoi cells and subdividing the surface into irregular polygons, all of which have their own issues. I need landmass and seas with quick, interesting, fractal borders, which is why I try triangles and triangle fans a lot. I was looking at lazy flood fill as well and I had done something similar but much less efficient before. I can see using voronoi cells, finding the border pixels and swapping things around to make the edges more random, even using the border pixels to build up mountain ranges. Sort pixels by voronoi cites, add up their areas based on circumference and latitude and start apportioning up land and sea by the voronoi cells and the amount of land and sea I need.


What I neglected to mention is that because I’m looking for m. km^2 colony sites I’m looking at things at a resolution of 1,000 km, which would be quads 13 pixels across in a grid of 20 high by 40 wide, which never felt right. At that resolution we can’t see mountain ranges and river basins, but we could an order of magnitude better at 77 km/pixel.


This is an area of about six thousand km^2, the size of a small state or country. There would be over a hundred of these in a ‘good’ colony site of 1 m. km^2, but John Barnes references Ukraine, France and Texas, all of which are less than that, hundreds of thousands, but still big enough and have the resources they need for their own working economies. A pixel’s worth of surface area, at least at the higher end with six thousand km^2 of area, is barely big enough to be a city or nation state with such a working economy.


No comments:

Post a Comment