March 11, 2021

Detail VII: A Case Study I

The more work I have to get done in real life, the more my thoughts turn to working on The System. Particularly, I hadn't worked on the 1-mile generator in a while, and it was brought back to the front of my memory while proselytizing for the Higher Path recently. To try and refine a lot of that spaghetti, I decided to remake the area around my home into a (more) low-tech fantasy region.

Of course, Tao (Alexis) of the Higher Path bases his world on the late medieval/early Renaissance Old World. This side project will be similar, with the terrain and some of the demography based loosely in the "real world."

A major advantage of this project is that it makes the final product much more personal. At some level, a project based solely on imagined and random numbers has little soul - particularly in the development stage, where whole universes are destroyed and remade with a click. However, designing an alt-version of an area I'm intimately familiar with not only has soul, it has stakes. I've got real physical and spiritual blood in this land, and that naturally translates into greater care and eye for detail. If something is made up from whole cloth, there can be no accountability. These are places that I know personally - the decision to erase or augment them is felt more deeply.

To avoid totally doxxing myself (is anyone really anonymous online?), placenames will be concealed for now - and perhaps remade anyway to be more "fantasy."

I started with a 20-mile hex (20-hex hereafter) map of the whole State. Working from waterway and ecological maps, I assigned rivers and major vegetation types.

Normally, I would calculate hex-by-hex drainage for the river width. However, in the larger system I use, one 20-hex only drains to one other. In the real world, its commonplace for more than one river to flow through a single area of this size. It's over 364 square miles, of course. Instead, I used the Strahler number. The other advantage of using real waterways is that I can avoid the many issues I had with automatically placing rivers on the 1-hex maps. I had something that worked but it was kludgy, and hopefully I can return to it with more knowledge and a fresh brain in the future. Rivers can be manually input either way, and saved for future processing.

I'm a bit less strict on roads - since the modern era has roads criss-crossing every which way, I decided to preserve a handful of existing connections but largely rewrite the road network, and allow my algorithms to handle the internal road placement.

To determine settlement placement, I used only cities that were incorporated in the State by 1900. This cut the list down to 47. I use Alexis' infrastructure system to distribute infrastructure points, by dividing the 2010 population of each city by 10. This part made me very grateful for my code on the bigger map - doing this by hand was a chore. If I make any changes to the populations, I'm going to have to either do it all over again, or figure out how to apply the infrastructure algorithm I've already written to this subset of hexes.

But for now it is what it is. Road type and the presence of bridges or ferries (as opposed to simple fords) is determined by the infrastructure number, so its important to know.

My general plan for tackling and describing this project is as follows.

  • Quickly review the height algorithm. The area is best described as "flat and low," so we'll see if that generates any problems.
  • Refine the terrain assignment such that there is a "smooth" interpolation between 20-hexes of different terrain types. Like the height algorithm, discussed in previous posts, the ultimate goal here to create a distribution where the hex edge cannot readily be identified.
  • Because I'm working from a scale of 20 miles all the way down to 1 mile in a single step, I think I lose of some of the beauty of Alexis' working down to 6 miles and then to 2 miles. So I'll revisit the infrastructure assignment as well to try and beautify it. I'm not sure if the low infrastructure will help or hurt here but we'll see.
  • Once the settled/wilderness hexes are placed, roads and trails/tracks can be placed. There's always tweaking to be done when A* pathfinding is involved.
  • From there I'd like to consider types of features (of civilization) which could be placed based on waterways, settlement, and roads.
  • Lakes or coastlines. I may get to this one earlier; it's not as crucial since I'm manually placing these features.
As each piece of the puzzle is added, the gameability grows richer.

No comments:

Post a Comment