0.5.0: Rivers and basic house shapes

A month and a half have passed since the last release - I know it's long. There were several reasons for that. First of all right after releasing 0.4.3 I took a bit of rest :). Then I played with 3d stuff just to keep myself motivated (you can see the resulting images here). And then it was time to get back to the real development, but rivers turned out to be a little more complex task than I expected. Anyway, here is the list of changes with some comments:


The problem with rivers is that they affect everything they "touch", so I needed to take care of moving buildings away from them, decide where and how bridges are placed, create a decently looking river mouth where it joins the ocean etc. So the whole task is not really hard, but as I said it is complex i.e. consisting of numerous nuances. The resulting feature currently is quite limited: there can be just one river per map, it has a constant, not very large width, it can't be looped (so I can't make a moat of it). Some of these limitations I hope to overcome in future updates. Please keep in mind that with the river generation takes much more time.

Basic house shapes

There is a new option allowing to replace tiny polygonal patches with rectangular shapes which look a bit more like houses (here you can see a close-up comparison of the new and default modes). It works the same way as castles get built: I take an original polygon, then try to find the largest rectangle which fits inside the polygon. After that if the rectangle is large enough I cut it into smaller blocks and throw away some of them. That's it. The resulting map is quite noisy so by default this option is switched off.

New visual options

Besides the "House view" there are a couple of new visual options:

  • Thin lines. All the strokes are drawn 3 times thinner. This was added specifically for the "house view" to reduce the level of visual noise. It works better with small maps. It doesn't work very well with hatching.
  • Simplified water. Rivers and isolines get drawn as polylines, not as curves. The coast doesn't get turned into a jagged fractal thing. This improves the drawing time and sometimes it looks better.

Smaller changes

There are also a bunch of smaller changes in this update, but I'm too lazy to list them here :)

What about 3D?

As you may notice 3D is not in the list of new features. I'm going to write a separate post on 3D and the future of the generator in general. Stay tuned!


Log in with itch.io to leave a comment.


This is one of my favourite resources to plumb for quick high quality content. Keep up the great work. If I were to have just one request it would be to allow a higher resolution export. The current standard is a little too low

Unfortunately creating bitmap images larger than ~8MP is problematic. If you really need a higher resolution you should consider SVG export (although I realize that SVG may be harder to edit).


I'm consistently impressed with how cool your updates are. This was already my favorite city generator, and you just keep making it better!


Well done!!! Love it.

From one map lover to another, I'm looking at making a map generator that creates landmasses for a world instead of cities. I'd be grateful to know how you made yours.

Here is my comment where I outline how the generator works: link. It's rather old and since then I've added many features, but the general approach is still the same. 

Just an idea, but would it be possible to make a feature you can toggle on and off that gives every building a listed number? That way its easier to make a list of the buildings without having to mess up the map. Anyways, stay awesome!

Do you mean labelling each building with a number? Assigning a number to a building is not a problem of course, but drawing all these number... Even in a small town there are usually more than 50 buildings (just counted :)). A large town may consist of hundreds houses, so it would affect performance badly. I'm gonna think what I can do about it


It was an idea, and maybe not even all buildings. Maybe it could work with clusters as well, a little bit smaller than the districts, so that you could mark 4-6 houses with a number or something. It's an idea, if it doesn't work no foul done, your generator already made me incredibly happy and less tired. Keep it up man!