Author: Rob Miles
Publisher: Microsoft Press, 2009
Aimed at: Novice programmers who want to write games for Xbox and PC
Pros: Clear and readable
Cons: Very basic
Reviewed by: Dave Wheeler
The most important thing to bear in mind with this book is its title. Not the title that you’ll see on Amazon, but the title as printed on the cover, which places the phrase “Learn Programming Now” firmly above “Microsoft XNA Game Studio 3.0”. This book is really an introduction to programming, with some extra bits on game programming using XNA to make it interesting. Sure, it introduces all of the things that you would expect from a beginner’s book on game programming, such as how to play sounds, respond to the keyboard or gamepad, display and move sprites, and so on; but it doesn’t go into anywhere near enough depth on how things really work to satisfy (semi-) professional developers.
What I really like about this book is the way that Miles introduces and explains his subject. It’s really clear, well phrased and (since it’s teaching programming via the fun world of gaming) it makes learning enjoyable: there are no Customer and Employee classes here! The author also throws in some callouts under the guise of a “Great Programmer” speaking, which highlight areas of best practice or just offer nuggets of advice.
The latest version of the book has been expanded with chapters on "Classes, objects and games" and "Creating game components" which are very gentle and practical introductions to object-oriented programming without labouring the concept. A new final chapter is on "Creating multi-player networked games" complete with an example, Bread and Cheese Pong". As with all current Microsoft Press titles it includes an offer for a free £25 2-hour online course on topics as dull as HyperV, Sharepoint and so on. Why this offer is included with this book I can't say but it seems an odd pairing.
If you approach this book as a novice programmer that is interested, say, in doing something more fun with your computer than just playing games, then this book will be a great introduction. I fear, though, that anyone who’s been developing on .NET (or even Java) for more than six months or so would do better by looking elsewhere for information on XNA. And that’s no criticism of this book: Miles has chosen his target audience and remained focused on them brilliantly.