I have nothing super valuable to add except to say: this is totally awesome. Good for you for exploring this and sharing it with the world. I just emailed it to 3 non-techy friends who will totally love it.<p>Keep making, keep sharing!
If you like making fiction maps by hand (but not fantasy maps) - have a look at this great mapping project: Open Geo Fiction: <a href="http://www.opengeofiction.net" rel="nofollow">http://www.opengeofiction.net</a><p>From the about page: "This world is set in modern times, so it doesn't have orcs or elves, but rather power plants, motorways and housing projects. But also picturesque old towns, beautiful national parks and lonely beaches. "<p>It's essentially a fictional OpenStreetMap, and actually uses all the same stack as OSM, with all the data as Creative Commons Attribution-NonCommercial-ShareAlike
Your <a href="http://mewo2.com/notes/naming-language" rel="nofollow">http://mewo2.com/notes/naming-language</a> is equally interesting, great work!
Very cool! This reminds me of Amit P's polygonal map generation project, which you should look at if you're interested in this kind of stuff. <a href="http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/" rel="nofollow">http://www-cs-students.stanford.edu/~amitp/game-programming/...</a>
The tricky task of label placement could be outsourced to a SAT solver.<p>The way it works is that for every city, town etc you generate a few placement candidates (4 positions around the point like you do seems fine) and then calculate all the pairs of placements that collide. For each collision you add a clause to a SAT formula that forbids this combination from occurring. Every solution of this formula will be a clean labeling of your map.
Reminds me of a bit in one of Neal Stephenson's books where a MMORPG company hired a team of geologists to generate a geologically plausible map for their game. The hardest part of their job was finding ways to integrate the parts of the world that had been made up without any regard geology and made no sense in their model.
Well done, thanks!<p>BTW, this is a quick way to generate an higher resolution map on the site. Open the developer tools, remove the width from .note (it's the container of the column), inspect the map at the bottom and set the height and width of the canvas to suit your needs. Then click on the Generate button.<p>Maybe the page could be changed to extract that canvas from the column layout and make it fit the viewport.
This is such a great tool for hobby world designers. I know for sure that I will use this when I create adventures.<p>I made multiple tools for random world generation but never come close to this kind of quality. I'm impressed!
This belongs to the class of <i>teleological</i> algorithms and is very cool! I appreciate the links to some of the source material the author learned from... and the interactive elements on the page are great. I'd like to do the same for my blog.<p>Nice work!
I found this entire post to be completely awesome, but laughed in particular with this line: "I have a programmer's superstitions about always using powers of 2, which are more pleasing to the spirit of the machine." Also, I share similar fond memories of those maps from cheap, grocery store fantasy books!
This is really cool. I'm going to bookmark this and look in to it more in-depth. I've always wondered about how to generate maps for a game. Good job.
If the novels were as bad as he says they were, maybe he can crank out some random(ly bad) prose to go with it, and get Amazon-rich.<p>(And/or, this might make an interesting companion project.)
That is super sweet. It looks sort of similar to how Dwarf Fortress generates its geographies.<p>You should look at how that game does it because it also involves creating a whole mythology and history to help generate civilizations and their fall/rise.
Cute. Usually this is done with fractals, as with VistaPro and its successors. You generate a coarse random height field, then subdivide, making smaller random changes locally, until you have all the detail you want.<p>An ambitious project: take in fantasy novels and extract location cues from them, then draw a map. Find text which mentions a place, then try to recognize phrases which express distance and direction.
Your post is really helpful. I recently tried to create procedural algorithms for medieval maps. I started with path-generation and circular city layouts.<p>Here is my try on paths generation:
<a href="http://imgur.com/CUs6P4S" rel="nofollow">http://imgur.com/CUs6P4S</a>
This is an amazing use of Python. I'm OK with .py but terrible with images so this random generation amazes me. I will be passing this into my DM!
The "improved" blue noise random points at the start would probably be more efficiently generated with Poisson disc sampling.<p><a href="https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-poissondisk.pdf" rel="nofollow">https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-pois...</a>
It's great for creating your own world. However if you play D&D, chances are you play in Forgotten Realms. In that case you already have the large-scale map, and you want town- and city-scale maps.<p>Does anyone have a nice pointer toward those?
very cool. tried to see if it could make sense of islands and such, and the results are extremely convincing: <a href="https://i.imgur.com/LXNtZLH.png" rel="nofollow">https://i.imgur.com/LXNtZLH.png</a>
This is insanely cool! I'm totally making a conversion of this into Elm my next pet project. One nice thing to see would be generation of terrain types (such as deserts or tundras) and the affect these have on the algorithms that place cities etc.<p>Will definitely share if I manage it
Wow. I might need to spend some time making a clone of this but geared towards worldmaps like <a href="https://donjon.bin.sh/fantasy/world/" rel="nofollow">https://donjon.bin.sh/fantasy/world/</a>
This is truly fantastic, both the project and the interaction. If you want to continue with it, it seems there's so much more you could do, too: roads, forests, altering namelists for different regions...
mewo2, I am immensely grateful to you for devoting the time and energy to a task I've been meaning to undertake (and thus value), but have yet to find the time.<p>Your success is inspiring, and I've forked your repo(s) to try and continue your work. Thank you so much!