top of page
Search

How to Build a D&D City Your Players Actually Want to Explore

Writer: James Barron
James Barron
Sep 15
13 min read

A good fantasy city should feel like a place that existed before the adventurers arrived.

It should have businesses that open in the morning, people who have somewhere to be, arguments happening in alleys, children getting into trouble, nobles making questionable decisions, merchants trying to make a living, and at least one tavern where somebody is absolutely certain they know what really happened to the king.

But here's the trick:

You don't have to build the entire city.

You only need to build enough of it to make your players believe the rest is there.

A great D&D city is not a list of buildings.

It is a story engine.

It gives your players somewhere to go, people to care about, problems to solve, secrets to uncover, and reasons to come home after an adventure in the wilderness.

It is where the characters stop being adventurers for a few hours and get to be people.

Maybe the wizard spends three hours researching forbidden magic.

Maybe the fighter meets someone they actually like.

Maybe the rogue's old contact has a job.

Maybe the cleric discovers that the temple is not quite as charitable as it claims.

Maybe the barbarian finds the best bakery in the entire kingdom.

And, inevitably, someone gets arrested.

Let's build a city.

Start With the Question: Why Does This City Exist?

Before drawing streets, decide why people built a city here.

This single question gives you a tremendous amount of worldbuilding for free.

Is it:

  • A major trading center?

  • A port?

  • A military fortress?

  • The seat of a powerful kingdom?

  • A religious center?

  • A mining town that became enormous?

  • A city built around an ancient magical site?

  • A crossroads between several nations?

  • A city recovering from a recent war?

  • A wealthy capital surrounded by impoverished districts?

  • A frontier settlement that grew faster than anyone expected?

The answer should affect everything else.

A port city will have sailors, warehouses, foreign merchants, shipwrights, smugglers, taverns, customs officials, and people who make their living from the sea.

A military city might have barracks, weaponsmiths, training yards, veterans, military bureaucracy, fortifications, spies, and families who have lived with soldiers for generations.

A city built around an ancient magical site might have scholars, pilgrims, treasure hunters, magical businesses, strange accidents, and people who have learned to treat the impossible as part of their daily commute.

You don't need to explain all of this to your players.

Show it to them.

If the city exists because three major trade routes meet there, have the party walk past carts from three different countries.

If it is a military city, let them hear soldiers drilling in the distance.

If it is a magical city, let a street vendor complain that today's levitating fruit delivery is already two hours late.

The city becomes believable when its purpose affects ordinary life.

Give the City a Theme

Your city should have a personality.

Not necessarily a gimmick.

A personality.

Think about how you would describe the city to someone who has never been there.

Perhaps:

"Beautiful, wealthy, and just a little rotten."

Or:

"Everyone is trying to get somewhere."

Or:

"The old empire is falling apart, but nobody wants to admit it."

Or:

"Magic is everywhere, but nobody has enough money to use it."

Or:

"Everyone knows everyone else's business."

That theme becomes your filter.

Suppose your city is built around wealth and inequality.

Now you have an immediate juxtaposition:

The noble district has fountains that run with magically purified water.

Three streets away, people are carrying buckets from a public well.

The best restaurants throw away food every night.

A neighborhood charity feeds hundreds.

The thieves' guild knows exactly which nobles are secretly drowning in debt.

You have created conflict without writing a villain.

The city itself is telling the players something.

Build Districts, Not Every Street

This is where many Dungeon Masters accidentally create homework.

You do not need to know what is in every building.

Instead, divide the city into a handful of areas with different purposes.

For example:

The Old Quarter

Older buildings, narrow streets, established families, ancient temples, forgotten tunnels.

The Market District

Merchants, crowds, food, craftsmen, adventuring supplies, scams, entertainers.

The Noble District

Manors, political influence, private guards, expensive restaurants, gardens, gossip.

The Docks

Warehouses, sailors, foreign goods, smugglers, taverns, shipyards.

The Scholar's District

University, libraries, magical research, bookstores, laboratories.

The Poorer Districts

Tenements, cheap food, community organizations, street gangs, local heroes.

That's enough to start.

Now give each district one memorable feature.

Maybe the Old Quarter has a bell tower that has not rung in 200 years.

Maybe the Market District has a bakery everyone agrees is the best in the city.

Maybe the Noble District has a giant public garden where duels are forbidden.

Maybe the docks have a tavern built inside the hull of a wrecked ship.

Maybe the Scholar's District has a library whose books occasionally rearrange themselves.

Now the players have landmarks.

You can invent the rest when they ask.

Build the Places Your Players Are Likely to Need

A functioning city needs certain basic services.

Your players will eventually ask:

"Where can I buy a potion?"
"Is there a blacksmith?"
"Where can we get horses?"
"Is there a library?"
"Where can we find a healer?"
"Do they sell magic items here?"

