“Sixteen Ways To Defend A Walled City” by K J Parker

Strong world-building, a few surprises, an original main character but delivered at a pace that dragged.

There’s a lot to like in this book. It creates a credible empire, with a rich history and a believable social structure. It makes clever use of pre-industrial military technology and military tactics.


It has a main character who is neither hero nor villain, just an engineer unable to resist trying to find a solution to defending a walled city under siege – even though it’s under siege by people he has more in common with than the people he’s defending.


The plot sets up a series of credible military and political problems and solves them in innovative but plausible ways. It also uses the backstory of the main character, who has gone from slave to Colonel of the Engineers, (which is impressive given that his skin is the wrong colour), to show what the empire is and to consider the choices those not born to rule it have to make.


So I should be saying “READ THIS”, but I’m not. I’m sure that there are many people who will enjoy it. I enjoyed bits of it. Unfortunately, the pace was so poorly judged that I spend much of the novel feeling unengaged. I felt as if I were watching a dramatised documentary where the focus was split between Engineering and sociology rather than storytelling.


It didn’t help that I listened to the audiobook, where the narrator, Ray Sawyer, got the tone and the accent right but was so slow that I played most of the book at 1.25% of normal speed with almost no distortion.


Click on the SoundCloud link below to hear a sample.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s