Beginning 3D Game Programming

Tom Miller (2004)
Review date: August, 2008 (Read in December 2007)

This is a book that covers the basics of 3D game programming. Its first chapter provides a very, very basic introduction to .NET, just enough to make the book's sample code run.

In the second part, chapters 2-9, a simple puzzle game is created, the object of which is to move a blob around a board made up of squares, making them change color. DirectX SDK's sample framework is presented early, and is used throughout the book for simplicity. The chapters in this section cover things like mesh loading, textures, camera placement, a simple user interface, and input; everything you need to create this simple game.

Part three, chapter 10, contains the bare minimum of math that you need to understand in order to draw something in 3D: coordinate systems, vectors, and matrices, and how to apply them to achieve scaling and rotation.

The fourth part contains more of everything, as it covers a multiplayer tank shooting game. Obviously, the basics of DirectPlay are covered.

The object of the last section is to get you started on creating your own cart racing game. This section's chapters cover the fundamentals of particle systems, High-Level Shader Language, and some more advanced aspects of rendering.

The book contains a CD with sample code and models (I haven't browsed it though).


When I was younger I read a couple of books on game programming, but those covered intricate details of using mode 13h to display simple polygons, that were implemented using fixed-point arithmetics. By reading this book, just for fun, I wanted to see how the area has evolved, and to get an intro to .NET at the same time.

Since I haven't ran a single example from this book I won't be talking about the included CD or the pitfalls of making the proposed games run.

Instead I will say that this book really lives up to its name. Its contents really cover the fundamentals. No efforts are being made to be clever about anything or to discuss any theory beyond what's really needed. Like the "math primer"; it's so simple that it gets embarrassing. When reading this book it also struck me that it's too cluttered with sample code. This might be convenient if you actually sit down and write code while reading, but for the casual reader it gets very tiresome.

All the things mentioned above don't really make this book bad. It says it covers the basics, and so it does. It's all about expectations: as long as you don't expect to be blinded by some cool solutions, fancy programming and heavy math, this book does its job. Also, I believe that if you follow the examples (provided that they work) and create one game or two, the last teaser chapters on advanced techniques might do their part as well in providing inspiration for "what to read next".

Who should read this book

If you are fourteen, like your computer games and want an easy start and make fast progress writing your first game, this is your book.


  • 2015-09-29

    It's been almost one and a half year since I reviwed a book! I've been too absorbed by Writing my own. Anyway, I'm back with Jeff Patton's relatively...
  • 2014-01-04

    New category! Performance! Reviewed The Every Computer Performance Book. Check it out!
  • 2013-09-10

    Reviewed a book that' slightly less technical, but much more fun to read. It's I.T. Confidential.
  • 2013-08-13

    Reviewed yet another book on Visual Studio 2012 and TFS. I also created a "Microsoft" category and moved the other TFS book there from the "Tools"...
  • 2013-08-05

    Updated the FAQ. Included information about getting a book reviewed.