Dreamopolis — Procedural Fantasy City Generator
Build the city of your dreams: a procedural generator that draws medieval towns from rules taken from real historical studies — streets-first radial growth, walls, fields, castles and rivers — then lets you hand-edit every road and plot and export the map.
From blank canvas to finished map
- 1Choose a size preset
Hamlet through Metropolis — or trace a custom boundary for the generator to conform to.
- 2Configure zones and terrain
Toggle walls, rivers, lakes, coastlines and citadels; tune density with sliders or typed values.
- 3Generate
The engine applies its research-based rules in your browser tab — country routes become wall gates, main streets lead to the market. No AI, no server queue.
- 4Edit and export
Drag vertices, repaint terrain, rename landmarks, add a legend with points of interest — then export PNG, JPG, PDF or a JSON layout. Battle maps export with a 5 ft grid for Foundry VTT.
What the generator builds
Historical growth order
Land and water first, then roads, walls and buildings — the same order real towns grew in.
Streets-first radial layout
Country routes become gates; main streets run from them toward the central market square.
Realistic terrain
Meandering rivers, lake basins, beach slipways and cohesive terrain tracts — not random noise.
A living legend
Mark any building, road or lake as a point of interest — numbered badges and a legend generate automatically.
FAQ
Is Dreamopolis free?
Yes — it runs free in the browser in beta. A guest demo lets you explore without an account; signing in saves cities to the cloud.
Does Dreamopolis use AI to generate maps?
No — every map is built by hand-coded rules drawn from studies of real medieval towns.
Can I use maps for D&D or VTT?
Yes — battle maps export with a 5 ft grid as PNG, JPG or PDF, including walls and doors for Foundry VTT and universal VTT.
Is Dreamopolis also a Geometry Dash level?
There’s a separate high-difficulty Geometry Dash level that shares the name — this page is about the city generator.