You don't need fifty shops.

You need the handful of places that support your campaign.

Start with:

  • An inn or tavern

  • A general merchant

  • A blacksmith

  • A temple or healer

  • An adventuring supply shop

  • A place for information

  • A library or source of knowledge

  • A government building

  • A place connected to each major faction

Then add specialty locations based on your characters.

Have a wizard obsessed with magical artifacts?

There should be somewhere they can investigate them.

Have a fighter who is fascinated by weapons?

Give them a legendary swordsmith.

Have a rogue who loves gambling?

There is absolutely a suspiciously exclusive card room.

Have a ranger who misses the wilderness?

Give them a hunter's lodge where they can talk to people who understand the road.

Build the city around the characters who are actually sitting at your table.

Give Every Character Something in the City

This is one of the easiest ways to make a city feel important.

Don't make the city "the wizard's library."

Make it somewhere everyone has a reason to care about.

For example:

The Wizard

The restricted section of the Grand Library contains references to the forbidden spell they have been researching.

The Fighter

Their love interest works for a noble family.

Unfortunately, that noble family is currently feuding with one of the party's allies.

The Rogue

An old contact has information about a shipment disappearing from the docks.

The Cleric

Their temple is preparing for a major religious festival.

Someone has been stealing donations.

The Ranger

A merchant who supplies the city's hunters has been receiving strange reports about creatures appearing outside the walls.

Now you have five reasons to explore the same city.

And they don't have to be five separate quests.

The wizard's research might reveal something connected to the stolen shipment.

The fighter's love interest might know who stole the book the wizard needs.

The rogue might know where the thief is hiding.

The cleric might recognize the symbol found on the stolen goods.

The ranger might discover that the creatures outside the city are connected to the same organization.

Suddenly, the city feels interconnected.

Because it is.

The Most Important Rule: Multiple Hooks

Never assume you know which part of your adventure the players will find interesting.

Give them options.

Suppose the party enters the city and you have prepared:

  1. A mysterious murder.

  2. A wizard looking for forbidden knowledge.

  3. A thieves' guild recovering a stolen book.

  4. A noble asking for help with a political rival.

  5. Strange creatures appearing outside the city.

  6. A festival beginning tomorrow.

You have no idea which one they'll care about.

That's fine.

You don't need to.

The players will tell you.

Maybe you expected the murder investigation to be the big story.

Instead, the fighter asks:

"Wait. Who's the noble?"

Excellent.

Follow the fighter.

Maybe the wizard ignores the noble entirely and asks:

"Did you say there's a restricted section in the library?"

Excellent.

Follow the wizard.

Then the rogue says:

"You said thieves' guild?"

Excellent.

Follow the rogue.

You don't have to force everyone onto the same hook.

Let the players choose what becomes important.

Don't Throw Away the Hooks They Ignore

This is where your city becomes much easier to run.

If the players don't investigate the murder, don't delete the murder.

Move it.

The victim had connections to someone else.

The killer leaves town.

A faction becomes angry.

The guards start investigating.

The party hears about it three days later.

If nobody cares about the strange creatures outside the walls, let those creatures continue doing whatever they were doing.

Maybe they get closer.

Maybe a merchant arrives from the countryside with alarming news.

Maybe the city closes one of its gates.

The world should continue moving.

You don't need to punish players for ignoring a plot.

You simply let the consequences develop without them.

This creates one of the most important feelings a campaign can have:

The world does not revolve around the player characters.

But when they decide to get involved?

The world reacts.

Use NPCs as Connections, Not Encyclopedias

You do not need to create a biography for every shopkeeper.

Instead, give important NPCs three things:

1. What They Want

Money?

Respect?

Power?

Love?

Revenge?

Security?

Recognition?

2. What They Know

Every useful NPC should know something.

It doesn't have to be a quest.

Maybe the bartender knows which noble always visits on Thursdays.

Maybe the librarian knows who checked out a particular book.

Maybe the blacksmith knows that someone has been buying an unusual number of silver weapons.

3. What Complicates Their Life

This is what makes them interesting.

The bartender's daughter joined the thieves' guild.

The librarian is secretly protecting a forbidden book.

The blacksmith is supplying weapons to both sides of a conflict.

The noble's family wants them to marry someone else.

The priest knows something about the city's founding that the church would rather remain forgotten.

Now the NPC has somewhere to go.

Make the City Feel Familiar Before You Make It Magical

This is one of the best tricks for fantasy worldbuilding.

Start with things your players understand.

People go shopping.

Children play in the streets.

Someone is arguing with a merchant.

A dog steals a sausage.

A guard is having a terrible morning.

A couple is having an argument outside an inn.

A baker is yelling at a delivery driver.

Then add the fantasy.

The dog is a blink dog.

The guard is arguing with a talking statue.

