Top critical review
11 of 12 people found this helpful
Very good books by LaMothe
on October 17, 2004
Another in what, a series spanning over a decade now. LaMothe brings up subject matter in a way others merely glean over. This time he takes what you learned from the previous book, Tricks of the Windows Game Programming Gurus, and gets into 16-bit color, real 3D issues and solutions, a large section on math and geometry derivations, model formats and loading issues, presentation, AI, sound and a host of other nuances that you'll run into during game design and implementation phases.
HOWEVER: I thought it would benefit readers to repeat an important aspect of this book.
This book is the SECOND book on this subject. The FIRST book; Tricks of the Windows Game Programming Gurus, contains the build up of the base library he uses and adds to. If you can't scan through the first chapter of this second book, you need to understand this. He makes it perfectly clear that this book will not break down the library he uses from the first book. The source is of course contained on the CD with this book, so you can do the lookup yourself. But if you are looking for the book to get started, get the first one. AFTER you've read the first one and have an intimate grasp of it, move on to this one. The techniques and subsequent additions he makes to the original library will be more than a bit confusing if you haven't read these books in sequence and don't understand what he's doing. If you've already done other reading on DirectX or made a simple DirectX window or fullscreen then you won't feel so lost. I believe this reiterates what the previous reviews stated. This is not a flights-of-fancy beginners book. That's the purpose of the first book.
This is the problem you will find with a lot of other "beginner's" books. Their first book is written and talks about the authors library which is already written. With LaMothe, he wrote them in order with the true beginner in mind.
You MUST have a very good understanding of C at the least, C++ would give you the best basis to read and implement his code. I say this because this engine is completely software driven and uses DirectX 7.0. It compiles fine with 9.0 because MS still includes the interfaces for DX 7.0. If you don't know what that means then you need the first book.
If you are expecting to have an engine that does what the latest commercial engines do, don't. The graphics pipeline he uses is software. But you will know more than enough about the basics of an entire 3D engine pipeline along with the peripheral engines; AI, Physics, Sound, Input, when you're done that you'll be ready to look at other available engines in a whole new light.
I'm not a fan of his writing style nor his sense of humor. I'm the guy who likes tech manuals. Once you get past the unneeded pages of his tangents and humorous anecdotes you will find some of the best information available on the foundations used in designing and implementing a workable 3D engine. If any of the information above, such as "pipeline" and "interfaces" doesn't makes sense, this book will overwhelm you from chapter 1. Get the first one. It's big, It's green, It's the HOW-TO of getting DirectX and Windows to work together to make a black DirectX window. Once you're there and understand how you got there, this book will take you into advanced subject matter.
I recommend this book highly if you've read the first. And even though the book title says Adv. 3D Graphics and Rasterization (the process of presenting a scene on the screen), LaMothe shows you the other things that go into a real game engine. This book does deal with advanced geometric mathematics, so have the relevant resources available when you get lost. He'll only hold your hand if you can stand on your own two feet in this department, it's not a math book.