Saturday, December 13, 2003

Excellent Game Programming Book

I’ve lately been reading 3D
Game Engine Design : A Practical Approach to Real-Time Computer Graphics
. It is
excellent. It’s exactly the book I’ve been looking for on my quest to
understand Direct3D better – it starts with talking about how a generic render
pipeline works and from there moves into things like collision detection, terrain
generation, and all sorts of good stuff.

But before you run out and buy it, a few caveats:

·        The
book is extremely thorough. In graphics, this means there are scads of equations.
While I think it’s important to understand vector and matrix operations if you
want to do 3D game work, I’ve been able to read the book without actually going
through most of the proofs and derivations. “OK, there’s a formula for
intersecting a triangle and a sphere. I’ll come back to the details if I ever
need them. Knowing where the formula is suffices for now.”

·        It
is not DirectX-specific. It’s fairly technology-agnostic, in fact. So if you’re
looking for something to teach you the API, don’t look here.

If you want some good theory and a big pile of pseudocode, I recommend it.


  1. I read that book to. Bougth it when i was 16, am 18 now and still don't understand it all but it has been very helpfull for me to understand how engines work. I also like the oo aproach(sp?) the book takes :)

  2. The math in it is definitely college-level, so if you're just 18, I'm not surprised that some of it is stuff you don't understand yet. But the good news is that if you're planning to attend university, a good undergraduate linear algebra class should cover most of what's in the book. And as you already know, he has C and C++ code for the algorithms he presents, which can help with understanding the implementation details.

    But if you are attending college, I *highly* recommend taking as much math as you's the secret to the universe. ;)

  3. I'm a junkie for Eberly's books now. I have his 3D gaming book, as well as his "Geometric Tools for Computer Graphics". I have his "Game Physics" book on order (and it should be on my doorstep when I return from Europe). His books can sometimes get VERY deep though, but I _highly_ recommend them!

  4. I bet this means we'll be seeing even more cool tutorials now that you've got more theoretical background ;-)

  5. Heh. No pressure.

    Actually, I realized that one reason I've been writing less is that I've been flying less: I tend to write the tutorials while I'm on a plane. Anyway, I'm flying home for XMas, so I should be good for one more soon. :)

    But it'll be a while before we work up to the point where the material from the book will be relevant to the tutorials. Still, it has made me consider writing a tutorial on vector math. It's just so important.