Thursday 24 July 2014

How far can you see on a hex map?

One of the key aspects of wilderness geography is being able to assess the lay of the land.  This is one thing that the traditional, top-down way of representing geography doesn't say much about.

If you walk north west from Nivereen, you'll emerge from the forest and be greeted by a view of the mountains across the valley.


That view might look something like this:


Or does it? Can we actually see the mountains from there?  What about if we climb the jagged hills to the west of the forest spur?  How far can we see then?

How far is the horizon?

It turns out that the main obstacle to seeing faraway landforms - besides atmospheric interference like fog or rain - is the curvature of the earth.  A consequence of this is that the viewer's altitude is a key factor in how far they can see. (If you go high up enough that you're in space, for instance, you could see nearly half the planet!)

Wikipedia has a wonderful page on the horizon that gives us all the info we need.  The few equations we need aren't that complicated:

Distance to Horizon (miles) = 1.22 x sqrt( observer's height in feet )
Distance to Horizon (km) = 3.57 x sqrt ( viewer's height in meters )

For a hypothetical, 6' tall viewer, this puts the horizon around 3 miles.  (As Steamtunnel pointed out, this is one argument in favor of using 6-mile hexes: an adventurer in the middle of a hex could see right to its edges.)

A 6' tall adventurer standing on top of a 30' town wall, however, could see further, about 7 miles.  An adventurer at the edge of a plateau, 200' above the plains below, could see 17.5 miles - quite a bit further.

Seeing Faraway Tall Things

Most of the time our adventurers are not looking at flat, featureless plains. The more interesting question is stuff like: how far away can I see that tower?  Can I see the mountains?

It turns out the answer is unexpectedly simple: all you need to do is know the horizon distance for the viewer's altitude, the horizon distance for the target's altitude, and then add them together.

So if I'm on the town wall, and I want to know how far away I could see a 100' tall wizard's tower, the answer is:

1.22 x [ sqrt( 6' ) + sqrt( 100' ) ] = 15.2 miles

Now, this is the distance at which we could just barely see the very tip of the tower - we probably wouldn't be able to pick it out of the grass.  Let's say we need to be able to see at least half the tower to recognize it, that gives us:

1.22 x [ sqrt( 6' ) + sqrt( 50' ) ] = 11.6 miles

On a hex map of six miles, we'd be able to make out the tower a full 2 hexes away.

The Meaning of Altitude

A key point I've glossed over so far is how to work out 'altitude'. This isn't elevation above sea level, but the height above the prevailing terrain.  If you're on a plateau 2000' above sea level, that doesn't help you see further along the plateau.

Only add the plateau to your height if you're looking down off it. If you're looking along the plateau, it doesn't count (because it will be the earth-curved plateau itself that eventually prevents you seeing further).

A Linear Approximation

Now of course, taking square roots at the table while juggling all the other GM duties is too much to ask, but I have a simplification that works well enough for the distances we care about:

6 miles + 1 mile / 50' of height

So if you're on a 200' cliff, looking down across a plain to see a distant tower or mature forest (50' to its halfway point), you can see it 11 miles away.

From flat plains, foothills (say, 1000' tall, resolvable when you can see the top half - so 400') could be seen 14 miles away (8+6).

From that same vantage point, large mountains (6000' above the plains, 3000' to the midpoint) could be seen 66 miles away.

Flying on a griffin at migratory altitude (e.g. 5000'), you could see those same mountains from 166 miles away.  (At this point, most likely the limits of atmospheric clarity would be involved, even in very clear air.)

If you climb the tallest tree in the forest, putting you 10' above the canopy, you could see the top 50' of the strange rock spire formation (that protrudes 100' above the trees) from 8 miles away.  (The top of the trees, here, is the altitude baseline.)

A Simple Legend

To help during play, I might work out a simple legend for various terrain types on my hex map. This just takes the height divided by 50', then by my hex width to work out a "visible-distance contribution".

Here's a simple legend for a 12-mile hex map with five types of terrain:

Mountain Peaks (5000-6000'): 8 hexes
Mountain Slopes (2500'): 4 hexes
Foothills (1000'): 2 hexes
Treetops (100'): 0 hexes
Rolling Lowlands (15'): 0 hexes

To use this, work out the height of the viewer and the target over the prevailing terrain, add those together, and add a free half-hex.

In the foothills, looking across more foothills toward distant mountain slopes?  4.5 hexes  (8-4 + 0 + 1/2)

In the treetops, looking to see where the foothills start?  2.5 hexes (2 + 0 + 1/2)

If you're on a mountainous slope (4) looking out across a vast, rolling flood plain (0) to a massive mountain range on the far side, you could make out the peaks (8) from 12.5 hexes away.

Easy peasy!

4 comments:

  1. This is exactly what I'm trying to figure out but I honestly find most of the math in this post incomprehensible. I realize this is super old, but is it possible to explain the simplified version in an even more simple way?

    I'm not understanding why the 50' is involved, or why it's 6 miles + one mile. I've read this over so many times and I just can't figure it out.

    The examples don't seem to help cause the numbers are meaningless to me. Why is 50' the halfway point on the 200' cliff example? half point of what? to the tower? I feel really stupid but I'd love if there was a simple way for me to calculate this so I don't have to guess about it ever again.

    ReplyDelete
    Replies
    1. You're not missing anything, there are some gaps in the explanation.

      The 6 miles + 1 mile/50' formula is a replacement for the earlier formula. I didn't explain where it came from, I just experimented until I found a formula that was linear (since I can't do sqrt in my head) that was close enough to the answers from the other formula, in the range of scenarios that are likely to matter in most gaming. With airplanes or whatever it will become way off.

      Secondly, why didn't use the half heights of things? I skipped the explanation.

      The formulas in the post tell us at what point something "is visible", but this just means the point at which it -starts- to poke above the horizon.

      A 100' tower is level with the horizon when it is 8 miles away, but nobody will spot it then because the whole tower is still below the horizon. I figure people had a chance to see it once half of the tower is above the horizon.

      If you want a direct line of sight between the tops of two 100' towers (for a laser relay or whatever), you would use the full height. But if you want to -spot- something unknown, some of it has to be sticking out.

      Delete
  2. Just found this article and it is interesting mathematically. I think the challenge a GM needs to consider is even if the hypothetical tower in the distance is 8 miles away and thus could be seen poking over the horizon, any intervening terrain would likely block it from view.

    Hills will roll up and down in the distance, trees that may only be 10 to 20' high will still block taller objects that are sinking below the horizon.

    So as a GM, the math is almost irrelevant. I'd stick with features/objects that are in the current 6 mile hex and consider "is there interfering terrain?"

    If not, it may be visible as long as the viewer's perspective is above the tree line. If there is intervening terrain (hills, forest, etc), then it just isn't visible.

    Keep it simple and forego the math.

    ReplyDelete
    Replies
    1. Yes, for obstructed terrain, I would only use this if the PCs explicitly go to high ground. As you say, in forest or hills you'll rarely see distant objects.

      Delete