Before the game was released, the developers were hyping the advantage of cities defending themselves. And, given the high maintenance cost of units, we can't put units in every city. So clearly cities are *supposed* to be able to defend themselves long enough for the cavalry to arrive.
But they don't.
City bombard does 1-2 damage. This is stupid and useless. Bombard should do significantly more. (Incidently, in globaldefines.xml is CITY_RANGED_ATTACK_STRENGTH_MULTIPLIER = 40. Changing this increases the damage city bombard does. However, it screws the AI over royally, as they AI still sends a handful of weak troops to capture CSs, but now looses them all.)
From longswords on (and perhaps earlier) you don't even *need* siege units to take undefended cities. I use siege to take out enemy units, but once the units are gone, two longswords can take out a city in two turns. Or riflemen/infantry/whatever later on.
So if two longswords land on a coastal city without warning, the defender has two turns to get reinforcements in to save his city. *This* is where the problem lies.
Improved city bombard damage would help, if the AI were adjusted.
Improved city regeneration helps a little. (Same xml file - CITY_HIT_POINTS_HEALED_PER_TURN = 1)
I'd like to see two new buildings available:
If I build a "garrison house" (maintenance 1) then the unit maintenance of any army garrisoned in the city is free.
If I build "emplaced seige" then the city bombard range is increased to 3.
Another option is to bring back the draft. As it is, I tend to keep enough cash on hand so that I can rush-buy a unit in any threatened city. Having the draft as an option would allow more flexibility.