"I wanted to try something a little bit different."
August 16, 2016 3:17 AM   Subscribe

 
This is one of my favorite Twitter bots right now, and it's nice to see how the magic happens. Thanks, lungful.
posted by Elementary Penguin at 3:45 AM on August 16, 2016 [4 favorites]


If you can get your map out as an image file (is that what the "create high resolution" button at the bottom is supposed to do? It didn't work for me, possibly because of permissions settings) NASA's cross-platform and free G.Projector software will take an image with a 1:2 size ratio (twice as wide as it is high, a cylindrical projection) and transform it into 90-odd other map projections: wrap it around a sphere, do a Mercator projection of it, etc. You'd want to leave off the text labels at that point, of course, because they get all distorted.
posted by XMLicious at 4:22 AM on August 16, 2016 [6 favorites]


Looks cool, but some script on that page ran like a dog on Firefox for Android. I'll have another try tomorrow when I'm on the laptop.
posted by Autumn Leaf at 4:36 AM on August 16, 2016


The referenced article (and others) by Amit Patel is also well worth a look.
posted by Harald74 at 4:46 AM on August 16, 2016 [3 favorites]


I've only glanced through the code but: damn. That's lovely. Clean, concise, glorious stuff.
posted by Combat Wombat at 5:05 AM on August 16, 2016 [2 favorites]


I wrote a program for generating fantasy worlds. Plate tectonics, then radiation on a globe, then trade winds, then precipitation, then foliage and climate, then humans spreading out from a point of evolution, then progression from hunter-gatherers to Iron Age and cities, including language and religion. Outputs to HTML.

But I wrote it in VB6. [cries]
posted by alasdair at 5:17 AM on August 16, 2016 [5 favorites]


I wrote it in VB6

How many SLOC?
posted by flabdablet at 5:25 AM on August 16, 2016 [2 favorites]


This person sounds like a budding Slartibartfast.
posted by grumpybear69 at 5:28 AM on August 16, 2016 [4 favorites]


This is so well done!
posted by rorgy at 5:34 AM on August 16, 2016


I noticed this on github's trending projects over the weekend and was meaning to look at d3 anyway so if I find some spare moments I definitely plan on playing with this. It's pretty amazing stuff what people can do with and handful of github projects and some customization.
posted by vuron at 5:53 AM on August 16, 2016


gorgeous
posted by grobstein at 6:05 AM on August 16, 2016


This is so well done!

It's ~ok

if you're not making mountain ranges, you're not making actual terrain tho
posted by Heywood Mogroot III at 6:17 AM on August 16, 2016


I'm as fascinated by his Language Generation as the maps.
http://mewo2.com/notes/naming-language/
posted by DigDoug at 6:20 AM on August 16, 2016 [5 favorites]


This is FANTASTIC
posted by DoctorFedora at 6:30 AM on August 16, 2016


I mean no pun intended
posted by DoctorFedora at 6:30 AM on August 16, 2016 [2 favorites]


This is beautiful!

I played around with Amit's code in Flash, about a decade ago. I am glad he's still getting the attention he deserves.
posted by JohnFromGR at 6:54 AM on August 16, 2016


I both love this and hate this.

I love maps, because: maps! I have maps on the walls of my office and at home, and I've spent many a happy moment just gazing at them and imagining road trips or sea voyages. And I love the idea of coming up with clever computer code to draw fantasy maps, because: coding! and, fantasy maps!

OTOH, one of my favorite childhood memories is sitting down with a large piece of blank paper and some colored pencils and drawing exactly these kinds of maps, but with all the features named after me: "This is Mathlandia, and here's Mathville, and I'll call this Math City, on the Mathazonia river, deep within the Plains of Mathia. Oh, I need some mountain ranges, yes, and swamps!" And thus went an entire summer afternoon.

So, you'll have to pry my hand-drawn fantasy maps from my cold, dead fingers.
posted by math at 7:26 AM on August 16, 2016 [3 favorites]


Don't worry, math. Some people still like to have the actual, physical thing before them.
posted by robocop is bleeding at 7:45 AM on August 16, 2016 [2 favorites]


"create high resolution" seems to just generate a random map, not a copy of the map you have been making.
posted by Karmakaze at 8:42 AM on August 16, 2016 [1 favorite]


Well, there goes my workday.
posted by gauche at 9:29 AM on August 16, 2016


I'm as fascinated by his Language Generation as the maps.

Me too. The results are almost convincing, and as a linguist I can think of some things that would make them more so (along the lines of his ideas at the bottom of the page). Now if only I could code...
posted by hoist with his own pet aardvark at 10:22 AM on August 16, 2016


I wrote a program for generating fantasy worlds. Plate tectonics, then radiation on a globe, then trade winds, then precipitation, then foliage and climate, then humans spreading out from a point of evolution, then progression from hunter-gatherers to Iron Age and cities, including language and religion. Outputs to HTML.

Luckily, someone else out there has the same impulses. Ultima Ratio Regum generates a whole world to play in, including culture and religions, art and myth. RPS has a good series of articles on it, like this one regarding the religion generation.
posted by FatherDagon at 12:31 PM on August 16, 2016 [4 favorites]


“I have a programmer's superstitions about always using powers of 2, which are more pleasing to the spirit of the machine.”
I'm glad to know I'm not the only one.
posted by ob1quixote at 2:40 PM on August 16, 2016 [1 favorite]


XMLicious, thanks for the pointer to G.Projector. It's exactly what I've been looking for.
posted by Gerald Bostock at 3:07 PM on August 16, 2016 [1 favorite]


Is there somewhere where he shows how he makes his twitterbots? I really like @newspaceopera .
posted by newdaddy at 3:59 PM on August 16, 2016


Am I missing a way to export these images, or to create larger ones? I'd love to stitch a few of these together.
posted by GhostintheMachine at 7:09 PM on August 16, 2016


Love this! This guy also made my favorite twitter bot, Botston.
posted by hooray at 8:08 PM on August 17, 2016


I wonder what you'd need to change so this would generate globes instead of planes?
posted by grobstein at 7:12 AM on August 18, 2016


Naively, most of it would seem to work directly if you just generate the starting points in a spherical shell and treat elevation as radius, but there are probably a lot of tricky details.

But it would be cool to generate a spherical landscape and then procedurally print various projections, etc.
posted by grobstein at 7:42 AM on August 18, 2016


The height map for a rectangular area is simply an array, but for a sphere you would need a data structure to break it down into pixel-like points (that is if you're going to process it in a similar way as a set of discrete values at each point, rather than doing everything with vector-like arc shapes and continuous transformation functions).

There's HEALPix which was originally used by astronomers for celestial data (and interestingly, there's a link on the Wikipedia page to a javascript library implementation for handling it) and tries to cover as much of the globe with a grid as possible but you still end up with some points that are only adjacent to three other ones rather than four like in the array. And resizing or dealing with different resolutions has some complexities, because the network of pixels is different at each resolution, with more or fewer adjacent-to-three points in differing locations.
posted by XMLicious at 7:58 PM on August 18, 2016


« Older Are rich nations turning their back on the world?   |   “It looks like a war zone,” he said. Because it... Newer »


This thread has been archived and is closed to new comments