What are your tips for providing players with a rich city environment without turning it into a Lonely Planet guide with bios of dozens of NPCs and businesses?
So what would you say are the essential DM prep priorities for an urban adventure session?
I think you've gotten a lot of good advice already HF.
It's different of course if it's a city the characters are just visiting, than for a city that is base of operations and living quarters.
Just go ahead and design out your city if it is a place they spend a lot of time, or get maps to a real city and fill in details or modify them.
I use Constantinople and there were basic and historically recreated maps of the era I use, so all I had to do was add in details that were directly relevant to the character's lives.
That way you always have consistent, background info on whatever you want or whatever the players want to explore, as well as the areas you've detailed as being especially relevant.
I'd also like to echo the advice about change. In any large urban center you are gonna have on-going public work projects, as well as new construction, repairs, demolition, etc. So even if you mistakenly give out so and so info and later on your players say, "hey, that wasn't there last time," you can say, "you're right fellas, it's new construction, or new use."
In cities, especially large important cities like Constantinople people are moving in and out all of the time, things are changing and in flux, there are constant threats, caravans of traders, merchants, and goods shipments, and in the case of Constantinople iconoclastic disputes, occasional military coups, threats of invasion or siege, secret areas like the underground cisterns, the Hippodrome, public games and ceremonies, religious festivals and fasts, huge masses being conducted, new constructions, military parades, VIP embassies, and so forth and so on.
So just keep a list of what is going on in the background.
In my list I include:
War
Threat of Invasion
Religious Ceremonies
Political rallies
Deme competitions
Public games
Horse races
Plague outbreaks
Earthquake
Fire
Pirate attacks on ships
Trade
Political Missions and Embassies
Religious Missions and Embassies
Economic Missions and Embassies
Census operations
Tax regulation
VIP visitors
Construction
Demolition
Spy Operations
Military operations
Naval operations
Criminal activities
Theatre productions
Expeditions and excavations
Public art and building projects
Markets and Forums
Monastery and church affairs
Libraries and Art work
Icon disputes
Keep a list like that and it will always be easy to have stuff going on in the background that makes the city seem absolutely alive. As a matter of fact take that list and you could easily create form it something like dozens if not hundreds of adventure/mission/scenario ideas. And keep a small list of more detailed places they visit often. And work those places into adventure ideas. It makes it feel like the places they are familiar with are constantly buzzing with real and important activity.
There are a lot of ways to do that.
For instance I turned the industrial district and the Dyer's Guild into an adventure about a Persian spy ring that eventually led to an important Theme General at the Strategicon (the War College) being implicated in treason which led him to cause his Cavalry unit to rebel within the city and attempt a civil war and coup. The players often visit the industrial district to arm or have repairs made to their equipment, and often work counter-espionage and often take their orders from the Strategicon. So I just took what they knew and wove it into a single adventure.
And I turned the Deme factions into a full scale city-wide riot in which the players were forced to wade through the riots because their families lived in the Alien Quarters and were caught between the Blue and Green Deme fighting.
And then again some unused and abandoned underground cisterns were infiltrated by a group of bandits posing as traders who were really trying to help Vikings raid the city by weakening city defenses from within the city. Allowing the Vikings to infiltrate in secret and hole up in the abandoned cisterns til they struck at night. The players had to infiltrate the gang, then take a strike force in secret into the cisterns and ambush the bandits and the Vikings.
The church the players usually attend mass at became part of a Patriarchal dispute and they became caught up in a new round of iconoclastic dispute and had to choose between following orders or sneaking a famous hermit artist friend of theirs to Greece, and if caught they could face ex-communication and treason charges.
And it is very good advice about having people change as well. Births, deaths, promotions, new positions, changes of residence, being posted or deployed elsewhere, families of friends coming to your characters for help, etc.
What I would say is keep simple notes on basic happenings and places, keep a few detailed notes about important things, and keep a simple list of important people they will encounter.
For instance I have most of the generals and city officials listed by name but you don't need hit point or armor class info on people like that. What are the real odds that a Theme General will engage in hand to hand combat with one of your players? Almost none, and if it is necessary then you can create that data when needed.
Otherwise you just need an NPC's name and some idea of what he looks and acts like. If he isn't going into combat with your characters then role play his character, not his stats. You don't even need to know his stats.
I've role played dozens if not hundreds of characters in my game and in Constantinople and all I ever needed to know was their name and motivations.
So keep simple lists on what you do need to know, detail when necessary, but otherwise forget all that stat crap. Your players will remember that they met an important person, a valuable ally, or maybe a suspicious spy. They'll never know or need to know most of the time what his stats were.
Anywho, that's how I play it.