Last Updated 18/Aug/2009
Review: Beginning XNA 3.0 Game programming From Novice to Professional
Iain Laskey looks at the second of two books on XNA 3.0 Programming
|Product||Beginning XNA 3.0 Game programming From Novice to Professional|
|We like||Depth of coverage, 3D and skeleton animation included.|
|We don't like||Writing style a little dour and dense|
Having already looked at another XNA programming book, we were very interested to see how this one compared.
The title 'Beginning XNA 3.0 Game programming From Novice to Professional' seems a little incongruous. Beginner and Pro in the same title?
As soon as you start to read this one, the difference in approach and target audience is immediately obvious. It opens with target audiences, genres and the different roles in a game team. It also discusses game planning including such elements as Xbox Live achievements.
From here on in it is all XNA though. The first chapter covers 2D graphics, audio and input basics. The terminology is covered first, sprites, textures and so on. The authors are big on diagrams to explain things throughout. The code here is far more snippet orientated with very few complete chunks of code so you'll need to put more work in to follow the examples. No spoon feeding here. There's also more technical and background information on each topic here compared to the other book we looked at.
By Chapter 4, the book shows how to create a complete and fully featured 2D shooting game for two players. This is far more code heavy with big well commented listings and not so much text.
Chapter 5 introduces networked gaming and the client/server model. Here you can see how to create a session, send and receive messages and much more. These ideas are then integrated with the previous game to create 'Rock Rain Live'. Having done that, the changes needed to create Rock Rain Zune from the same code base are introduced.
The book then bravely introduces 3D. My maths isn't great so after several pages of matrix calculations, vectors and perspective projections, my head was spinning a bit. The chapter stops at a 3D cube in space so acts as more of a taster of what's possible than a guide on writing the next installment of Halo.
I found the chapters on lighting and terrain mapping a bit easier going and quite interesting too. The next section on skeleton animations, needed to create more realistically moving people and creatures was again a bit dense for me with lots of rereading needed to help the ideas sink in. I think that's more of a reflection on me than the book though.
The final section leads you through the process of creating a 3rd person shooter and is one of the longer chapters. Again, quite involved but that's the subject matter.
This book is clearly aimed at a very different audience to the Learn Programming Now one. They cover surprisingly different areas and both have their strengths. 'Beginning XNA 3.0 Game programming From Novice to Professional' is best considered as 'From Novice to Quite Competent'. It has far more depth and touches on more complex areas and as such requires a better grounding in programming and general maths. The writing style is denser too. However, it does deliver some useful stuff and would be a good read for anyone who is already a coder but wants to know about XNA in some depth. It would also be a good follow up book for anyone that has already read a basic XNA book and wants to further their understanding and grasp of XNA's scope and facilities.