Tricks of the Game-Programming Gurus

From DoomWiki.org

Revision as of 08:10, 9 November 2024 by XymphBot (talk | contribs) (Automated edit - use wl for MS-DOS)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Front cover.

Tricks of the Game-Programming Gurus is a book written by André LaMothe, John Ratcliff, Mark Seminatore, and Denise Tyler, and published by Sams Publishing in July 1994. It is a 746-page introduction to game programming focused on C- and x86 assembly-language coding for PCs running MS-DOS. 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. André LaMothe was later the lead programmer of the Rex Blade series of Doom clones by his company Xtreme Games.

Synopsis[edit]

"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[edit]

  • 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[edit]

CD-ROM.

The book includes a CD-ROM with the following contents:

Catalog[edit]

Identifier Data
Dewey Decimal 794.8/15265
ISBN-10 ISBN 0672305070
ISBN-13 ISBN 978-0672305078
Library of Congress Classification QA76.6.T74 1994
Library of Congress Control Number 9466272
Open Library ID OL11078685M

Translated editions[edit]

Language Title Co-author(s) / translation Publisher Year ISBN
Russian Секреты программирования игр (Sekrety programmirovaniya igr) S. Sokornova, A. Yevdokimov, M. Pogrebnyak Питер / Sams Publishing 1995 ISBN 5887820373

Analysis[edit]

The book is primarily organized around an example program called Warlock and its corresponding WAREDIT 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 protected mode 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 ray casting algorithm as used by Wolfenstein 3D. BSP trees are not suggested or detailed to any extent.
  • Only VGA graphics Mode 13h is detailed. VGA 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.

Gallery[edit]

External links[edit]