List of changes:
- Central plaza, citadel and city walls are now optional. You can't switch them on and off yet, these parameters are chosen randomly. Later I will add a proper UI (checkboxes) for them.
- City outskirts get spawned for walled cities. Right now only regions next to the gates get populated, in the future I'm going to enable generating as many extramural wards as needed.
- Improved layouts for castles and temples. New createBuilding function tends to produce rectangular structures more often than the previous one. Also for the temple an alternative cloister-like plan is sometimes chosen.
- Smooth roads. Roads outside of a city are now drawn as splines, not as polylines. I think this way they look more natural, although sometimes you can notice a glitch when they are cut off horizontally by a pixel or so.
- New drawing style for gates. Now they are drawn as passages in the wall instead of "bricks" across a road. It should make them more visible.
- Slightly improved alleys planning, especially for military wards. To be honest I don't remember what it means... Alleys get planned better now I guess? :)
- Improved polygon offsetting (buffering) algorithm. It sounds boring and the explanation of what it actually means would probably be even more boring, so I'm gonna skip it. But I must say that it took a lot of time to implement and not without a reason. In practice it should fix that type of glitches when a street suddenly narrows and similar ones.
- Labels visibility is now toggled by the SPACE key instead of the SHIFT. Because SHIFT messed up taking a screenshot on mac.
- Forests removed. They didn't look much like forests and I don't think anybody cared about them anyway.
This version of the generator is also available at this url: fantasycities.watabou.ru. There you can copy and share permalinks to specific maps, in other respects there are no differences (for now).
I'm going to keep improving the current set of features and fix bugs of course. The next big thing I'm going to work on though is rivers and coasts. I have a clear idea how to do it and even some infrastructure for them implemented, but no screenshots to show yet. Stay tuned!