Author: Riemer Grootjans
Publisher: Apress, 2009
Aimed at: Intermediate to advanced games developers
Pros: Good explanations
Cons: Assumes prior knowledge
Reviewed by: Mike James
This is an advanced book on XNA with a few simple topics thrown in. For example it starts with a rough outline of getting started with XNA studio - if you need this sort of advice then you aren't going to find the rest of the book particularly useful.
As you might guess from its subtitle , "a problem-solving approach" this book is highly practical. It consists of a number of tutorial style presentations of how to do standard tasks in the XNA framework. The big problem with all such cookbook organisations is that the overall result isn't a guided exploration of the subject. In this case the author does give lists of solutions that you should read if you are interested in particular aspects of XNA but in the main these are unlikely to work unless you already know something already.
The range of topics covered goes from the fairly simple 2D to the more advanced 3D ideas including textures, lighting, special effects, user interaction, collision detection and the use of shaders. The majority of the topics are really better classified as intermediate to touching on advanced. Most of the explanations are good however and it will help you understand the ideas. One strange problem is that the majority of diagrams and screen dumps appear without enough explanation of what you are looking at. A few lines of caption would often turn an unfathomable diagram into something informative. Overall however the big problem is that if you don't already have a grasp of the topic being discussed you are going to find it hard going.
For example there are lots of problems solved by using HLSL shaders but it is difficult to find a single simple and direct introduction to what the technology is all about. If you don't have a clue as to what a pixel shader is then you are going to struggle to find out by reading how they are used. It is a bit like trying to form a clear picture in your mind of what an elephant is from individual descriptions of how the trunk is used to pick things up and so on. Of course if you have seen an elephant then it all makes sense.
So, as long you have seen this particular elephant, then this is a really great book!