In just the last few months we’ve seen two new books on game programming:
Action Arcade Adventure Set, by Diana Gruber, and
Tricks of the Game Programming Gurus, by LaMothe, Ratcliff, Seminatore, and Tyler.
Henceforth, I’ll refer to the first book as AAAS and the second book as TOTGPG.
Both books are huge! AAAS weighs in at 500 pages, along with a 3.5" diskette with source code in C and a graphics library. TOTGPG is even bigger: 750 pages with a CD-ROM of source code, tools, utilities, and other stuff. They are also appropriately expensive: AAAS lists at $39.95 and TOTGPG at $45.00. Still, I think that the amount of material in these books justifies their prices.
They also share a focus on the technical aspects of game programming. These books are NOT about game design they are about game programming. The authors make a few comments about game design issues, but their treatment of design factors is very light. Almost all of the material in both books is about programming.
Different Approaches
They are quite different in approach. AAAS is a detailed walkthrough of the creation of a classic side-scrolling game. Diana takes the reader by the hand and shows in detail exactly how everything is done. Step by step, she explains every part of the process: the game editor, the level editor, palettes, sprite animation, scrolling, and assembling the final product. Along the way she talks about debugging, optimizing code, and a variety of related topics. The book is a thus a detailed tutorial in the creation of a particular game, and the reader, when done, will thoroughly understand how to make side-scrolling games.
TOTGPG takes a very different approach. It is encyclopedic in style, tackling a wider range of problems without being specific to any one game. There are chapters on input devices, assembly language, 2D graphics (with some good material on transformation matrices), 3D graphics (with emphasis on real-time engines a la Doom), sound and music, the VGA card, interrupts, modem programming, game AI, and optimization techniques. There’s a mountain of material here, and most of it is quite good. Many of the concepts are illustrated with small sample programs. My only complaint was with the chapter on game AI, which I found to be rather lame. The book’s approach and avoidance algorithms, for example, were obsolete by 1980.
TOTGPG has two illustrative games. The first, Net-Tank, presents a simple modem-to-modem game. The second, Warlock, is a Doom clone with a swords-and-sorcery style.
Most striking quotes:
AAAS: "Violent games may not be particularly healthy for children, but the bottom line is money in the current market, violent games sell."
"Don’t waste time in the design process."
TOTGPG: "...for most video games, the intelligence is rather primitive and is made up for by the graphics and sound. Video-game programmers have gotten away with this for so long because the games they make are mostly combat and shoot-em-up types."
Recommendations
I would recommend AAAS to the more bewildered beginners who need a tutorial that will take them by the hand and guide them patiently in the creation of a game. Certainly this is the book that I will steer wannabees to when they ask me for help.
I would recommend TOTGPG for the more experienced game worker who needs to come up to speed on some aspect of game programming that has heretofore eluded him. I think that every game design studio should have a copy of TOTGPG on hand for reference purposes.