The Death of the Necromancer is a great urban fantasy set in a gaslight city, so when I found out that Martha Wells’ The Wizard Hunters was a sequel to it, I was expecting more of the same — and looking forward to it, because there aren’t nearly enough fantasies set in Victorian settings. But “more of the same” is precisely what Wells doesn’t deliver.

It quickly becomes apparent that, while this is a sequel, it’s not a particularly immediate one. It begins decades after The Death of the Necromancer, and quite a lot has happened in the interval. Characters from the earlier book are dead, electric lights are replacing the gas ones, and, oh yeah, Ile-Rien is in the late stages of a losing war against a mysterious and powerful enemy.

Things don’t get any more predictable from there — just as we’re becoming familiar with this strange new world, the book takes a detour into the realm of “crossover” fantasy, as the characters go through a portal to a different world, with medieval technology and evil wizards. In the wrong hands, this could have been a disaster. To take a novel and interesting setting, then throw it away to do Generic Medievaloid Fantasy, would be a shame. But Wells doesn’t give us Generic anything — this world may be low-tech and magical, but it’s alien, distinct, and well-developed. It’s so well-developed, in fact, that I was convinced it was a sequel to some other book, and that she was doing some universe-unification work (this doesn’t appear to actually be the case).

I’ve enjoyed all of Martha Wells’ books, and The Wizard Hunters is particularly good even by comparison to her other books. Interesting characters, two distinct and interesting worlds, a pacey plot, intriguing puzzles, and an all-around distinctiveness make this a book that stands way out from the YAMVEF crowd. The only caveat I’ll give is that this is a Book One, so those wary of reading novels on the installment plan (as I increasingly am these days) might want to wait for the whole thing to be finished. But do make sure to read it eventually.


{{}} said {{timeAgo(comment.datetime)}}