Friday, October 14, 2016

Coastline mapping

I haven't posted in a long while...I've been forcing myself to stick to the number crunching on that random swell generation system I was working on.  I've pretty much got it worked out, I think.  After crunching the numbers and figuring out the statistics for waves of various sizes based on the amount of ocean they could form in and the distance they'd have to propagate to get to the area in question, and making some simplifying assumptions along the way which turned out some fairly strange results, I smoothed over at least some of the strangeness by fitting the results to a 4d6 bell curve, and then compacting them down from 60 separate tables into 6 tables with some modifiers.  I just need to work out the possible periods for the waves and set up a randomizer for that.  I think in the final form, a DM could roll five or six dice all at once and then check the tables to find the day's swell and period.  And I probably could have pulled it all out of my ass and had numbers just as valid as what I have now, given the complexities of the subject matter, but it makes me feel better that it is based on "good science", even if I have "garbage in, garbage out" issues.

At any rate, I saw this article the other day and felt like musing a little on it.

http://www.atlasobscura.com/articles/why-its-impossible-to-know-a-coastlines-true-length


Whenever I draw a campaign map, I tend to start with the large areas...continents usually.  I draw more detailed maps of smaller areas as needed. One problem I've always had (at least from an aesthetic viewpoint, looking at the maps; I don't think players ever have an issue with it in-game, unless they see the map themselves) is overly smooth coasts.  It's not easy creating coastlines as randomly rugged as in real life.  This problem gets compounded when I zoom in from the continent scale map to the country scale, and from there to the county or whatever other subdivision you care to use; the smooth line ends up smoother if anything.

Trying to draw rugged lines instead of smooth ones doesn't really help much.  Humans don't do random all that well, and in trying to get less smooth coasts, I often veer into too random coasts.  They just don't look right.  In the past, I have used AutoRealm's fractal lines to make a decent looking coastline, although zooming in still had issues.  At best, I could start out with very zoomed in maps and scale up to keep coastlines looking good, but the file size got really unwieldy in a hurry, and the program spent ever increasing amounts of time re-rendering the map whenever I'd zoom or pan the view.

Reading the Atlas Obscura article got me thinking about this issue again, and I think I have a decent method of fractalizing coastlines that can be done with any graphics program or even paper and pencil.  In the past, I've generally started with a blank sheet of paper and gone to a finished product in one step, whether I was making maps or drawing a character or a scene.  Now, when drawing, I follow the advice we've all seen in every art book ever, where you sketch out the basics in light pencil and simple shapes, and then go back later to detail and shade in darker pencil or ink.  It's definitely a more professional look, moving me up from 3rd grade to about 6th grade art level.  More importantly for this post, it occurs to me that I can use it on maps too.

Simply put, if I start out with light pencil and sketch out my too-smooth continent shapes, I can go back over my map, following the lightly sketched line, and add some jitter.  The final result isn't unrealistically smooth, but by generally following a guide line, it isn't unrealistically jagged and crazy looking either. 

As a proof of concept, here's a simple sketch of a too-smooth small continent or large island.





And here is the same landform with a little added jitter.  Nothing fancy, just a human attempt at randomness with a guide for the overall shape.


A little bit better, I think.  Now, to scale it down, I can pick an area to zoom in on and sketch it out.  It will look pretty smooth when I do this.  Even a fairly sharp squiggle looks pretty gradual when you get real close, right, flat-earthers?

Here's a fairly rough stretch of coast just east of the south-west corner of the continent, scaled up 10x and with the color changed to grey.  If I was doing this by hand, it would be lightly sketched at this stage.


Now I go over it to add some jitter, just like with the continent scale map.


If I wanted to I could zoom in again at this point, maybe to make a city scale map, and add jitter again.  Zooming in and adding jitter at each step allows you to have coastlines of infinite length, just like in the real world.

While I'm on the subject of coastlines, I feel I should point out that areas of especially rugged coastlines tend to encourage seafaring cultures.  If all you have is a straight, smooth, flat coastline, with miles and miles of ocean beyond it, people build boats just big enough to go out and catch fish, and come home after a few hours.  Only fishermen ever go out, and they're not generally a large portion of the population.  If you have a really rugged coast, though, with inlets or fjords cutting into the land every so often, and the land hilly more often than not, things change pretty drastically.  Now, not only do more people live near the sea, but it becomes much more of a means of travel.  Fishermen, of course, will be out tooling around in boats, but if a farmer has a choice of a 20 mile journey over land to take his harvest to town or a 5 mile trip by boat, even farmers will become proficient boatmen.  When you have more people using a technology and experimenting with it, good ideas crop up more often and are shared across more people, and soon your boatmen are building ships and sailing over the horizon rather than sticking with small boats and heading for shore when the weather looks bad.  If you're world-building and want a nation of great sailors, for realism's sake, you need to provide them a Scandinavia, or a Greece, or a Polynesia, or a Caribbean to sail around in.