Saturday, December 6, 2008

The Evil, Insane Killer Distance Table

What have I been doing lately? I had my doubts about going into this, as it definitely defines one of my crazier views on what comprises D&D, but what the hell. If you're going to read this blog, you might as well have the whole picture.

Here is the whole picture:

The purpose for this flow chart, which vaguely resembles central Eurasia, is forthcoming. First, I recognize that it is none-too-clear. It has been processed twice, once from Publisher to JPeg, then onto the Blogspot it is naturally a mess. A slightly clearer version can be downloaded here, where at least you can read the names.

If you know nothing about my trade tables, and you care to know, I suggest you search "trade" on this blog and go through some of my earlier posts. In the meantime, I'll give a quick description:

Individual regions produce a given amount of product; this product is collected in "trade cities," which are represented on this chart. The distribution of the products once they are produced and gathered together at their export points (trade cities) is dependent on the distance these cities are from each other. What I have been working on, painfully slowly, these last two weeks is a complete distance table which would identify the distance of every city from every other city. Fun, eh? I'm not close to finished, and I won't be for far longer than I like to think about.

Two immediate problems. First, I have not made any specifications for production trade cities for Western Europe, most of Africa, India, East Asia or the New World. This would seem like a problem. However, since I can't wait until that stage of the process is completed (it has taken me five years to get to where I am now, which isn't bad, considering), I am forced to estimate the distances to those areas and basically ignore any portions I have not done. For example, while I don't know the trade cities for India, China, Indochina or Western Europe, I do know how much product those regions produce. Whereas for most of Africa, the East Indies and the New World, I have nothing. Haven't even started working on those. C'est la vie.

You will note that there are only a few sea distances noted on the chart. Sorry. These just don't work out on the table. I use the maps that I've made (you've seen some of those maps, hopefully) to establish the number of hexes between ports. Since ships can virtually travel in any direction, it isn't worth it to note all the possible existing relationships. Those which are noted are those which are important to Central Europe, where my party is and where I am concentrating on for the distance table.

You may also note there are rivers, which have two numbers associated with them. The first, lower number is the distance downriver, with the current; the second, is the distance upriver. This makes the table more interesting, as the difference can decide which path a particular trade route takes. It also means that I can't simply assume the distance between A and B is the same as between B and A. I have considered simplifying this and averaging the two distances, but...well, I'm nuts. I like the irregularity.

All told there are more than 400 cities indicated on the chart. I have no program or programming ability to enter the individual distances and have a computer find the shortest distance, although I know this is possible. Sadly, I'm deficient in this regard. So if any nerd has an idea how to make this process shorter, so that I don't have to calculate each and every distance by fucking hand...grumble, grumble...I would like it.

Oh, there are some interesting points on the table, for anyone nerdy enough to really have a close look. For example, they might see that the river which flows through Kiyev--the Dneiper River--inexplicably becomes a road between Kremenchuk and Khortytsia. This is because, up until the 20th century, this part of the Dneiper was not navigable, which served to make the Ukraine somewhat backward, and helps explain why historically there was little foreign control over the various hetman tribes which dwelt in the lower Dneiper Valley; also, why the Tatars consistently controlled the Crimea and the Sea of Azov so long. Goods shipped to Kiev tended to go westward, up the Pripet River to where they could be moved to the Bug and the Vistula, and floated down to the Baltic, rather than south to the Black Sea. The main passage between the middle east and central Russia was through the Caspian, to Astrakhan and up the Volga. I should also point out that Smolensk, the point of highest navigation for the Dneiper, was more often in Polish hands than in was less practical for Russia to trade from the Dneiper than it was for the Poles.


  1. I started building a website around your tables and ideas about two months ago. I need to finish building an interface and user database before I can actually get into the meat and potatoes of the map.

    Distances will be calculated automatically by Google Maps and plotted accordingly. I'm not sure if I can plot distances via water, nor am I sure if I can calculate up stream / down stream using Google Maps alone, but if that information is out there I can probably tie into it.

    If you can be patient with my schedule I should have this project ready for testing on a world wide scale and tied into your tables by March~ish.

  2. "Distances will be calculated automatically by Google Maps"

    I'm sorry, Strix. I see four definite problems with the system you suggest.

    a) My world takes place in 1650, not in the present day. Many of the trade routes which are employed are those which were possible by 17th century standards, and as such don't include many of the canals or roads which Google Maps would employ, even if you could indicate present shipping routes. Because there is no Suez, for example, the shortest distance between Constantinople and Baghdad is through the Mediterranean and Alexandretta, not along the Orient Express' old Berlin-to-Baghdad route, which passes through Constantinople and over the Tarsus Mts.

    b) Because this is 1650, many cities simply don't exist. Two which come to mind immediately are St. Petersburg, which was founded by Peter the Great some 60 years after my world, and Bremerhaven in northern Germany. There are many others. As such, all routes dependent on these cities and their ports would be inaccurate. Also, there are many rivers which do not have bridges and not been dammed (though Google Maps would indicate that they were), and are in 1650 major obstacles over which trade does not travel.

    c) The distances shown on my distance map do not only account for the actual straight line distance between any two cities, but also for their elevations. Because dragging a wagon is not the same as driving a car, the distance UP or DOWN is as relevant--more relevant, when it comes to passes--than the actual distance. For example, it was quite typical for a caravan to take six or seven days to travel a straight line distance of 10 miles in order to climb a single pass. This is why places like the Brenner Pass in Austria and the Khyber Pass were so important militarily...they weren't the only passes through their particular range, but they were the most accessible, and could save weeks off additional travel times.

    Also, the figures indicated on the distance map include fees for crossing borders and tolls for rivers. Google Maps would be utterly unable to reproduce these modifications, which also affect the way in which goods move.

    I appreciate the thought and the suggestion, but this has already been long thought out by me. I considered similar options to that you suggest, and earlier systems I designed in the 1990s included those. However, I came to believe that too much simplification did not reflect the interesting truisms that I am discovering as my system works itself out (the importance of Novgorod, the reason so many cities along the Dalmatian coast were all successful trade ports--they are all equidistant from Northern Germany on account of the Danube--and the dominant naval position of Rhodes, just to name three).

  3. We should have a conversation and a pint or two.

    The API is a lot more extensible from a developers perspective than I think you know. For example, the GEOS satellites, even their earliest incarnations, had elevation channels. Uphill/downhill is easy.

    An interesting thing about the Google Maps API that you may not know is that you can feed it your own data for roads, towns, markets, etc... you can even feed it an entire map of your own design if you like. For example, if someone had a nicely detailed map of East Asia to Western Europe around 1650 I can plug it into the API and wrap a user interface around it.

    Weather, however, that's an issue I haven't solved yet.


If you wish to leave a comment on this blog, contact with a direct message. Comments, agreed upon by reader and author, are published every Saturday.

Note: Only a member of this blog may post a comment.