FantasyGen

How One D&D City Map Took Over 12 Sessions of My Campaign

TutorialD&DDnDCity MapWorldbuildingDungeon Master
Toby

I prepped 4 districts for a throwaway port city. Three months later my players refused to leave. How one D&D city map became the center of my entire campaign.

Session 26 of the Shattered Coast. The party needed a port city to book passage to the Shard Isles. I had 90 seconds to generate a D&D city map that would hold together for at least one session.

I typed "bustling harbor city with docks district, old town quarter, cliffside noble estates, and a central market square" into the city map generator and got back a map that looked like it belonged in a worldbuilding sourcebook.

I named it Driftholm. I gave it 4 districts. I planned to spend one session there.

That was 12 sessions ago.

AI-generated harbor port city map with docks and waterfront districts for D&D campaigns


The 4-District Framework

Here's the thing about D&D city maps: you don't need 40 named districts. You need 4.

Consider how a city actually works in play. Your players don't explore randomly. They go where the quest leads, where they can buy and sell things, where they sleep, and where they get into trouble. Four districts covers all of that.

For Driftholm, I mapped:

  1. The Docks — where ships arrive, goods get loaded, and smugglers operate after dark
  2. Saltmere Market — the commercial center with taverns, guild halls, and the place where information trades hands faster than coin
  3. Old Town — narrow stone streets, the temple district, residential blocks
  4. Cliff Quarter — noble estates perched on the high ground, the harbormaster's manor, sweeping views of the entire port

That's it. No sewer network. No detailed street layout for the fishing village on the outskirts. No underground catacombs.

I borrowed this thinking from Jane Jacobs — specifically her idea in The Death and Life of Great American Cities that a neighborhood needs only 4 things to function: mixed uses, short blocks, varied building ages, and density. Translate that to D&D: a city district needs a primary function (what happens there), a sensory anchor (what it looks, sounds, and smells like), a key NPC, and one secret.

Four districts. Four NPCs. Four secrets. That's a city.


What Happened at Session 26

The plan: dock, resupply, book passage to the Shard Isles, leave.

What actually happened: Jess's rogue went to the Docks to find a ship. I described a row of warehouses with obsidian dust on the loading dock — a detail I improvised because the Shattered Coast uses obsidian shards as currency. Jess asked, "Why is there raw obsidian at a shipping port? Isn't that like seeing raw gold piled up at a FedEx warehouse?"

One question. That's all it took.

By session 27, the party had staked out the warehouse. By session 28, they'd met Sergeant Varek — a border guard I prepped in 4 lines (gruff voice, short sentences, burn scar on his left hand, secretly taking bribes from a smuggling ring). By session 30, they'd uncovered that a dwarven mining cartel on the Shard Isles was funneling obsidian-laced weapons through Driftholm's docks.

None of this was in my original session plan. All of it emerged from 4 districts and one player asking the right question.

I've run 340 sessions across 8 years and 4 different groups. The campaigns where players drove the story hardest were always the ones where I gave them a physical space to reason about — a D&D city map they could point at and say "we go there." Abstract descriptions invite passive play. Maps invite planning.

Coastal harbor town city map showing docks, warehouses, and hillside town center for tabletop RPG The Driftholm city map — 4 districts, 90 seconds of generation, 12 sessions of gameplay so far.


Why 4 Districts Works (The Iceberg Principle)

Brandon Sanderson talks about the "iceberg" approach to worldbuilding in his BYU creative writing lectures: show 10% of your world, imply the other 90%. The audience fills in the rest — and their version is always richer than anything you could write.

The same principle applies to D&D city maps.

When I generated Driftholm's city map, it showed winding streets, clustered buildings, a harbor crowded with ships, and elevated terrain for the noble quarter. My players looked at it and immediately started asking questions I hadn't prepared for:

  • "What's that building at the end of the main dock? Is that a customs house?"
  • "Are there any ships flying the Kethranor flag?"
  • "The cliff district looks isolated. Is there only one road up?"

I improvised answers to all of them. The customs house became a story location. The Kethranor ship became a clue pointing to the missing cleric thread. The single road up the cliff became a tactical consideration 4 sessions later when the party needed to confront the harbormaster.

The map generated implications I never designed.

That's the iceberg working.


The Session 34 Moment