The delivery driver is a goblin riding a giant chicken.

The baker uses a tiny fire elemental to heat the ovens.

The couple's argument is happening because one of them is secretly a vampire.

You don't need everything to be magical.

Magic is more magical when it exists alongside ordinary life.

Remember the Outlands

The city should also make the wilderness feel more dangerous.

The party might spend three sessions fighting monsters in an ancient ruin.

Then they return to the city.

Suddenly they are surrounded by:

  • Warm beds

  • Clean water

  • Food

  • Shops

  • Friends

  • Familiar streets

  • People who know their names

That contrast matters.

The city becomes home.

And once somewhere feels like home, the players care when something threatens it.

Likewise, the wilderness should make the city feel civilized.

After sleeping in the mud for three nights, the fighter may become emotionally attached to a particular inn.

After being attacked by wolves, the ranger may appreciate the city's walls.

After crawling through a dungeon full of traps, the wizard may spend an entire evening happily sitting in a library.

The city and the wilderness make each other more meaningful.

Give the City Secrets

Not everything needs to be immediately visible.

Think in layers.

What Everyone Knows

"The thieves' guild runs the docks."

What Most People Believe

"The guild only steals from people who can afford it."

What the Characters Discover

"The guild has been stealing specific books."

What the Guild Knows

"Someone is paying them to find those books."

The Bigger Secret

"The books describe something buried beneath the city."

Now your ordinary shopping trip can become an adventure.

The party might have gone to buy rope.

Instead, the shopkeeper mentions that another customer purchased thirty feet of rope, climbing gear, and a shovel yesterday.

Why?

Now they are interested.

The city creates mystery because information travels through it.

Build Factions That Want Different Things

A city becomes particularly interesting when multiple groups have legitimate reasons to disagree.

For example:

  • The City Watch wants order.

  • The Merchants' Guild wants profit.

  • The Thieves' Guild wants freedom.

  • The Nobility wants influence.

  • The Temple wants stability.

  • The Mages' College wants unrestricted research.

  • The dockworkers want better wages.

Notice that you don't need an evil faction.

Conflict happens naturally when people want different things.

The Merchants' Guild may want the Watch to crack down on smugglers.

The Thieves' Guild may argue that the merchants are exploiting local workers.

The Watch may be caught between them.

The temple may be sheltering refugees the government wants removed.

The mages may be conducting experiments the Watch considers dangerous.

Now the players have choices.

And those choices can have consequences.

Give Players Somewhere to Be Between Adventures

This is one of the most overlooked functions of a city.

Your characters need somewhere to breathe.

A campaign becomes richer when the party has routines.

Maybe they always stay at the same inn.

Maybe the wizard spends downtime at the library.

Maybe the rogue plays cards with a bartender.

Maybe the fighter visits the same bakery because the owner remembers their order.

Maybe the cleric volunteers at a local temple.

Maybe the entire party has a favorite restaurant.

These details may never become a quest.

That's okay.

They make the characters feel like people instead of statistics walking from encounter to encounter.

And when something happens to that place?

The players care.

Let Characters Have Relationships

A city is the perfect place for romance, friendship, rivalry, family, mentorship, and complicated social relationships.

Your fighter might have a love interest.

Your wizard might have an old professor.

Your rogue might have an ex-partner who is now a respectable business owner.

Your cleric might have a sibling who thinks adventuring is irresponsible.

Your barbarian might have accidentally become a local celebrity.

These relationships don't have to become major plotlines.

In fact, they often work better when they don't.

Sometimes the fighter's love interest simply wants to have dinner.

And that dinner becomes memorable because the players know these people.

Of course, if the love interest happens to possess information about a stolen book the Thieves' Guild just recovered for the fighter's rival...

Well.

That's when things get interesting.

Create Juxtaposition

Cities are excellent places to put two very different things next to each other.

A palace beside a slum.

A holy temple beside a gambling hall.

A children's park beside an ancient execution ground.

A luxurious magic shop beside a struggling general store.

A university beside a monster-infested sewer.

A beautiful garden growing over the ruins of an old battlefield.

These contrasts create questions.

Why is that here?

Who built it?

Who benefits?

Who doesn't?

What happened?

The players will often create more interesting stories from these questions than you could have written yourself.

Make Shops More Than Shopping Menus

Avoid making every merchant sound like this:

"I sell rope, torches, rations, healing potions, and +1 swords."

Instead, give the shop a personality.

The potion shop might be run by an elderly alchemist who insists every customer explain what they are using the potion for.

The blacksmith might refuse to sell weapons to anyone who cannot tell him what they intend to protect.

The magic shop might have a strict no-refunds policy because a previous customer returned a cursed ring.

The bookstore might have a cat that has inexplicably been alive for 42 years.

Now shopping becomes roleplay.

And roleplay creates attachment.

