Main Site Links Resources Tutorials
News VB Gaming Code Downloads DirectX 7
Contact Webmaster VB Programming Product Reviews DirectX 8
  General Multimedia Articles DirectX 9

Game Programming Gems 3
Author: Edited by Dante Treglia
Publisher: Charles River Media
ISBN: 1-58450-233-9
Purchasing: [Amazon.Com] - RRP US$69.95
Reviewed: 11th September 2001

Front Cover Shot:


This is the third volume in one of the more high profile, and definitely successful, Game Programming Gems series. Where the first volume set out to 'do it differently' to previous game programming manuals (with the possible exception of the graphics gems series) - it's essentially an archive by many different authors (67 are credited in this volume) on many different game related subjects.

Another Year, another volume...
The Game Programming Gems series launches a new volume at, or around, the annual SIGGRAPH exhibition (end of July this year). Typically the new volume is presented to attendee's, and you can then buy it (in shops) shortly after the exhibition finishes.

The first book was different, the second book revised the format slightly and carried on where it left off, this just keeps the ball rolling. Which is far from a bad thing - with a book like this, where the format has proven to be successful why change? 

One thing that some might notice is that the editor of the first two volumes (Marc DeLoura) has moved over to let Dante Treglia move in. Whilst the editor acts as the decision maker and overall coordinator, there isn't much in the book that you could directly attribute to him - the majority of the content is written by the other authors.

This book presents 67 new 'gems' for the collection, which conveniently matches the number of authors quoted above. However, that doesn't mean that there is one author per gem - several authors pop up twice in this volume, and several authors work together on one gem. Given the recommended price tag of US$69.95, it makes (by laws of averages) each gem cost US$1.04 - a rather small value really.

Over the 3 volumes of this book now available we have a whopping 200 gems (63 in volume 1, 70 in volume 2 and 67 in this volume). Each of the volumes are pretty much the same physical dimensions (and all hard-back), with this particular volume covering 663 pages.

Broader coverage
One of the criticisms I made when reviewing the previous two volumes was it's rather biased and narrow view of game programming, in the first volume there was no mention of audio or network programming, the second one added a small section on audio programming, and this third version has continued the audio section and added the networking section. Its good to see a better coverage - and not just AI, graphics and C/C++ optimization tricks. Having said that, they still do occupy the greater proportion of 'gems' - 19 graphics gems to 9 network and 7 audio gems.

The range of gems on offer is as good as ever - with 67 gems available, you're likely to find plenty specific to your current (or future) interests, yet at the same time there will be quite a few that are of no interest or use to you. Having said that, assuming you have the time - reading the gems about things that aren't obviously interesting can prove useful and enlightening.

Industry Professional Display Board
There are several reasons why this book is as useful as it is successful is that the majority of the authors work in the games industry and/or related industries. This means that the authors either have direct experience, or are experts in their respective fields. At the same time it poses one big problem: the book becomes very corporate, and in some cases you almost get an impression of "look what I can do!" and "we used this brilliant technique in our game, which is why it's great". For the most part this won't bother you, but in some cases it detracts from the very reason you'll be reading this book - to learn cool new things. 

As one example, ATI and their developers pop up in several places in the graphics section - not a bad thing, they are currently the top-dogs of the 3D graphics card market. However, one of their more useful (to me) gems 'Textures as Lookup Tables for Per-Pixel Lighting Computations' is specific to the ATI/Radeon graphics cards (despite using the standard D3D8.1 interfaces). In particular, they use the pixel shaders version 1.4, which the GeForce 4 series doesn't support. I fully appreciate that the Radeon8500 may be the better card for this trick, but other articles I've read online have at least suggested (if not demonstrated) ways you can get a similar effect running on the GeForce 4's and 3's. I like the Radeon8500 (I own one) and am happy to write special features for it, BUT I still want it to run well on a GeForce 3 and 4 if possible.

Do you talk my language?
The other aspect that won't bother some people, but will irritate quite a few is the books reliance on the C/C++ language. This is obviously the gem-author's choice, but now and in the future there are many different languages moving into game usage - the .Net languages, java and VB for example. A few of the gems in the "General Programming" section can be applied to other languages, but they are often fairly specific to assembly and/or C/C++ programming.

In Conclusion
This is yet another solid extension to an already great series. For 'newbies' to the whole series this is probably the best one yet if you're only buying one. For veterans of the series, this is another essential addition to the bookshelf, one that will sit very nicely alongside volume's 1 & 2.

Lets hope we're back here again in a year for volume 4.

Good Things Bad Things
Another solid addition to the series. Some gems, and sections of the book not much use if you don't use C or C++
Better variation of coverage than previous volumes Some authors miss out on good content for us readers due to the companies they work for.
Each gem (on average) may cost $1.04, but many are worth 10x that. The book as a whole is relatively expensive, and can work out very expensive if you buy all 3 volumes.
Well presented book, plenty of diagrams, and a reasonable number of color plates.  
Short bio's of all contributing authors.  
CD has all of the source code presented in the book. Includes several useful libraries (DX8.1 & GLUT)  


DirectX 4 VB 2000 Jack Hoxley. All rights reserved.
Reproduction of this site and it's contents, in whole or in part, is prohibited,
except where explicitly stated otherwise.
Design by Mateo
Contact Webmaster