Right click to open the context menu with all the options.

Hot keys:

  • ENTER - create a new village
  • Shift+ENTER - create a new village on the same terrain
  • Ctrl+ENTER - open the parameters window
  • P - export as PNG
  • J - export as JSON
  • S - toggle visual style
  • O - toggle title visibility
  • T - toggle trees visibility
  • E - toggle relief visualization

Made with Haxe + OpenFL.

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. Please consider supporting this project on Patreon☕!

Updated 24 days ago
StatusIn development
CategoryTool
PlatformsHTML5
Rating
(162)
Authorwatabou
Made withOpenFL
TagsCity Builder, Generator, Procedural Generation

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 68 · Next page · Last page
(+2)

Didn't come here for a while. Glad you are still alive. You are an artist i truly admire. Do you know some other places where good canvas projects can be found ? I mean i already know CodePen but even there, finding projects as good as yours is really hard...

Peace

Thanks! I can't recommend anything specific, sorry. Sometimes you can encounter links to projects in the same vein on /r/proceduralgeneration. I'm less aware of other people in the field than I should be...

(+1)

I freaking love this. So well done. Thank you for making this and making it free. You are awesome.

(+1)

This is cute as hell. Well done! I'll be happily using this for inspiration one day. 

(+1)

This has evolved into something incredible. Nice dude your stuff is such a gift.

(+1)

tank you

(+2)

Holy shit.... kinda tempted to make a minecraft world with this now lol

HTML5? Goram it. I don't suppose you have a flash or js version or something I can use locally, do you?
Oh.. and this is amazing. :)

(+1)

Why did you remove the large map option? Could you put it back?

(+1)

Because large villages were ugly and slow to generate.

(+1)

To me they were slow, but weren't ugly and I liked them. Could you add them back?

I'll put it back when I figure out how to make large villages less homogenous/more interesting. But it's not my top priority at this moment, sorry.

(+1)

Okay, don't worry it's fine

(+4)

It would be great if you could generate x input of maps under the conditions set, and export in a zip. Would love a few hundred of these as my desktop, beautiful little villages transitioning. Great little app!

(+2)

Side note - of course mashing P -> ENTER works too, but a feature I think would be handy nonetheless :)

(+2)

Love this so much! 

I think after the update though, S no longer toggles visual style, but rather relief visualization. This goes for both E and S keys. Is this just me?

S toggles forest styles now, but if forests are switched off (as they are by default) you won't see the difference. Yeah, that sounds confusing, I'll change it in the next version.

(+1)

favorite name. chicken wall

(+1)

Small ask, but might there be a way to 2x the contextual menu? Text is tiny...

You are on retina, am I right? I'll try to fix it in the next update...

(+4)

great generator, favorite town so far

(+2)

The most relaxing site on the entire internet. Patreon does not let me sponsor you via paypal, but I would, if I could. I love the NAMES. Yesterday I fell in love with "Mist Side" Pop 190. THANK YOU! 

(+1)

I don't have anything particular to use this for, but I greatly enjoy playing with it!

(+1)

I agree.

downloaded version?

(+2)

Here is the original download - done before most of the recent changes.

(+1)

A map of a generated village. The blank spots are for village info.

(+2)

Excellent tool.  Not only could this be useful for RPG games, I'm also going to be using the created villages to map out small towns/villages on my OpenGeoFiction mapping.  

(+1)

How do I get that wonderful nighttime effect in the Kilwater example? Can't seem to get it to show up with S.

(+2)

It's the "Vivid" style with a custom palette. Download the night palette (night.json) from this post and load it via the Palette window (right-click > Style > Palette...)

(+1)

Thank you kindly. Excellent work on this, by the way! As always.

(+2)

Watabu, you outdone yourself, again

need more to make

(1 edit) (+2)

Loving the palettes, trees and the island generator.  And the lights! POIs will be wonderful when they arrive too. Torn between this and perilous shores for my favourite... Thanks so much for these, they are such great places for my imagination to play.

