Medieval Fantasy City Generator
This application generates a random medieval city layout of a requested size. The generation method is rather arbitrary, the goal is to produce a nice looking map, not an accurate model of a city. Maybe in the future I'll use its code as a basis for some game or maybe not.
Click one of the buttons to create a new city map of a desired size. Hover the mouse pointer over a building to see the type of the ward it belongs to. Right-click to add a landmark. Press and hold SPACE to see all ward labels. Other keyboard shortcuts:
| ENTER | Create a new city of the same size group |
| C | Castle on/off |
| P | Plaza on/off |
| T | Temple on/off |
| W | City walls on/off |
| S | Shanty towns on/off |
| R | River on/off |
| O | Coast on/off |
| B | Buildings on/off |
| L | Legend on/off |
๐For development news and related stuff please check a dedicated reddit community.
The first version of this generator was created for the monthly challenge #17 of the proceduralgeneration subreddit. This generator is also available at fantasycities.watabou.ru where you can copy and share permalinks to specific maps, in other respects there are no differences.
๐๏ธ To view a 3D model of a city export it as JSON and import the file into City Viewer.
You can use maps 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โ!
Made with Haxe + OpenFL, the source code is available here.
| Status | In development |
| Category | Tool |
| Platforms | HTML5 |
| Rating | |
| Author | watabou |
| Made with | Haxe, OpenFL |
| Tags | City Builder, Fantasy, Medieval, Procedural Generation |
| Average session | A few seconds |
| Languages | English |
| Inputs | Mouse, Smartphone |
| Accessibility | Color-blind friendly |
Development log
- 0.7.6: Landmarks49 days ago
- City Viewer 1.0.1: gable roofs and .obj exportFeb 15, 2020
- City Viewer aka Toy Town 2Feb 06, 2020
- 0.7.3: Bug fixes, GeoJSON exportDec 01, 2019
- 0.7.2: Lots of (mostly) small (mostly) visual changesSep 25, 2019
- 0.7.1: Editable district namesJul 22, 2019
- 0.7.0: DistrictsJun 11, 2019
- 0.6.0: Custom colors, scale bar, elevationFeb 09, 2019


