In my previous reviews of Premier (formerly Prima) Press' titles in their Game Development Series, I had one chief complaint - the size of the books. The books often covered rather narrow subjects, but they were padded to enormous size with a lot of "extras" that have already been better covered in other books. Hence the series consisted largely of 700-page books that retailed for as much as $60. This can certainly be forgiven for a title that covers a broad subject like <i>OpenGL Game Programming</i>, but you just know that a 700-page book on writing isometric-perspective games is doing a lot of padding.
Thankfully, Premier has addressed my concerns with their new "Focus On" series. This is a sub-series of books that better fit the narrow subjects to which they're written, both in page-count and price. They average 200 pages and cost around $30, which makes the purchasing decision much less stressful, at least for me.
<i>Focus on 3D Terrain Programming</i> is a good example of the series. It's a fairly narrow topic and is sized and priced accordingly. It doesn't pretend to be a DirectX tutorial or a tutorial of any kind, for that matter. It's a book on how to draw, light, and walk realistic-looking 3D terrain, and that's it. It predictably starts off with the simple stuff, drawing a 3D mesh from a heightmap. Chapters 3-4 cover texturing and lighting terrains realistically. Chapters 5-7 cover more advanced algorithms like ROAM, which was used for the game Treadmarks, a game for which the author has a significant soft spot. The algorithms are well-illustrated and easy to follow, even for an old die-hard 2D curmudgeon like myself.
Further kudos to the author for actually explaining the algorithms rather than just pasting in ten pages of example source code. When explaining how something abstract like a code algorithm works, a picture truly is worth a thousand words. Too many books (including many Premier titles) take the easy way out by just posting a bunch of code and hoping that the reader can figure out the technique. <i>Focus on 3D Terrain Programming</i> is thankfully light on pasted-in code and heavy on explanation.
The pack-in CD is also quite good, containing all of the code examples along with executable versions of all of the examples so that you can see an example work without having to drag out your compiler. I've got too many books where the CD includes all of the example source code, but for some reason fails to include the executables or, in some cases, the project files.
In the way of complaints, I have to cite the author's age. While I was hoping not to need to point out that the book was written by a high-school kid, the repeated use of "cool" and "awesome" in describing virtually everything makes it hard not to. Also, while the book covers several terrain algorithms, some are just mentioned by name. A couple are covered in third-party articles on the CD, but some weren't. Finally, somebody didn't take a very close look at how the some of the pictures would look in black & white, because many of the photos of example textures just look like burnt mud.
And a final note. All of the examples are done using OpenGL. While I find this an understandable choice, given that it at least gives the appearance of being cross-platform, some may have preferred Direct3D examples. Far as I can tell, the author's not using any OpenGL features that are so advanced that they couldn't be done as well with Direct3D.
In conclusion, Premier finally stopped trying to make all of the books in their Game Development Series be all things to all people. Books like <i>Focus on 3D Terrain Programming</i> that cover a single subject are given the small and inexpensive treatment they deserve. It's not a perfect book, but if you have a need to draw 3D terrain in your game, it's a good place to go.