Wednesday, July 27, 2016

Great Random Encounters; Hexomancy (III)

Bit of a slow summer post. I'm a little low on interesting things to say; I've been doing a lot of backend stuff.

Vacation bore fruit in many excellent experience-granting encounters for the girls:

That's a sea turtle nest hatching. My wife noticed it while getting some sunrise pictures; we waited until the volunteer who keeps tracks of such things came by.

She determined it was stalled, decided to excavate, and the girls got to help escort baby turtles down to the shore.

Those dudes are about the size of your palm; maybe...80 or so in the nest? It's surprisingly deep.

We found a solitary baby the next afternoon; he'd got washed up by the surf; took him to the local rescue.

The earlier night 4 different moms came up to lay; we evidently just missed a 5th green sea turtle - these you are seeing are the "usual" loggerhead.


I'm having a lot of fun, as I can, with that TextMapper program, and my intervening shim:

I've taken a turn from Alexis over at The Tao of DND, and I've indicated the average elevation of a hex. As it's a small experimental map, I've smooshed everything together to get something representative. That purple over in 0907 is 6,248 meters - ~20,500 feet - which comfortably holds the tallest 150 or so mountains on the planet. It's likely, depending on where this would be on a planet, anything redder/purpler than 0307/0606/0805/1005 is above the timberline.

Those rivers are drawn SVG paths; as are the borders. You can see I've got realm borders, then up there in Vassalville I've bordered a subdomain out of the main domain.

I've got some reordering to do in presentation - SVG is "last writer wins", so you can see my borders are over my town names, etc. I've already split out certain types of terrain (the elevation, rivers, lakes) from "objects" - towns, whatever.

There's some wiggly bits still. Rivers change sizes oddly, I guess I need to plop a little reducer object down. I need to work on shoreline presentation - that seems like it'll have to be another full layer.

After a bit of a break on this I'll probably start looking at showing vegetation and landmarks - I expect I may be able to find an inoffensive way to show peaks of hills or mountains. I think I'll also lay down subhexes under the rivers to "depress" them from the surrounding land - might be a nice effect, getting the rivers to carve through my hills and mountains.


  1. Well done, Koewn! Work on the color scheme a bit - it's a little confusing in the middle. Hope you stay with it, in the long run you'll find it helps with the player's perspective of the land itself.

    1. Thanks!

      FWIW, since you're here (and thanks for stopping by, as you may be the only other person on the planet that might find this marginally impressive) what this will end up supporting is a map generated from real world data - I've taken the GTOPO30 digital elevation files, parsed them in tessellated circles the same 'diameter' of the hexes I want, averaged the elevation data within the circle, and exposed that data to generate something like the above. (and now that I think about it, I should mark out some number of highest/lowest points falling outside some deviation to get a "flow" of the land)

      There's enough useful GIS data floating around for rivers, peaks, ruins/castles, historical trade routes (, etc. that I should be able to largely automate an initial map presentation, then do the detail work.

      OpenStreetMap, for example, is queryable by type, with many 'historic' types ( for example) though I'm not sure how world-wide that esoteric data is.

      Additionally, I've been able to geo-locate old maps from places like and use them as a guide for what was interesting to expose on a map at the time it was produced.

      And, once I've geolocated an image, I can overlay the GIS data, and I can present it in a projection that's either pixel>degree or pixel>meter, and I've got a dot-for-dot measurement of distances between objects. Eventually, I'll mark various hex locations with their travel time costs, or as impassable, and algorithmically generate likely trade routes between two hexes.

      I have not yet gone through and "ringed" the globe like you have; that's on my list, as it'd be madness to progress too far without having a model dereferenced from any individual map; as is being able to "scale" the map, say from 6m to 24m to 96m hexes, scaling/dropping features as it goes.

      And since I'm basically just putting the hex data into a database, I can put in literally anything, civics, resources, etc. and generate not just on-the-fly maps, but the metadata that goes along with it.

      It's been entertaining. I'm always amazed at the breadth of things one can at least dip into learning about.

      We'll see if I can get as feature-complete as you, I have my doubts :)

  2. I answered this post from you two years ago and I only saw this answer today. Does it work? It sounds like it works.

    1. It does, more or less, for my purposes. I don't think I'd posted where I was when I got pulled off the project; I'll make an effort to show where I ended up.