Not with a bang but a whimper

Back in July, I started mapgen4, the successor to mapgen2, my Voronoi-polygon map generator from 2010. Back in August I posted that I had planned to finish the map generator “in a month”, and then write a tutorial.

That was three months ago.

I'm finished.

Looking back on the blog post from three months ago, I implemented all the things in my plan, and more. There are still so many more things to implement. But after four months, I'm tired of working on this project. The past few weeks I've only done a little bit. I've not run into any more show-stopping bugs. I've fixed some annoyances. I think it's in reasonable shape. So I decided that I'm finished.

At some point I want to write a tutorial explaining all the parts of this map generator, but for now, the blog posts will have to do. I have other projects I want to do too!

Play with mapgen4 here!

Labels: ,


Scott Turner wrote at November 28, 2018 9:30 AM

I hadn't seen Trello before, that's pretty interesting... I'm not sure I'd want to have my TODO list public for comment, though! :-)

Amit wrote at November 28, 2018 12:32 PM

@Scott: yeah, at first it was an experiment to see what would happen if I made it public, and it turned out … nothing bad! :) Azgaar's is public too (

Amit wrote at November 28, 2018 12:33 PM

I sometimes have a separate TODO list that's in emacs org-mode instead of Trello, with lower level nitty gritty stuff. It varies by project.

Kramus_Indigo wrote at November 28, 2018 12:43 PM

So obviously that won't be happening for this anymore, but Quanta Magazine just released an article about the math of rivers. Maybe that could be eventually incorporated into a later version of a map generator?
To get more realistic rivers, that is. - At least partially. (The story seems to be a bit complicated by details. As stuff from nature tends to be.)

Amit wrote at November 29, 2018 11:10 AM

@Kramus: yeah, that article looked interesting! I've added it to my list of things to look at for the next time I make a procedural map generator. I seem to make one every few years :-)

Anonymous wrote at December 01, 2018 12:21 PM

any chance you can do a tutorial on something like this

Amit wrote at December 02, 2018 10:23 AM

@Anonymous: I don't understand WFC well enough to make a tutorial on it. You might take a look at . I think if anything, I would end up writing a tutorial about constraint solvers in general, not WFC specifically, for the same reason I have a tutorial about graph search algorithms, not Jump Point Search specifically.

Lejraz wrote at January 03, 2019 5:25 AM

I use trelo since 2017 and keep my tasks in order like I want :D

Wtracy wrote at January 05, 2019 2:18 PM

I know I'm a couple months late on this, but did you consider using Perlin noise for wind direction angles for generating biomes? I would expect it to create more interesting maps than unidirectional wind, and to be a lot simpler than fluid simulation.

Amit wrote at January 08, 2019 10:43 AM

@Wtracy: I considered it but it seemed like it would require multiple passes to stabilize. The advantage of the single direction is that I can sort them, and there are no cycles. I can determine ahead of time that cell J depends on cell K, and that means once I compute cell K, I can calculate cell J afterwards, and cell J never affects K. With other approaches I looked at (including taking the "curl noise" from perlin noise) there could be cycles, which means I need to calculate repeatedly until it comes to equilibrium. I think you're right in that there would be ways to use noise to make more interesting maps than unidirectional wind, without going into full fluid simulation. I had scheduled one week for wind+rain and didn't have a chance to figure this out. Maybe in a future project :)

Viellos wrote at September 26, 2019 4:59 PM

Hey! I was wondering if you released to code for Mapgen4 in open source, just like you did with Mapgen2? I'm currently working on a toolbox for dungeon masters, which include a procedural map generation system. So far it's based on mewo2 system, but I feel like there's much I could use from your generator. I love how you can paint the mountains and then the rivers automatically adapt to these changes.

Anyway, if Mapgen4 is open source let me know, I would love to find a way to adapt it, and obviously, share the results with you!


Amit wrote at October 01, 2019 3:20 PM

@Unknown: Take a look at ! :-) Unfortunately it's messy code that's not easy to reuse. To make the code run fast I had to make some … compromises :-(