On a visit last fall to a local book store I stumbled across a game programming book by Daniel Sanchez-Crespo Dalmau, Core Techinques and Algorithms in Game Programming. Though in Korean book stores I can’t find English versions of all of the books that I want to buy, I do sometimes find books I’d never heard of that turn out to be a good investment. This book is one of them.
One thing that puts some people off about this book (as evidenced by some negative reviews I’ve read) is the lack of a CD with example code. In my opinion, that’s no shortcoming. There are a handful of C++ code samples scattered throughout the book to demonstrate the implementation of certain algorithms and techniques. But for the most part this book is not about implementation. Instead, it is an introduction to much of what you will need to know as a game programmer. What it does, and does successfully, is to present the topics in such a way that you have enough understanding to further your research effectively. Motivated people will be able to implement some of the algorithms without further research, but for those who can’t that’s okay. With the information Dalmau gives you, you will be much more knowledgeable about terminology used in game development circles and more able to focus your studies where they matter. From the back cover:
This book is a formal and complete introduction to game programming. It is meant to be the reference book for the professional game developer, as well as fundamental learning material for aspiring game programmers. It supplies rich, foundational content with a long shelf life. The focus is on the functional, long-lasting techniques that enable today’s and tomorrow’s games.
If you come into the book expecting step-by-step, LaMothe-style, hand-holding, this-is-how-to-make-a-game tutorials, you will be disappointed. The topics covered in this book, from game architecture, data structures and design patterns to AI, networking, rendering techniques, and more in between, are presented at a high level. There are some great code samples (for example, the section on light mapping includes some example code showing how it might be implemented in both OpenGL and Direct3D), but there’s no shrink-wrapped game engine developed for the book.
The point I’m trying to drive home is that this book is an excellent introduction to a variety of game programming topics, but is not meant to be more than that. The detail given is sufficient to give you a basic understanding of each topic. Getting more details will be up to you. That’s what makes this book such a great reference. Treat it as a stepping stone to more research. Treat each chapter as a checklist of what you need to know as a game programmer, as a primer for the works of Eberly, Watt, or Moller and Haines. I think any aspiring game developer should have this book on his shelf.
Post a Comment