11/30/2009

Review of Special Effects Game Programming with DirectX w/CD (The Premier Press Game Development Series) (Paperback)

I've been looking forward to this book for a long time now. I've attended several industry conferences with the author, and he's written numerous articles for our website, so I know him to be both an excellent game programmer and talented writer. I had high expectations for this book, and I'm happy to report that it not only lives up to them, it exceeds them.

This book does two things very well: it provides first-rate coverage of DirectX, and it provides the most extensive coverage of special effects ever put in to a game programming book. I'm going to review each of these aspects of the book separately.
The first half of this book is dedicated to covering the basics of Windows programming, 3D math, and DirectX, and it makes the assumption that you're new to all of these areas. He covers all components of the DirectX API, including DirectAudio, DirectInput, DirectPlay, DirectShow, and of course, DirectGraphics (aka Direct3D), which is where the book really shines. Before this book, I had not encountered a single Direct3D book which I could recommend without reservation. He dedicates 5 hefty chapters to DirectGraphics, including two on texture mapping and one on pixel and vertex shaders (and that doesn't count the second half of the book which provides plenty of examples and advanced techniques). Simply put, this is without question the best book currently on the market from which to learn DirectX, and for that reason alone, it's earned a place at the top of my recommendations list.

Note that even if you aren't new to DirectX, you'll probably find a lot of useful things in the first half of the book which are generally omitted from or glossed over in (most) other books, such as action mapping, DirectShow, and DirectPlay. Even the 3D math section has something to offer, with the most concise and accessible explanation of quaternions that I've come across.

The special effects section of the book is divided into two parts. The first covers 2D effects, including fire, water, image feedback, image warping, clouds, blurs, and transitions. Before you complain about 2D being a thing of the past, note that these effects are intended for use in title screens, or for generating textures to be used in 3D worlds. The second part is, of course, 3D effects, and includes particle systems, explosions, 3D water, guns and projectiles, lens flares, and vertex and pixel shader effects. All of these are presented quite well, but the particle system coverage deserves special mention. It spans almost 100, and takes you all the way from a basic system to a powerful, flexible system controlled through scripts.

Each special effect is accompanied by at least one demo program, which is thoroughly explained in the book. The only downside to this is that the author was only able to focus on a single algorithm for each effect, but he at least mentions some of the alternative approaches, as well as suggestions for improving the techniques he presents. Overall, any game programmer should be able to benefit from the special effects portion of the book, even if you've done some of these things before.

My only real complaint about this book is that it should have been two books. Experienced game programmers will probably find a lot they can use in the special effects portion of the book, but may find the DirectX portion unnecessary. Beginning programmers will definitely benefit from the DirectX portion, but may want to spend some time working on basic game techniques before diving into the special effects portion. But, it's not two books, and as a single volume, it's still worth the price. Also, you should be aware that some of the effects covered in this book require a newer video card to even be able to run the demo program. To get the most out of the book, you'll need a card that at least supports vertex shaders, and preferably pixel shaders as well. Also, if you're not pretty comfortable with C++, you may find yourself struggling with some of the code.

Overall, this book is extremely well-written and easy to read. There's so much that this book has to offer that is difficult, if not impossible, to find elsewhere, I strongly recommend it as a must-have for anyone interested in game programming.

Product Description
Ever look at a really cool effect in your favorite game and wonder, "How in the world did they do that?" This book teaches you the skills that you need to create effects that are just as awesome as the ones that first amazed you. New to DirectX? Don't worry! There are plenty of tips that will bring you up to speed quickly. Already an experienced programmer? Get ready to creat some amazing effects that will get people hooked on your game! An entire section on 2D special effects shows you how to use your 3D card for effects like transitions and image warping. If it's 3D effects that you're after, this book has everything that you need to create cool effects like explosions, water, and magic spells. Special Effects Game Programming with DirectX is the next step in transforming your game from an application to an experience.

Click Here to see more reviews about: Special Effects Game Programming with DirectX w/CD (The Premier Press Game Development Series) (Paperback)

No comments:

Post a Comment