Been making a few with dm for our sessions, is there any plans to add warp options to this or how many roads like in city generator? would love to see some housing control like spacing and sizes, and terrain variable control like swamps, hills mountains, keep up the great work, love the systems
The village generator works very differently from the city generator and it would be very hard to implement a warp tool here. I'll probably allow to edit the underlying population density map (currently it's generated automatically) which essentially defines the shape of a village. Regarding the number of roads, there will be an option to choose one of road configuration: highway, dead end, cross roads, maybe something else.
Yeah, it happens from time to time and it will be fixed eventually. To be honest, I don't think it's a big deal: in this case someone just got lucky to have a pond on their field. Sometimes the generator builds piers in such ponds and that really is silly :)
Yeah, adding squares/markets/village greens is on my list. Meanwhile you can try generating square neighbourhoods in the Neighbourhood Generator. It's not the same but sort of close.
Question. How is the population calculated here? I generated a few villages and got (in my opinion) weird results. Assuming that all houses are family homes (no stores, no storage facilities, workshops), there have to be quite big households.
A few examples with medium density (first three for small maps, last two for default) are in the table below. The last one seems fine, the rest...
I am not sure if I am overlooking something obvious or if the automated calculation is a bit off.
I can't speak for the developer, but this is how I've viewed it: historically a dwelling would have two parents, several children (up to 8 or 10 depending on various factors, 4 is a good average assumption), and 2 to 4 grandparents. There might also be a couple aunts and uncles. So that's around 8 to 10 people per household, using my educated guess assumptions. How many other buildings there would be beyond houses would depend on various factors, but a general rule of thumb is the larger the village the more buildings will be not-houses. You'd want grain storage, animal housing, and the like for any village. As it gets larger you'd start to see taverns, inns, shops, government buildings, brothels, et cetera. There's going to be some kind of calculus relating the average population to the average number of shops, of taverns, of restaurants, et cetera, but that's beyond my level of education on the subject.
If you're designing a village for a tabletop game or something like that, it's easy enough to re-jigger the numbers to your liking (5 people on average per household, say) and pick a number of buildings based on that average. That's what I do.
The values in your table seem right. The formula for population is very simple:
population = number_of_buildings * random_number_around( 5 )
Why?
The average number of persons per household was much higher in a medieval rural settlement than in a modern city. The household usually consisted of an extended family (as @SophieNicole mentioned): the main couple, their children (not 1-2, but rather 3-4), some of their unmarried brothers and sisters, the husband's parents etc.
I use a much smaller multiplier (5) than a reasonable average number of persons per household to take into account the fact not all buildings are farmhouses. Another reason is to make that value not so odd for a modern eye.
I use random numbers instead of a fixed value to disguise the simplicity of the formula (otherwise the population of a hamlet of two houses would always be 10 for example) and also to "emulate" cultural differences.
Hi, is there anywhere that I can email you about how this was made? I am doing something similar as a project and a lot of the papers that I have seen are pretty confusing to understand.
AWESOME generators all. I would love to have a way to match the color palette / style across all of them. Perhaps even a way to link from one to another seamlessly (eg Village Gen -> City Viewer.
Something like that may be implemented one day, but actually all this is relatively easy to extract from exported SVG - most of the map features are grouped there, so there is a group with trees, a group with lights etc.
Would it be possible to add a `tiny` population density option? I really love those maps where it's mostly wilderness with just one or two houses, but it takes a while to find them by regenerating over and over.
The easiest way to generate a tiny village is to choose "Low" population density and "Tiny" map size. There probably won't be much wilderness (because the map will be tiny), but you'll get the right number of houses.
Hi! I love your generators and as someone who is working on my own game in C++ I was wondering if you ever considered giving access to your code in some way shape or form, I know I can just look into the generated javascript code for some of your projects but I think it would be valuable to maybe more people than just me to use this in an actual project, maybe through some Patreon tier, or selling it here on itch.
Thanks! I can consider it, but why? To me it seems that streets in this generator aren't interesting enough to have any value without buildings, are they?
I'd definitely like the option myself, sometimes I like to have a blank template of roads and to be able to place houses as I want so its just another nifty feature to have.
This would be too much specifics for my taste, but I do plan to add special larger buildings without specifying what they are and I'll try to find a convenient way to customise their number, shape, placing…
You have to fuss a bit with the value slider under style settings to get black and white maps, but there's so much convenience packed into this program, it's versatile, and it's free.
To those of you supporting the patreon, thank you.
You can use images created by the generator as you like: copy, modify, include in your commercial rpg adventures etc. Attribution is appreciated, but not required…
What do you mean by "your own"? If you are asking about building a village of a specific shape, than no, it's not possible here. This application is only capable of generating random villages.
May i ask what are the Avaible Fonts for the texts? Im was trying using the google fonts but none of them work, so if there is a specific List of which fonts are used, i would gladly ask for it please
You can use any font installed on your computer. For example, if it's Windows then Calibri, Impact and Georgia (among others) are most likely available to you. To use a specific font from Google Fonts you need to download and install it first.
Do you happen to live in the southern hemisphere? I can't help noticing that all the houses cast their shadows southeast, indicating the Sun is northwest. :)
The newest update (1.2.7) seems to constantly generate lopsided fields, often covering fields with trees while leaving a big empty space field & tree free. (e.g. https://watabou.github.io/village-generator/?seed=313542736) is that deliberate?
The only thing that has changed about trees is that the last chosen value of None/Some/Many is remembered now. The way of distributing them across the map hasn't been changed.
If you need fewer trees, make sure that "Some" is chosen and then "Reroll" trees until you have the right amount of them.
Lopsided fields are mostly fields which the generator tries to place in rings around the centre of a village. So yes, this is deliberate, although as I said in the post, I'm not sure this is such a great idea. If there will be enough negative feedback about them, they will be removed.
The only thing that has changed about trees is that the last chosen value of None/Some/Many is remembered now. The way of distributing them across the map hasn't been changed.
Hello Watabou could you make a car generator like your tank generator but from profile i want to make 3d model of cars for a game i'm making (for now i'm really at the begining) so i do not want to copy real car brand to make my vehicle (l'il post this in comment in different itch.io webpage of your generator so you will find my comments more easily)
Hello Watabou could you make a car generator like your tank generator but from profile i want to make 3d model of cars for a game i'm making (for now i'm really at the begining) so i do not want to copy real car brand to make my vehicle (l'il post this in comment in different itch.io webpage of your generator so you will find my comments more easily)
I love the work you've done here! I'm confused though as to what the exported JSON is good for. I don't see a means to load a saved file other than under the style settings but that seems unrelated.
when I view the console output during village generation, I'm seeing a lot of cool stuff that isn't shown on the map. Apparently the map I generated has a town hall, a tavern called The Black Chalice, an inn called The Wet Lady, and a home belonging to someone named Saer Eastshield... I'm guessing this is all stuff you're working on surfacing at some point or another via a landmark feature w/ a legend. In the map settings, you can control population density but not the actual population. Being able to manually enter that would be super helpful vs rolling new villages till you get into the ballpark you're looking for. :)
Currently you can only load those JSON's in City Viewer. I don't plan to add a save/load functionality in this generator.
The work on points of interest is on hold at this moment, but yeah, eventually these names will be shown on the map.
Because of the algorithm specifics it is not possible to request desired population, but in the next update it will become possible to enter any number to be displayed as the village population. The effect is the same :)
Ah, I see. Thanks for the response. I was hoping that population X density equated to how many buildings got output, but it doesn't seem like that's the case. I look forward to seeing the points of interest getting output, I liked seeing the names in there when I inspected the page and having them surfaced on the front end would make the maps super interesting. (especially if you're using these maps as inspiration for a book you're writing, like I am) ^__^
I struggled to make points of interest interesting and not too extravagant at the same time. They tend to be repetitive which is not wrong - most villages need just a tavern, a mill and some kind of basic shop. But it's boring especially when creating multiple settlements in a row. Instead of adding more exotic venues (a necromancer's shop, a fighting club, a spa etc.) I'd like to be able to provide interesting details to mundane locations. That's what I'm going to work on.
This is harder than it may seem. The difference between river and coast maps is that on river maps bridges are allowed and on coast maps they are not. So it is difficult to mix them but I'll find a way eventually.
Hi, I want to replicate this for a personal project. Are you able to explain how it was coded and the process you went through making this? Is there anywhere else I can contact you?
I have no code to share, sorry. But here is another generator based on the similar (but not exactly the same) idea with open code and some explanations of the method: City Map Generator.
About being lost: don't let yourself be intimidated by the academic lingo. For example, when I started reading that paper I didn't know what tensor fields are. So I've read a Wikipedia article on them and got back to the paper. And then I realized that I didn't need "tensor fields" to get the idea at all...
Hey watabou, this is absolutely wonderful and very, very impressive. Donated a bit :). I was just wondering if you could fix a tiny issue I found: the night-styled maps do add outline to the texts to ensure they are readable, however, exports (at least in PNG) don't include this outline. Apart from that, haven't found any other issue so far, it's just awesome.
As possible improvements... Perhaps add option to include fortifications in the future? Pallisade, watchtower, small local keep, tavern, generated shops/other points of interest with legend assigned?
Yeah, I'm aware of this issue, but there is no easy way to resolve it (that outline is created by applying a glow filter to the text, but apparently filters stop working on images which are too big). Probably I'll have to implement another way to add outline (e.g. like in MFCG) when there is more text in this generator.
Regarding those improvements:
Points of interest - definitely.
Local keep (or anything else that different from regular cottages) - unlikely.
Palisade - maybe. I didn't plan to add it, but it's a pretty popular request.
← Return to generator
Comments
Log in with itch.io to leave a comment.
Been making a few with dm for our sessions, is there any plans to add warp options to this or how many roads like in city generator? would love to see some housing control like spacing and sizes, and terrain variable control like swamps, hills mountains, keep up the great work, love the systems
The village generator works very differently from the city generator and it would be very hard to implement a warp tool here. I'll probably allow to edit the underlying population density map (currently it's generated automatically) which essentially defines the shape of a village. Regarding the number of roads, there will be an option to choose one of road configuration: highway, dead end, cross roads, maybe something else.
very great work
Hey I got a bug where a lake formed in a field. Parameters were default map size, high population, coast. Here is a perma link. https://watabou.github.io/village-generator/?seed=478974019&tags=high%2Ccoast
Yeah, it happens from time to time and it will be fixed eventually. To be honest, I don't think it's a big deal: in this case someone just got lucky to have a pond on their field. Sometimes the generator builds piers in such ponds and that really is silly :)
hello is there way to add crossroad
You mean a crossroads of two large roads? Currently it's not possible but this will change in the future.
hello this generator is very nice it is done very well, but it would be nice to be able to add walls like in the fantasy city generator
Yeah, this may become possible in the future.
This is awesome, great work! If I could leave a suggestion, it would be to perhaps have a plaza or market spawn along with the other buildings?
Yeah, adding squares/markets/village greens is on my list. Meanwhile you can try generating square neighbourhoods in the Neighbourhood Generator. It's not the same but sort of close.
Question. How is the population calculated here? I generated a few villages and got (in my opinion) weird results. Assuming that all houses are family homes (no stores, no storage facilities, workshops), there have to be quite big households.
A few examples with medium density (first three for small maps, last two for default) are in the table below. The last one seems fine, the rest...
I am not sure if I am overlooking something obvious or if the automated calculation is a bit off.
I can't speak for the developer, but this is how I've viewed it: historically a dwelling would have two parents, several children (up to 8 or 10 depending on various factors, 4 is a good average assumption), and 2 to 4 grandparents. There might also be a couple aunts and uncles. So that's around 8 to 10 people per household, using my educated guess assumptions. How many other buildings there would be beyond houses would depend on various factors, but a general rule of thumb is the larger the village the more buildings will be not-houses. You'd want grain storage, animal housing, and the like for any village. As it gets larger you'd start to see taverns, inns, shops, government buildings, brothels, et cetera. There's going to be some kind of calculus relating the average population to the average number of shops, of taverns, of restaurants, et cetera, but that's beyond my level of education on the subject.
If you're designing a village for a tabletop game or something like that, it's easy enough to re-jigger the numbers to your liking (5 people on average per household, say) and pick a number of buildings based on that average. That's what I do.
The values in your table seem right. The formula for population is very simple:
Why?
Hi, is there anywhere that I can email you about how this was made? I am doing something similar as a project and a lot of the papers that I have seen are pretty confusing to understand.
AWESOME generators all. I would love to have a way to match the color palette / style across all of them. Perhaps even a way to link from one to another seamlessly (eg Village Gen -> City Viewer.
THANKS for the amazing work.
Thanks! I'll probably make a tool to convert palettes from one generator to another as close as possible.
Hey this generator is great!
I would find it really helpful if there was some way to export the layers individually.
I.e. a layer with trees, a layer with roads, a layer with houses, a layer with lights, a layer with terrain features.
Thanks!
Something like that may be implemented one day, but actually all this is relatively easy to extract from exported SVG - most of the map features are grouped there, so there is a group with trees, a group with lights etc.
Oh that's nice to know, thank you :)
Would it be possible to add a `tiny` population density option? I really love those maps where it's mostly wilderness with just one or two houses, but it takes a while to find them by regenerating over and over.
The easiest way to generate a tiny village is to choose "Low" population density and "Tiny" map size. There probably won't be much wilderness (because the map will be tiny), but you'll get the right number of houses.
It was more about having that huge expanse of space with the one lonely house, nice image and feeling it gives the viewer
This has helped me a lot! Thank you!
This tool is fantastic!
If I can make a request, can you add the option to create a "walled" village?
Thet would be super useful
Thank you! Adding an option of the palisade wall around a village is on my list.
I have most of your st6uff bookmarked. Keep up the great work.
Hi! I love your generators and as someone who is working on my own game in C++ I was wondering if you ever considered giving access to your code in some way shape or form, I know I can just look into the generated javascript code for some of your projects but I think it would be valuable to maybe more people than just me to use this in an actual project, maybe through some Patreon tier, or selling it here on itch.
Heya! Fantastic stuff as usual Watabou:) Is there any chance we can get an option for River + Coast, like in the City Generator?
There are some (road-related) difficulties with such layouts, but it's a popular request, so this will be implemented eventually.
Cheers!
Thank you for your wonderful generators. I love using them even if I have nothing to use them for.
Here is my version of a cherry blossom forest.
Heyyo! Awesome generator, congrats for this work. Is there any chance of adding an option to disable houses without disabling streets?
Thanks! I can consider it, but why? To me it seems that streets in this generator aren't interesting enough to have any value without buildings, are they?
I'd definitely like the option myself, sometimes I like to have a blank template of roads and to be able to place houses as I want so its just another nifty feature to have.
Exactly!
I doubt it will ever be possible to place buildings manually, but I can implement rerolling buildings without affecting existing roads.
Hi there Watabou, Thanks very much for your generators, they are fantastic and I appreciate the work you have put into them.
I am wondering if you potentially share with me the source of this generator similar to how you shared the town genereator source.
Thank you very much!
Love it! For use in historical games/publications would there be an option to (always) include a manor and church?
This would be too much specifics for my taste, but I do plan to add special larger buildings without specifying what they are and I'll try to find a convenient way to customise their number, shape, placing…
Indeed no need for labels/naming. Just 2 large buildings (of which one with a tower) would already suffice, sounds like what you plan.
This generator is an absolute treasure.
You have to fuss a bit with the value slider under style settings to get black and white maps, but there's so much convenience packed into this program, it's versatile, and it's free.
To those of you supporting the patreon, thank you.
Awesome! Can I use it to my game?
Thank you for replying!
How do i build my own city/village? Is is even possible, if so what game should i use?
What do you mean by "your own"? If you are asking about building a village of a specific shape, than no, it's not possible here. This application is only capable of generating random villages.
Where can I find the assets for things like the buildings and trees?
No assets are used here. Everything is created procedurally within the generator.
is there a way to load a map back in to the app
Not exactly. If you'd like to get back to a specific map later you need to save its permalink ("Permalink…" in the context menu).
it works but when i reroll the trees the change is not saved
Yeah, that's one of the limitations of the method - rerolls of the trees do not get saved.
May i ask what are the Avaible Fonts for the texts? Im was trying using the google fonts but none of them work, so if there is a specific List of which fonts are used, i would gladly ask for it please
You can use any font installed on your computer. For example, if it's Windows then Calibri, Impact and Georgia (among others) are most likely available to you. To use a specific font from Google Fonts you need to download and install it first.
Thanks for the help, Appreciate it!!!!
What's the default font?
https://fonts.google.com/specimen/Cinzel
Do you happen to live in the southern hemisphere? I can't help noticing that all the houses cast their shadows southeast, indicating the Sun is northwest. :)
Just a coincidence :) You can specify the direction of shadows in the Style settings dialog: Shadow > Angle.
This is simply amazing! I love how easy and detailed it is!
Just one thing. When you toggle the fields on/off, it also turns on/off the trees.
The newest update (1.2.7) seems to constantly generate lopsided fields, often covering fields with trees while leaving a big empty space field & tree free. (e.g. https://watabou.github.io/village-generator/?seed=313542736) is that deliberate?
I noticed too. Loooooot of trees.
If you need fewer trees, make sure that "Some" is chosen and then "Reroll" trees until you have the right amount of them.
Lopsided fields are mostly fields which the generator tries to place in rings around the centre of a village. So yes, this is deliberate, although as I said in the post, I'm not sure this is such a great idea. If there will be enough negative feedback about them, they will be removed.
The only thing that has changed about trees is that the last chosen value of None/Some/Many is remembered now. The way of distributing them across the map hasn't been changed.
nice
Hello Watabou could you make a car generator like your tank generator but from profile i want to make 3d model of cars for a game i'm making (for now i'm really at the begining) so i do not want to copy real car brand to make my vehicle (l'il post this in comment in different itch.io webpage of your generator so you will find my comments more easily)
Hello Watabou could you make a car generator like your tank generator but from profile i want to make 3d model of cars for a game i'm making (for now i'm really at the begining) so i do not want to copy real car brand to make my vehicle (l'il post this in comment in different itch.io webpage of your generator so you will find my comments more easily)
You are a litteral life saver I use these generators for all of my DnD maps. Thank you for your hard work!
I love the work you've done here! I'm confused though as to what the exported JSON is good for. I don't see a means to load a saved file other than under the style settings but that seems unrelated.
when I view the console output during village generation, I'm seeing a lot of cool stuff that isn't shown on the map. Apparently the map I generated has a town hall, a tavern called The Black Chalice, an inn called The Wet Lady, and a home belonging to someone named Saer Eastshield... I'm guessing this is all stuff you're working on surfacing at some point or another via a landmark feature w/ a legend. In the map settings, you can control population density but not the actual population. Being able to manually enter that would be super helpful vs rolling new villages till you get into the ballpark you're looking for. :)
Thanks!
Ah, I see. Thanks for the response. I was hoping that population X density equated to how many buildings got output, but it doesn't seem like that's the case. I look forward to seeing the points of interest getting output, I liked seeing the names in there when I inspected the page and having them surfaced on the front end would make the maps super interesting. (especially if you're using these maps as inspiration for a book you're writing, like I am) ^__^
I struggled to make points of interest interesting and not too extravagant at the same time. They tend to be repetitive which is not wrong - most villages need just a tavern, a mill and some kind of basic shop. But it's boring especially when creating multiple settlements in a row. Instead of adding more exotic venues (a necromancer's shop, a fighting club, a spa etc.) I'd like to be able to provide interesting details to mundane locations. That's what I'm going to work on.
I fully support this line of thinking, and offer my assistance if ever needed. ^__^
All of your generators are amazing, watabou. I'm so impressed and so grateful for all the work you've put in to let us use these.
Any plans in the future on being able to check both river and coast?
Thanks!
This is harder than it may seem. The difference between river and coast maps is that on river maps bridges are allowed and on coast maps they are not. So it is difficult to mix them but I'll find a way eventually.
I need a generator option that allows me to disable houses that appear on fields.
Or maybe the ability to delete houses by click? If that's easier to code.
In the next update I will do something about those houses, not sure what exactly though.
That's great! I look forward to seeing what you come up with.
Hi, I want to replicate this for a personal project. Are you able to explain how it was coded and the process you went through making this? Is there anywhere else I can contact you?
Hi. Basically this generator is an implementation of the idea explained here: link.
I just read the paper and I am lost.
Are there any tutorials or are you able to share some code?
I have no code to share, sorry. But here is another generator based on the similar (but not exactly the same) idea with open code and some explanations of the method: City Map Generator.
About being lost: don't let yourself be intimidated by the academic lingo. For example, when I started reading that paper I didn't know what tensor fields are. So I've read a Wikipedia article on them and got back to the paper. And then I realized that I didn't need "tensor fields" to get the idea at all...
Is there a way to disable houses and roads?
No, why? Do you you need a generator of... empty spaces? :)
Haha! Yes, I would love to generate empty fields and islands for DND! Love your tools my friend!
Hey Watabou when we can place buildings and trees fields by ourselves?
Saying "never" would be a too harsh reply, but nothing like that is planned at this moment :)
Hey watabou, this is absolutely wonderful and very, very impressive. Donated a bit :). I was just wondering if you could fix a tiny issue I found: the night-styled maps do add outline to the texts to ensure they are readable, however, exports (at least in PNG) don't include this outline. Apart from that, haven't found any other issue so far, it's just awesome.
As possible improvements... Perhaps add option to include fortifications in the future? Pallisade, watchtower, small local keep, tavern, generated shops/other points of interest with legend assigned?
Yeah, I'm aware of this issue, but there is no easy way to resolve it (that outline is created by applying a glow filter to the text, but apparently filters stop working on images which are too big). Probably I'll have to implement another way to add outline (e.g. like in MFCG) when there is more text in this generator.
Regarding those improvements:
Cheers!