ACMCrossroads / Xrds3-2 / 

 

Book Review

Game Programming Book Reviews


by Lynellen D.S. Perry

figure Review of ``Tricks of the Game Programming Gurus''
Authors: Andre LaMothe, John Ratcliff, Mark Seminatore, and Denise Tyler
Sams Publishing, 1994. ISBN 0-672-30507-0
Suggested Retail Price $45.00 USA
746 pages, CD-ROM included

Tricks is more than 700 pages of great material for the beginning 3D PC game programmer. The table of contents reads something like this:

  • How to think up a game idea,
  • Assembly Language Basics,
  • Input Device Basics,
  • Two-Dimensional Graphics,
  • the VGA card,
  • Three-Dimensional Graphics,
  • Advanced Bit-Mapped Graphics and Special Effects,
  • High-Speed 3D Sprites,
  • Sound Effects and Music,
  • Computer Game Music (via DIGPAK and MIDPAK),
  • Algorithms,
  • Data Structures,
  • Surreal Time,
  • Interrupts,
  • Multitasking,
  • Synthetic Intelligence,
  • Communication between Several Computers,
  • Creating Art,
  • Parallax Scrolling, and
  • Optimization.

Clearly, this covers a lot of ground! Throughout the book, the authors guide you in building a 3D game similar in look to DOOM and Wolfenstein 3D. The book also comes with a CD-ROM that contains all the source code developed through the book, a sample game framework, libraries, utilities, support files, DigiPak and MidiPak Developer's Kit, and several games of the genre (DOOM 1.2, Wolfenstein 3-D, Blake Stone, Traffic Department 2192, and Pinball Super Android).

To get the most out of this book, you'll need to know C pretty well (there is no primer on C here...you just jump right in), and you'll need to have access to MASM (Microsoft Assembly) 5.1 or greater unless you know assembly language well enough to translate the subtleties to your own development environment. If you know a bit about programming, Tricks will teach you about building a (rather slow) mode 13h ray casting engine with texture mapping and sprites. The sprites are not actually implemented in the source code provided, but left as an exercise for the reader once they are explained. Mode X is only briefly mentioned, and binary space partition trees (BSP trees, which are used in DOOM instead of ray casting) aren't mentioned at all.

On the graphics theory side, Tricks does teach you about matrices and how they are used for translation, scaling, and rotation of polygons. You'll also learn about projections, clipping, solid modeling, hidden-surface removal, and buffering. Once you have a handle on that, throw it all away because ray casting a polygon modeled, texture-mapped world in real time on a PC just isn't computationally feasible. This is where the ``tricks'' part enters into the story, and thus the information about bit-blitting, sprites, texture mapping, and optimization. This book is definitely a balanced introduction to game programming, though you won't be producing professional games without a considerable amount of work on your own, especially if you haven't done very much programming in C.


figure Review of ``Amazing 3-D Games: Adventure Set''
Author: Lary L. Myers
Publisher: Coriolis Group Books, 1995. ISBN 1-883577-15-2
Suggested Retail Price: $39.99 USA
592 pages, CD-ROM included.

In comparison to ``Tricks of the Game Programming Gurus'', which teaches about graphics theory and 3-D game programming in general, ``Amazing 3-D Games'' is a 600 page book about how to use a specific pre-made ray casting engine to create 3D games. The book starts with a summary of ray casting and optimizations to the ray casting process, then digs into how the ACK-3D (Animation Construction Kit 3-D) engine works and how to use it to build your own game. The engine supports doors, objects, transparent walls, and texture mapped walls, floors, and ceilings. The game you create will be a DOS game unless you use WinG, as covered in the book.

Amazing also comes with a companion CD-ROM, which contains:

  • source code for the complete ACK-3D engine (both DOS and Windows),
  • source code for a map editor,
  • sample game maps,
  • source code for a resource compiler,
  • a Windows game template,
  • some object, wall, title screen, and background bitmap art,
  • demo games,
  • WinG DLLs, a custom WinG class interface, Win32s DLLs, and
  • demos of extensions to the ACK-3D engine by other developers.

The source code is provided in three versions: Watcom and Borland versions for DOS games, and a Borland version for Windows. To use the source code successfully, you'll need Borland C++ 4.0 or 4.5, and if you wish to modify the included assembly language components, you'll need Borland's TASM.

Copyright 2009, The Association for Computing Machinery, Inc.