From the introduction:
As a Games Master, there will come a point in your career when you will want an urban setting to let your players loose in. Be it a base between adventures or the backdrop to a scenario in itself, a fantasy town offers a nice contrast to wandering around the wilderness or deep underground.
However, there is one problem: how do you make a town seem a realistic, believable, vibrant place, rather than just a set of buildings populated by Non Player Characters just waiting for the party to walk around the corner? How do you know enough about the place to give the party the background information they need?
One solution is to get a ready-made town or city and adapt it to your game world. And this is fine, but there are two potential drawbacks. Firstly, what makes sense to me as a generic-city-designer might not make sense in your campaign world: what if I plan dozens of temples and your campaign world is atheist, for instance? Secondly, you will have to spend quite a lot of preparation time learning the details of my city- and amending them to fit your world.
What I propose is to set down a set of fairly straightforward principles that you can use to help design your own town or city. You can use all the elements I suggest or you can disregard or alter them as you see fit. This will ensure the final product is tailored to fit your campaign world. Also, because you will have been involved in the design process, the town will already have a life of its own in your mind: it will be much easier for you make the place seem real and buzzing than it would if you had to step into someone else’s creation cold.