The arc peaked at session 34. The party had mapped out the entire smuggling operation on a whiteboard in my living room — not my whiteboard, their whiteboard. They'd drawn lines between NPCs, marked patrol routes on the city map I'd printed at the local shop ($1.50, engineering B&W, same process I use for all my printed maps), and color-coded which warehouses were legitimate.

Marcus's fighter wanted to storm the docks head-on. Jess's rogue wanted to turn Sergeant Varek into an informant. Dan's wizard — who normally forgets to prepare spells — had specifically prepped Invisibility and Detect Magic for the warehouse infiltration.

When your players bring a whiteboard to your house, the city is working.

That moment didn't come from elaborate prep. It came from the fact that 4 districts gave them enough structure to build a mental model. They knew where things were, which meant they could plan around geography. A vague description of "a port city" doesn't give players anything to grasp. A D&D city map with 4 labeled districts gives them a chessboard.


What I'd Do Differently

If I could restart the Driftholm arc, 3 things would change.

I'd generate 3 map variants, not 1. I generated one city map and used it for 12 sessions. By session 35, I wished I had a zoomed-in version of the Docks for the warehouse infiltration. I ended up generating one mid-campaign, and the visual style didn't quite match. The city map generator makes this trivial — 90 seconds per variant — so next time I'll generate an overview AND a district-level closeup before the first session.

I'd prep district NPCs from the start. I had Sergeant Varek at the Docks, but the other 3 districts had no named NPCs until the players visited them. Old Town's temple keeper got improvised at the table and ended up with a contradictory backstory because I forgot what I said 2 sessions earlier. Four NPCs. Write them before session 1.

I'd track district reputation. By session 32, the party had burned a warehouse in the Docks. That should have affected how every Docks NPC treated them. I didn't track it, so consequences felt inconsistent. Now I keep a simple table:

District | Reputation | Why
Docks    | Hostile    | Burned the Red Sail warehouse
Market   | Friendly   | Exposed the poisoned grain shipment
Old Town | Neutral    | Haven't caused trouble (yet)
Cliff Q. | Wary       | Asking too many questions about the harbormaster

Three columns. Updated after each session. Takes 30 seconds.


The Broader Principle

The question to ask is not "how detailed should my city be?" The question is "how many entry points does my city give the players?"

A city with 40 detailed buildings but one storyline is less interactive than a city with 4 districts and a secret in each one. Complexity doesn't come from detail. It comes from interconnection — when the smuggling ring in the Docks connects to the bribes at the Cliff Quarter which connects to the weapon shipments that trace back to the Shard Isles.

That's systemic city design. You don't need more districts. You need more connections between the districts you have.

Mike Shea's advice on designing fantastic locations pushes the same direction: a location needs a name, 3 notable aspects, and a secret. I scale that to 4 districts — each one is a "fantastic location." Together, they form a city that feels alive without requiring a 40-page gazetteer. A r/DMAcademy thread on city prep repeats this advice from a dozen DMs: prep what the players will touch, and imply the rest.

Medieval walled capital city map with castle and market districts for D&D worldbuilding Not every D&D city map needs to be a walled capital — but when it is, the same 4-district framework applies. The districts just get bigger.


Build Your D&D City Map in 4 Steps

If you're building a city for your campaign, start here:

  1. Name 4 districts. Give each a function. Docks, market, residential, and power center is a solid default — but swap based on your setting. An underground dark elf city might have Fungal Farms, Spider Warrens, the Obsidian Bazaar, and the Matron's Spire.
  2. Generate a city map. Use the city map generator to get a visual in under 2 minutes. The AI-generated map will add details you didn't plan — and those details become story hooks.
  3. Give each district 1 NPC and 1 secret. That's 4 NPCs and 4 secrets. Enough for 3-5 sessions of city-based play.
  4. Let the players connect the dots. Your job is to place the pieces. Their job is to build the conspiracy board.

I've used this same principle for building entire fantasy worlds in 3 hours — it scales. A world needs 4-5 kingdoms. A kingdom needs 3-4 cities. A city needs 4 districts. The number 4 keeps coming back because it's the smallest set that creates meaningful contrast.

Driftholm was supposed to be a rest stop. 47 sessions into the Shattered Coast campaign, it's the city my players mention most — and Jess is still chasing that smuggling ring.

Not bad for 90 seconds.


Related Reading

Toby - Author

Written by

Toby

Indie Developer & Creator of FantasyGen

Toby is an independent developer focused on building AI-powered creative tools. He created FantasyGen to help game masters and worldbuilders generate fantasy maps instantly — no artistic skills required.