math-for-game-devs

Mathematics For Game Developers

By Christopher Tremblay – Thomson Course Tehnology
cover

Mathematics For Game Developers is a really unique book. It approaches mathematical subjects from the perspective of the game developer – while still staying in-depth and accurate enough to satisfy the more mathematically minded. It covers all the essential topics – vectors, matrices,physics, calculus, manipulating equations – and it relates them directly to their applications in games programming. It introduces topics one by one, and builds upon existing knowledge – however, it’s also accessible enough that you can just dip into a random chapter and not be too lost. More complex algorithmic subjects like collision detection and space partitioning are covered later on, and these topics are all handled very well. The solutions the book provides are mostly in the form of equations, so you’ll need to do a little work converting them to code, but all in all I think you’ll find the book invaluable. The section on space partitioning is excellent, as is its coverage of understanding lines – a topic usually skipped by math authors as it’s supposedly an ‘elementary’ problem – however the limitations of the conventional y=mx+b approach are explored and worked around in one of the early chapters.

There is so much unique and useful information in this book, and it is presented in such an accessible way, I’d definitely recommend it to anyone who is interested in games development. A basic high school maths knowledge is assumed, but it could be read in parallel with a more conventional book to cover or revise the math basics.

The only things that count against it are the contents of the CD – no Maple evaluation (possibly not the publisher’s fault), and the code samples are a little lacking – absolutely no sample code for collision detection? Unacceptable. There are also some minor typographical errors in one or two of the proofs/expansions, but nothing fatal.

Overall, a great, accessible, knowledgable book, which should find a prominent place in any serious game developer’s library.