Tuesday, January 31, 2023

Infrastructure Experimentation

One of the nice things about calculating the distribution of infrastructure automatically is that I can try varying the parameters many different ways and seeing the effects quite quickly. It also means that I occasionally screw things up as I did a few weeks ago when I somehow stopped propagating infrastructure across the 18-mile hexes, leaving only the infrastructure points contributed by the settlements within them to define the 6-mile hex types. It created a very wild island which seemed like what I was looking for, though once I started looking into trade routes I realized my error.

This post is part of a series describing the procedural distribution of infrastructure and facilities in a pseudo-medieval TTRPG setting. If the reader hasn't read the prior posts, may I suggest starting here and reading in advancing chronological order?

This is what the result I had shown a few weeks ago should have looked like using a 12-mile radius or 120m elevation change to halve the infrastructure points propagated from a settlement's hex to others.

I'm interested to see what other parameter choices do here, so in this short post I'll run the program with a variety of these and show the results.

Here is the result when the influence of elevation is increased so that it takes only 60m of change to halve the infrastructure points or the same 12 miles of distance.


Going in the other direction, that is increasing the influence of distance instead of elevation change, where 120m of elevation or only 9 miles of distance halves the infrastructure.

Further restricting infrastructure to halve at only 6 miles or 90m of elevation change makes civilization sparser still.

Even this level of restriction on civilization is not wildly different from the 12-mile/120m configuration, but it introduces just a little more crossing of the wilds to get between some of the settlements and definitely has a more dangerous feel.

All of this playing with numbers is silly, if it isn't clear what it's really representing. What this comes down to is travel time by foot since the general populace is largely restricted to that mode of transport for routine and emergency travel. The notable settlements are the largest, safest bastions of civilization on the island. The places people would escape the countryside for in the case of an invasion, perhaps.

On level, easy ground a peasant could probably make 12 miles in a 4 hour period if he didn't try to haul too much. Scottish mountaineer William Naismith devised a rule for planning hiking expeditions which indicates one should allow 1 hour for every 3 miles on the map, and an additional hour for every 2000' of elevation gain. There have been refinements and embellishments to the rule account for both uphill and downhill speeds as well as the fitness of the hiker and overall duration. After going down a few rabbit holes in this vein, I finally concluded that regardless of what figures I use for infrastructure "half-life," the ratio of distance to elevation change should be 3 miles to 1000' in order for those factors to influence infrastructure spread accounting for animal-powered machines being used rather than hikers in most cases. One might make the argument that lower-level infrastructure, like trails, which can handle elevation change more easily than wheeled vehicles could spread at a less elevation-sensitive rate and more distance-sensitive rate, but that level of care exceeds the precision of how infrastructure points will be applied.

Finally, here is where all this experimentation has landed. This is a population density view with the notable settlements shown.




 



Tuesday, January 10, 2023

Infrastructure Details

This post is part of a series describing the procedural distribution of infrastructure and facilities in a pseudo-medieval TTRPG setting. If the reader hasn't read the prior posts, may I suggest starting here and reading in advancing chronological order?

Having settled on how to distribute infrastructure points spreading from the notable population centers, the next step I'm taking (note that Alexis determines routes next, but I'm deferring that step for the moment) is to determine the specific facilities supported or provided by those. Following Alexis' method that requires determining whether each 6-mile hex is predominantly being cultivated or mined. Or is simply wild.

The hex type solves most of that question. Any type 8 hex is simply wild rather than exploited. Hexes of types 1 to 4 are highly developed and therefore classified as cultivated. It's only hexes of type 5, 6, and 7 which require more careful examination. The criteria for a mined hex is that those which "occur in mountains and other rocky places that are plainly non-arable are designated as mined." Since I'm making this determination automatically, I'll need to come up with a way to programmatically determine "plainly non-arable." In the case I'm working with here, the entire land is wet enough to be arable, but it's a question of soil quality and till-ability that I need to answer. I don't have soil quality data readily available and I think that examining contour lines to make a determination about the hilliness of the land might be an adequate criterion.

After settling on a definition for "too hilly to comfortably farm" of more than 30 10m contour lines occurring within the hex and an elevation difference of greater than 300m between the highest and the lowest, the program has produced what looks like a reasonable designation for the hexes between wild, cultivated, and mined.

At the same time, I've had the program calculate the "number of hammers," an indication of the facilities present in the hex when considered in conjunction with the hex type. This required, besides knowing whether the hex is predominantly cultivated or mined, whether a river of sufficient size passes through the hex, and whether any notable settlements are situated within the hex.

Likewise, I added the computation for the "number of coins," describing the level and types of commercial activity occurring in the hex, again taken in conjunction with the hex type. This calculation examines another type of hex exploitation type besides mining and cultivating: oasis. I've taken the liberty of ignoring this for the moment since that type of exploitation does not occur at all in the bit of land I'm working on at the moment. I've also forgone the coastal coin bonus for the moment.

Here's a section of the results. The large, red hex outlines are the 18-mile hexes. The six-mile hexes are labelled with Roman numerals indicating their type (except VIII is ignored), the number of hammers in the hex is indicated by the red number, coins by the yellow, and whether the hex is wild, cultivated, or mined by the white, green, or orange background, respectively. The contour lines and rivers are included for reference.

An overview of the entire island shows how few hexes are designated as predominantly mined and that these are all at the edges of civilized territory.

A note about my technique. The reader has no doubt noticed that the pictures of maps I include here vary in style and appearance. I'm able to show this geographic information in a variety of ways very easily because I'm working with a vector representation of the data. That is to say, these hexes are not stored as dots of colors in a Cartesian plane, but as geometry described in geodetic coordinates on Earth's oblate spheroid. The hex types, hammer counts, population, and so on are data associated with each settlement point, or each 18-mile hex, or each 6-mile hex and I can easily swap which bits of information are used to colorize, symbolize, and label these entities. It also makes it extremely easy for me to analyze and manipulate the information. Most of this manipulation I do in programs that I write in C# using shape file manipulation code that I have written for myself. For the drawing, however, and some of the data conversion tasks (like deriving contour lines from the USGS SRTM data) I use QGIS.

Still yet to do is adding in the coastal coin bonus calculation, calculating advanced facilities for settlements, listing the specific facilities, designating non-notable settlements, and describing the routes and roads.