Last Updated 19/Aug/2009
Review: Learn programming Now! Microsoft XNA Game Studio 3.0
Iain Laskey looks at the first of two books on XNA 3.0 Programming
| Product | Learn programming Now! Microsoft XNA Game Studio 3.0 |
|---|---|
| Company | Microsoft Press |
| Web | www.microsoft.com/mspress |
| Price | £23.99 |
| We like | Clear explanations, not too heavy, has a good balance. |
| We don't like | Nothing on 3D or genres like RPGs. |
| Rating | 8/10 |
| Requirements |
Back in the day, it was quite common for commercial games to be written in their entirety by a single person feverishly coding for hours on end, often through the night. As the expectations on a game grew, this side of the game industry slowly withered and all but died, replaced by expensive and often large teams of specialists.
Microsoft decided it was time to encourage 'bedroom coders' and smaller companies again and a few years ago released XNA, a framework for game development. Now in version 3.0, it allows development of PC, Xbox 360 and Zune games using a reasonably easy to use and full featured API along with free development tools. Brilliant!
Version 3.0 has been supported by a slew of new books. This particular one, written by Rob Miles is one of Microsoft's own and includes a free £25 online course. You'll need to be quick though as that expires at the end of 2009.
The book itself, as the title suggests, requires no previous experience of XNA. It avoids teaching much of C#, you'll need to get that elsewhere. It does give you just enough C# to work with XNA though.
The author uses plain English in simple terms to describe the concepts and ideas. We found his use of an office to explain the difference between classes and objects a bit confusing but that apart, the text illustrations and background notes provide enough to get you going without too much effort.
The book is geared around the use of Microsofts' free tools and explains how to join the XNA club and download the various bits you'll need. To get the most out of it, you'll also need a wired Xbox 360 controller for your PC, wireless ones are no good.
Having walked the reader through the basic process of creating and compiling an XNA program, it starts in earnest with the good stuff. The chapters build logically enough with getting player input, displaying images, writing text and so on.
The section on sound wisely recommends Audacity as a good free sound editor and finishes off with mention of the XACT sound tool that forms part of the XNA system. This tool provides powerful facilities for handling the sound files and how they will be used.
Timers are introduced along with a simple two player reaction timer game. A nice touch with this book is the introduction of a bugs in some listings to show how easily small details can be overlooked and serves as a talking point on analyzing problems
The rest of the book concentrates on essential tasks any game will need to deal with such as tracking the state of the various objects, multi player games across networks and structuring a game properly in terms of objects and their methods.
The book includes downloadable copies of the files used in the examples, which is essential if you want to use the graphics and sound files as well as the code itself. We had trouble working out where the files were after installing them - check in your Documents folder under Microsoft Press.
One thing that is glaringly absent is any mention of 3D and probably wisely so. By the end of this book though you'll be able to tackle Pong, Tetris, platform games and so on. The secret to learning game development is to write them. Lots of them. With enough time and this book, you'll be cranking them out in no time.
Conclusion
If you're looking for a good starting point to get going with XNA programming on the PC, XBox 360 or even Zune, Rob Miles' book will get you off the starting blocks. We liked the overall feel of 'Learn programming Now! Microsoft XNA Game Studio 3.0'. The balance of technical information and background notes is just right for a beginner although a more experienced person might find it a little too restricted in scope. It is best to treat this title as a guide to XNA and the development process rather than coding any particular type of game. To be fair, no single book could cover all those bases without being unwieldy. As such, we can recommend this title if you're completely new to XNA and game development but we'd suggest getting at least a little C# programming under your belt first.