(+1)

My pleasure!

(+1)

Very nice updates recently. Could you add a few larger buildings perhaps? Or maybe add generation settings to include "landmarks"?

How would you expect such landmarks to look?

(+2)

I dunno. Maybe things like lighthouses (concentric circles off-coast), statues (circle/free-form shape inset on a square), town halls (rectangle with protrusion), etc . Just something that stands out among the rectangular buildings that look the same.

(+1)

Quenten Walker

5:15 PM (0 minutes ago)
to Patreon

My main request is to get a SVG download of the Village generator, pretty please. Love your work more and more

It is still on my todo list. As I mentioned before, in my world (i.e. with Haxe+OpenFL) adding SVG export is a task to perform, it's not something that happens automatically (as it could be with native JavaScript+SVG). For this reason it will be implemented just for one of the styles. I guess you would expect it to be "Vivid", am I right?

(+2)

Yes, please. You are just terrific.

(+2)

export to svg?

(+1)

will be added in the future

(+1)

nice

(+1)

This is pretty nice!

(+2)

I would like it if it made hills and elevations as well. 

(+6)

generated something with only 1 building. so cuuute

(+3)

Huge fan of the generator! Love the idea of adding trees and the like (although I understand your resistance); would it be possible to add fields/farms the way the city generator does (with some association to population if possible)?

(+1)

There was a lengthy comment of mine about why I am reluctant to add fields, but I can't find it right now... Anyway, this idea is not off the table, maybe it will be implemented in the future.

(+1)

Your JSON isn't proper GeoJSON. Here's a PHP script to translate to GeoJSON:


<?php

/*
    when importing into QGIS, you want to simplify the linestring with a tolerance of about 0,00001 degrees
*/

if ($argc < 4 ) {
    exit( "Usage: place_village lat lon scale - with scale in s, m, l\n" );
}

$fp = fopen("php://stdin", "r") or die("cannot open stdin");
$lat = floatval($argv[1]);
$lon = floatval($argv[2]);

    // conversion:
    //   latitude = distance * 360 / (2*PI * 6400000)
    //   longitude = distance *360 * / (2*PI* cos(latitude) )
    switch ($argv[3]) {
        case 's':
        case 'm':
            $scale_lon = 0.5 * 360 / (2 * M_PI * 6400000); // for projection correction: ... 6400000 * cos($lat));
            $scale_lat = 0.5 * 360 / (2 * M_PI * 6400000);
            break;
        case 'l':
        default:
            exit("scale must be one of s, m, l - instead of '".$argv[3]."'\n");
    }

$input_data = file_get_contents("php://stdin");
$json = json_decode($input_data);

foreach ($json->features as &$feature) {
    if (isset($feature->coordinates)) foreach ($feature->coordinates as &$coordinate) {
        move_this($coordinate);
    }
    if (isset($feature->geometries)) foreach ($feature->geometries as &$geom) {
        if (isset($geom->coordinates)) foreach ($geom->coordinates as &$coordinate) {
            move_this($coordinate);
        }
    }
}

function move_this(&$coordinate) {
    if (is_array($coordinate[0])) {
        foreach ($coordinate as &$c) {
            move_this($c);
        }
    } else {
        global $lat, $lon, $scale_lat, $scale_lon;
        $coordinate[0] = floatval($coordinate[0]) * $scale_lon + $lon;
//        $coordinate[1] = -1 * floatval($coordinate[1]) + $y; // old pre-json-export files needed Y flipped
        $coordinate[1] = floatval($coordinate[1]) * $scale_lat + $lat;
    }
}

