Series: Game Design
Paperback: 352 pages
Publisher: Addison-Wesley Professional; 1 edition (December 29, 2013)
Product Dimensions: 7 x 0.7 x 9 inches
Shipping Weight: 1.4 pounds (View shipping rates and policies)
Average Customer Review: 4.6 out of 5 stars See all reviews (10 customer reviews)
Best Sellers Rank: #545,681 in Books (See Top 100 in Books) #79 in Books > Computers & Technology > Games & Strategy Guides > Game Design #406 in Books > Computers & Technology > Games & Strategy Guides > Game Programming #645 in Books > Textbooks > Computer Science > Graphics & Visualization
When I ordered this book, I expected to receive another thick tome, typical of programming books. I was pleasantly surprised when I discovered how much less intimidating Madhav's book is; I was amazed at how thorough his coverage of the topics on game development were; and I found his writing style enjoyable and easy to understand. It is remarkable how he explains difficult and erudite topics with ease and simplicity; and, in truth, the pseudo-code he presents is far more readable, applicable, useful, and educational than actual code.His "platform-agnostic approach" is not a gimmick: he teaches the fundamentals of game programming at a high level, yet devotes enough attention to different platforms that require unique considerations. If you're looking to develop for PC, mobile, or console in 2D or 3D: this book has it all.His professional experience really shows in many cases (far more so than other run-of-the-mill game development books) where he addresses ways in which to increase workflow and productivity as well as source-control and sub-versioning for development teams.This is definitely more of an introductory book than an advanced one, make no mistake. Madhav admits: "a seasoned game developer may not find that much in the way of new information in this book."There are some subjects that he doesn't mention regarding game development, but this is because his book is primarily focused on (as the title states) "Algorithms and Techniques." That being said, don't expect something like Jason Gregory's "Game Engine Architecture." But because it doesn't try to cover every detail and aspect of development, it benefits by being much better organized and educational.
Game Programming Algorithms and Techniques is one of those books that tries to be as general as possible, and I believe the author was successful in that. Too many books target one specific piece of software or even one particular version of a framework and end up becoming dated rather quick. However, the core ideas in game development have not fundamentally changed in a while. Sure graphics get better, and there are more complexities to working with modern hardware, but the programming algorithms themselves are still very much the same.Sanjay Madhav starts the book with an overview of some classic games, how a game loop works, handling timing in games, and the idea of game objects. Next he discusses 2D games, sprites, scrolling, and tile maps. There is a quick chapter on linear algebra. Then the author continues with a treatment of 3D graphics, including coordinate spaces, lighting and shading, visibility and transformation. Handling input is covered as is sound. There is a chapter on physics, which I much appreciated, and then some quick coverage of cameras, artificial intelligence, user interface, scripting, and networking. Finally, the book closes with two example projects.The author does a great job of explaining complex concepts in easy to understand language, especially in the math and physics chapters, which could be confusing otherwise. One of the pieces that I gained a lot from was the explanation of mouse picking 3D objects, which was described beautifully and made a lot of sense. The chapter on scripting languages was also helpful and relevant.Overall I enjoyed the book, and think it would be helpful to beginning programmers, or experienced coders in other fields looking to get into game development.