Development Update - January 2025 (Patreon)
Content
Hey everyone, I hope you're all doing well! First of all, I want to thank you for your patience - it's been a while since I've posted an update on Patreon (I'm more active on discord if you have questions or feedback). Just because I haven't posted, doesn't mean I haven't been busy. I'm happy to announce that the generation overhaul that I talked about in the last update is finally done, and has been released!
The main features of this update are:
Suburb road generation & building placement
This allows buildings to be placed without roads around them
Notably, this changes how hamlets & villages are generated
New building placement option - "gaps"
Like the dense building option, but shrinks the area so buildings aren't touching
This is now the default for areas outside of the settlement center
District overhaul
Districts have more control on how to decorate / layout buildings
The distribution of buildings in districts is now better
Ruler
New map tool to measure the distance between two points
Road customization in create settlement form
Change things like how bendy the roads are, and how long each segment is.
Arced district text rendering
User guide
There is a new user guide available at https://docs.fantasytowngenerator.com/
And some misc update notes:
New wall types, default changed to stone walls
Fix bug with map scale
Generation is ~10% faster
If two oceans are drawn to form an island in the initial settings, this no longer breaks
I built an internal debug tool for myself
Use more web workers for the building render step for hopefully faster loading
Scalable wall towers
Walls now split across rivers
Some new buildings
Putting that all together, you can now get settlements that look like:
City with a river:

Small town:
Big city (with stone wall):

Big city (American preset)
Inner ringed city:

In my opinion, these settlements look much better than what you could generate previously. The suburbs add a nice organic feel, and the settlements also now tend to grow along the main roads, giving them much more interesting shapes than the vaugely circular ones that were created before.
The generation algorithm
As mentioned in the previous posts (June, September), I wasn't happy with the districts and the road generation algorith. Specifically, districts had very uniform size lots across the entirety of the settlement, and the small lot sizes made it difficult to place large buildings.
The old algorithm created small lots first, placed buildings, and then merged lots together to create the districts.
The new algorithm creates large district lots, places landmark buildings, then divides the large lot into smaller ones, and places the remaining buildings for the district. You can find more information on the new algorithm in the user guide.
One of the main benefits of the new algorithm is the larger lots, which make it easier to place large buildings, and it also allows districts to place roads according to their preferences in these lots. This currently isn't done for many districts, but it's something I'd like to expand in the future.
For example, there are now many more ways to place markets than there were before.
The other main addition to the new algorithm is the suburb generator, which gives the settlement a much more organic feel than they did before, with the entire settlement surrounded by roads. This is one aspect of generation that I have wanted to improve since I first started, so I'm very happy that this is done.
There are also a whole bunch more customisation options for the districts and roads, you can find more information in the create settlements section in the user guide.
What's next?
This was a big change. Almost 800 files, and 70000 lines of code went into this (and thats only the final number, not including all the back and forth I did to tweak settings until they felt right) - almost all aspects of the map generation were updated, and needed to be properly tested. Because of this, I want to take a break from major changes for a bit, and tackle some of the smaller feature requests that have accumulated.
There are also some smaller tweaks that I want to make to improve and polish these changes - for example:
Improved castle districts - fill them with more things.
Improved park districts, paths and other small features.
Improved forests, adding trails etc.
Marinas for waterfront districts
Graveyards next to some temples
Wall alternatives, like moats / bypasses
More options for building placement in district re-roll
Option to re-roll farmland from the layout editor.
Link to the docs in relevant places
and so on...
Longer term
Last year I was looking at height integration and generation, and at some point I'd like to get back to that. Figuring out how to display it in the 3D mode is easy enough, but I'm not entirely sure how to display it on the 2D map. Also, fitting it in to the road network algorithm will be ...interesting... to say the least.
Another bigger feature I want to take a look at is climate and other natural landscape generation, e.g. moutains.
Conclusion
As always, I want to thank you all for all of your support - without you guys, I wouldn't have been able to keep going with this as long as I have.
What do you guys think of the changes? What districts do you want to see supported, or are there any decorations you'd like to be added? Please reach out, I always like getting feedback, either here or on the discord.