// now convert to GeoJSON
$new_features = array();
foreach ($json->features as &$feature) {

    if (isset($feature->coordinates) && $feature->id != "earth") {
        // buildings
        $coords = close_rings($feature->coordinates);
        $new_features[] = array("type"=>"Feature", "properties"=>array("id"=>$feature->id), "geometry"=>array("type"=>$feature->type, "coordinates"=>$coords));
    }

    if (isset($feature->geometries)) {
        // roads
        $coords = [];
        foreach ($feature->geometries as $geom) {
            $coords[] = $geom->coordinates;
        }
        // "type" is the GQIS road type string - here "local" for local roads
        $new_features[] = array("type"=>"Feature", "properties"=>array("id"=>$feature->id, "type"=>"local"), "geometry"=>array("type"=>"MultiLineString", "coordinates"=>$coords));
    }
}
$new_json = array("type"=>"FeatureCollection", "features"=>$new_features);

function close_rings($coordinates) {
    if (is_array($coordinates[0][0])) {
        $all = [];
        foreach ($coordinates as $c) {
            $all[] = close_rings($c);
        }
        return $all;
    } else {
        $coordinates[] = $coordinates[0];
    }
    return $coordinates;
}

echo json_encode($new_json, JSON_PRETTY_PRINT);

?>

It is not: https://www.patreon.com/posts/37407181

(+1)

Also: Possible to get a PNG export with transparent background (without the ground) ?

(+1)

It's a bit harder than it may seem, because I draw land over water, not the other way around. I'll think what I can do about it...

(+2)

Is there a way to get a link with seed out of this, to replicate a village?

Or set parameters like population?

(+1)

I can implement getting/setting a seed via UI, but that's probably not what you need? To add permalinks I would need to set up a non-itch version (similar to MFCG).

(+1)

Ah yes. Yes, similar to MFCG. Azgaar's uses those permalinks, for example.

(+1)

I will do that on my next iteration with VG.

(1 edit) (+5)

man i don’t know how to contact you other way but i just wanting to say this things you make for medieval is so amazing programs thank you so much to take so much time and effort to bring us these things... i will donate to you patreon i promise just i waiting to have some spare money :( i promise i will donate you because you work hard on this by obvious and u really love it a lot thank you please keep making more things like this!!

Cheers!

(+3)

Oh my god, watabou you amazing!)

(1 edit) (+5)

This is such a great app, I think I might like it almost as much as MFCG.  Thank you for all you do!  If you're taking suggestions for additions I would really love to be able to ask for a specific number of buildings.  I realise it may be an emerging property but it would be SO useful when trying to build fantasy settlements to suit population sizes.  Then I just need to add the right number of the right kind of businesses. :-)

(+2)

Could it even tell just us how many buildings there are?  That would be a big help!

(+2)

Yeah, that's exactly an emerging property, but adding the resulting number of buildings somewhere is not a problem👍

(+1)

That would be amazing! Thanks again watabou! I really love the layouts this generates.  Mixing the sizing paramaters produces so may different settlement sizes, it's fantastic.  In particular, a large map with a high population density produces some amazing looking towns and small cities perfect for world building and map making.

(+2)

Is it possible to download this? That would be incredible!

For now it's a web-only application, sorry. You can try some tools which download all the files to run them locally.

(+1)

Alright, that's okay. This page is awesome though! I am using the maps to make the towns more realistic in my 3D RPG game.

(+2)

I love the contours, river and coast - much more realistic then in MFCG. Any chance of doing the same for MCFG? (my favourite generator)

(+1)

I am going to try, but it's not only about style, but also about underlying data - these generators use very different models. So most likely it won't be possible get identical images.

(+2)

Another suggestion looking at these vs the excellent "Village Book 1" maps: add round and polygon buildings to the generator.

Polygon buildings like "complex" ones in MFCG? Can't imagine what round village buildings could be :)

Iron age buildings, eg Celtic britain; even native American, Mongol, Inuit

(1 edit) (+1)(-1)

Like MFCG, this would benefit from the option for both coast and river at the same time: the place where the river meets the sea. 

Viewing most recent comments 1 to 40 of 68 · Next page · Last page