Tricks of the Game-Programming Gurus

Tricks of the Game-Programming Gurus is a book written by André LaMothe, John Ratcliff, Mark Seminatore, and Denise Tyler, and published by in. It is a 746-page introduction to game programming focused on - and -language coding for PCs running. It is notable due to its strong focus on Doom as a design reference, being prominently billed as a gateway to creating one's own "Doom-like" games.

Synopsis
"Develop 3-D walk-through games, and discover how to add music, art, and multi-player capabilities to your programs with Tricks of the Game-Programming Gurus. You'll get all the tips, tricks, and advanced techniques from Professional Game Developers who have designed and programmed combat and war games, as well as game textures for walls, grounds, and skies. In no time, you'll master programming techniques and discover how to combine them to create spectacular, real-world games. Design an award-winning, action-packed game of your own with Tricks of the Game-Programming Gurus."

- Publisher's description

Contents

 * Introduction


 * 1) A Video Game Primer
 * 2) Assembly Language Basics
 * 3) Input Device Basics
 * 4) The Mechanics of Two-Dimensional Graphics
 * 5) The Mysteries of the VGA Card
 * 6) The Third Dimension
 * 7) Advanced Bit-Mapped Graphics and Special FX
 * 8) High-Speed 3-D Sprites
 * 9) Sound FX and Music
 * 10) Implementing Computer Game Music
 * 11) Video Game Algorithms, Data Structures, and Methodologies
 * 12) Surreal Time, Interrupts, and Multitasking
 * 13) Synthetic Intelligence
 * 14) Linking Up
 * 15) The Toolchest
 * 16) Creating Art for Your Game
 * 17) Parallax Scrolling Techniques
 * 18) Optimization Techniques
 * 19) Warlock


 * Index

The book also contains a "Color Gallery" with sixteen pages of images which fall between pages 398 and 399.

CD-ROM
The book includes a CD-ROM with the following contents:
 * Warlock 3D adventure framework
 * Source code, libraries, utilities, and support files as detailed in the book
 * Shareware games: Doom v1.2, Wolfenstein 3D, ', ', and 
 * DigiPak and MidiPak libraries

Analysis
The book is primarily organized around an example program called Warlock and its corresponding editor tool, which are developed along with the reader in a piece-wise fashion when the book is followed front to back. This example game is similar to Wolfenstein 3D in technology.

Though Doom is prominently mentioned as a point of reference throughout the book, several key deficiencies exist in its content which place it well behind what was then the state of the art represented by Doom:
 * The book focuses exclusively on real mode 16-bit addressing with access to 640 KB of segmented RAM, whereas Doom ran in 32-bit with linear access to 4 MB or more of memory.
 * Approaches suggested for lighting and light diminishing suggest per-pixel calculation of color values instead of something similar to Doom's pre-computed COLORMAP.
 * Hidden surface removal is limited to the algorithm as used by Wolfenstein 3D. BSP trees are not suggested or detailed to any extent.
 * Only VGA graphics is detailed.  tweaking approaches similar to those expounded by Michael Abrash and used extensively by John Carmack are neglected. This precludes any discussion of hardware page flipping or scrolling. Deficiencies in the implementation due to this factor are only given the suggested solution of extensively rewriting the C code as assembly, whereas Doom itself used very little assembly language.