Today's book review is Burning Tower by Larry Niven and Jerry Pournelle.
This is the sequel to The Burning City. The background from having read that book a few years ago probably helped me understand this one a little better, but the events in this book are self contained and it would probably make good sense to read this one even without reading the first. The first book is also really good, though, and also has a couple of fannish in-jokes that still make me chuckle today; you should read it if you haven't, so you might as well read it first. Both books are loosely set in the universe of Niven's The Magic Goes Away, but in a different corner of it than the other stories (and the canon seems altered in respect to the nature of gods), and a reader certainly won't need those earlier stories to understand this one.
This is a grand story of love, loyalty, and magic, set in a fascinating, well-drawn world. Our young, untried characters go out into the world, have adventures, accomplish great things by working together, trusting their friends, being smart, and having a certain amount of heroic luck, and reach the end of the book having come of age and come into their own, with their great adventure concluded but a good life ahead, and if none of their future adventures match the ones they've just had, they shouldn't be too dull either. I'm trying to find something to not like about this book, and there isn't much. There's one magic spell that's important in the plot that strains believability a bit, but it is magic. And there's that thing about unicorns and virgins, which is assumed and still not explained. (Yes, a unicorn is important in the story, but it isn't a sappy, cutesy unicorn story.) And there's one plot "twist", a development that surprises the characters but was so obviously coming to the reader that it takes a little bit of mental effort to accept that the characters really could have walked into that. But it all works very well.
I seem to have convinced myself I have to give this the coveted 10 out of 10.