on 3 December 2011
This is a superb follow-up to Davidson's Killer Game Programming in Java. The Pro Game Development book introduces a large number of techniques in Davidson's clear style, demonstrating features such as HUD's, integration with physics engines, skyboxes, and collision implementation in addition to demonstrating how to use JOGL, JOAL and input devices beyond the usual mouse and keyboard. Davidson has the happy knack of making these techniques seem straightforward, and consequently it is relatively easy to integrate them into one's code. The full code for each chapter is also available online, which allows one to reverse engineer and therefore get a fuller understanding of the principles involved.
There are two minor quibbles:
(i) Programming techniques for mobile devices is conspicuously absent, though this is probably in part a reflection of its publication date (2007). It would have been useful to have had coverage of Bluetooth, how to cope with different screen sizes and input methodologies etc. **EDIT - after writing this review I discovered that Davidson does in fact cover Bluetooth and a number of other techniques on his web site (the url for which is in the book), which is well worth exploring in conjunction with the book.**
(ii) Whilst Davidson is sparing with code, for an advanced user who just needs to know the key techniques, and is the target audience for this book, there is a bit more code in the book than one really needs at this level. However, the code does not overwhelm the text at any point.
These are minor criticisms of what is an excellent book, written with considerable flair, and has been used significantly in developing my own games.
NB note that this is an advanced text and is no way a beginner's book - the clue is in the title! Do not expect this book to teach you either how to use Java or Java 3D from scratch. One needs to be comfortable writing 2D games and with a basic understanding of Java 3D before this book comes into play. I know I am at risk of sounding like Davidson's greatest fan but to get a foothold in Java 3D and to learn a number of other useful 2D, sound and networking techniques I can thoroughly recommend his earlier book, Killer Game Programming in Java, which I have also used extensively.