New from bestselling video game guru, André LaMothe, Tricks of the Windows Game Programming Gurus provides an incredibly rich tour of today's video game programming techniques for the Microsoft DirectX gaming platform. Filled with entertaining and challenging code examples in C, this book sets a high standard as a tutorial for getting started with game programming and will certainly earn a place on the bookshelf of any working (or aspiring) game developer. The incredibly rich detail within this book on virtually all facets of game development on the DirectX platform is what sets it apart from other titles. The author, a truly legendary game programmer, conveys his expert knowledge with a sense of authority and flair in a massive format (nearly 1,000 pages). After a tour of basic Windows C programming, this book centers on Microsoft DirectX for game development. Though most of the printed book centers on DirectDraw (for 2D APIs), these APIs are used to render 3D worlds. (A wide variety of articles on Direct3D are included on the accompanying CD-ROM.) The author also shows how to get the most out of other Microsoft APIs for high-performance gaming, including sound (DirectSound and DirectMusic) and input (with DirectInput).Rarely does the ordinary programmer get a glimpse into the high-powered world of video game development. That's what's offered here with plenty of techniques and tips for creating leading-edge game effects (such as simulating the laws of physics in your games, like gravity, or creating smarter characters with artificial intelligence). Whether you are an aspiring game developer or an interested game enthusiast with a programming background who wants a peek under the hood, Tricks of the Windows Game Programming Gurus shows you how it's done in an exciting, technically rich, and authoritatively told tutorial on how to use DirectX for creating realistic video games. --Richard DraganTopics covered: Game basics, history of video games, 3D modelers and graphics tools, Windows C programming primer, graphics, COM, DirectX and DirectDraw fundamentals, DirectDraw surfaces, double buffering, working with bitmaps, color-keying, vector rasterization, 2D transformations and clipping, input and DirectInput, sound effects with DirectSound and DirectMusic, binary search trees (BSTs) for 3D worlds, multithreading, artificial intelligence for games, physics modeling, gravity, bouncing effects and particle systems, and Direct3D and 3D programming (on CD-ROM).
I read this book back in 2002. At the time I was a first year in a Computer Science degree and this book was a breath of fresh air for practical advice and provided my first understanding for how a game works from the inside-out.
Unfortunately, while the core structure is still true (to some extent) and the underlying algorithms are worth any game programmer knowing (Bresenham's line algorithm, matrix transformations, etc), the technologies used are both platform dependent and, at this time, utterly outdated (DX7 and Win32 SDK). Modern game engines require programmers to understand completely different technologies with entirely differing pipelines. And while I don't see this book doing any particular harm to anyone—given how much things have changed since this book was published—it will waste your time.
If you want to learn game programming, find another book. Something more recent. There are dozens, if not hundreds, on the subject.
Awesome book! Had read it about 2002, when I was 19 yo. I read it from cover to cover and will recommend for all who want to learn the gamedev. Book detailed review all aspects of game development: 2D graphic, input\output, sound, algorithms, gamedev patterns and so forth. This book don't reviews 3D game at all. For 3D games I recomend another book of this author is "Tricks of the 3D Game Programming Gurus". Thank you Andre for so good book!
An interesting chronicle of using microsoft products to program things. Even though it's aimed at Windows and uses the Direct X Toolkits, it contains some great fundamentals on programming games in general. A fantastic addition to any computer scientist's library.