Don't Overprepare the City

This is the biggest practical lesson.

Prepare situations, not scripts.

You don't need:

  • 100 named NPCs

  • 80 shops

  • Every street mapped

  • A complete history of every district

  • Menus for every restaurant

  • Stat blocks for every citizen

You need:

5–7 Districts

Enough to establish the city's major areas.

5–10 Important Locations

Places the characters are likely to visit.

8–12 Important NPCs

People connected to the characters, factions, or major conflicts.

4–6 Factions

Groups with competing interests.

6–10 Hooks

Problems, opportunities, mysteries, relationships, and rumors.

3–5 Secrets

Things that become important if the players investigate.

That's enough to run an enormous amount of play.

Everything else can be created when the players ask.

The "Three Layers" Method

When preparing any important location, give yourself three layers of information.

Layer One: What They See

What immediately establishes the place?

"The library is enormous, with six floors of bookshelves and a brass dragon statue guarding the entrance."

Layer Two: What They Discover

What rewards curiosity?

"The librarian mentions that the sixth floor has been closed for twenty years."

Layer Three: What They Uncover

What turns curiosity into adventure?

"The restricted books aren't being kept there to protect the public from them. They're being kept there to protect the books from something underneath the library."

You can use this technique everywhere.

It prevents you from dumping information on your players while still giving curious players plenty to discover.

Your City Should React to the Party

This is what turns a backdrop into a campaign location.

If the players save a neighborhood, people should remember.

If they rob a noble, someone should notice.

If they expose corruption, factions should react.

If they become friends with the guards, that relationship should matter.

If they accidentally destroy the mayor's favorite fountain...

Well, that should probably matter too.

Let reputation develop naturally.

The party might eventually walk into a tavern and hear:

"Those are the adventurers who stopped the warehouse fire."

Or:

"Don't sell them anything. They're the ones who broke into Lord Valerius's estate."

Or:

"Wait. You're the people who killed the sewer monster?"

Suddenly the characters have a history.

The city remembers what they do.

The City Is a Toolbox

The most useful way to think about your campaign city is not:

"What happens here?"

Instead, ask:

"What could happen here?"

That's a much better question.

The wizard needs forbidden knowledge?

There is a library.

The fighter needs a relationship?

There is someone worth meeting.

The rogue needs a criminal contact?

There is a thieves' guild.

The cleric needs a moral dilemma?

There is a temple with competing priorities.

The party needs equipment?

There are shops.

They need information?

There are bartenders, merchants, guards, nobles, scholars, criminals, and gossiping grandmothers.

They need trouble?

There is always trouble.

They need somewhere to recover after a dungeon?

There is home.

And that is ultimately what a great D&D city provides.

Home.

Not necessarily a safe place.

Not necessarily a peaceful place.

But a place the characters recognize.

A place where they have people.

A place where their choices matter.

A place they can return to after surviving the dungeon and say:

"Okay. What happened while we were gone?"

And then you get to smile.

Because you already know.

A Quick City-Building Checklist

Before your players arrive, make sure you can answer these questions:

The City

  • Why was it founded?

  • What keeps it alive today?

  • What is its defining theme?

  • What makes it different from other cities?

The Districts

  • Where do wealthy people live?

  • Where do ordinary people work and shop?

  • Where do travelers gather?

  • Where do criminals operate?

  • Where do scholars or religious groups gather?

  • Where does the city become dangerous?

The People

  • Who runs the city?

  • Who actually has power?

  • Who provides information?

  • Who causes trouble?

  • Who could become an ally?

  • Who could become a friend, rival, or romantic interest?

The Factions

  • What does each faction want?

  • What does each faction fear?

  • Which factions cooperate?

  • Which factions compete?

The Characters

  • What does each PC want here?

  • Who might they know?

  • What place would they enjoy visiting?

  • What problem could become personal?

The Story

  • What are 6–10 possible hooks?

  • Which hooks connect to multiple PCs?

  • What secrets are waiting to be discovered?

  • What happens if the party ignores them?

  • How will the city react to the party's choices?

If you can answer those questions, you have enough.

You don't need to build the whole city.

Build the parts your players can touch.

Then let them tell you which parts matter.

Because the best campaign cities aren't the ones the Dungeon Master planned perfectly.

They're the ones the players slowly decide are theirs.

 
 
 

Recent Posts

See All
How to Build a Dungeon That Challenges Your Party

There is a particular kind of silence that falls around a table when the Dungeon Master describes the door. The characters have fought their way through the dungeon. They've spent spell slots. They've

 
 
 
11 Warhammer Campaign Ideas Inspired by History

A great Warhammer campaign needs more than a collection of missions. It needs pressure. An army should have somewhere it must go, something it cannot afford to lose, and more problems than it has forc

 
 
 

Comments


bottom of page