I am currently trying to figure out if I would benefit from mastering C# before going back to the book.
I understand Basic C#....... but haven't had any real practice with it outside of "Head First C#".
If any of the programming concepts or syntax are confusing then you should definitely spend some more time understanding C#. Understanding concepts like Polymorphism and Inheritance is assumed. Understanding Generics are also assumed. I do not use any C# 3.0 specific features like LINQ in the book nor any C# 4.0 features.
If you understand the concepts above then you should be ok, but having a deeper understanding of the language you are writing code with is never a bad thing.
I definitely suggest folks to read my book from start to finish. Even if all you ever plan on doing is 2D development you will need to read the earlier chapters that discuss 3D Basics because that is where certain XNA concepts like Game Components and Game Services are defined. One of the benefits of a book in my opinion is that the reader can go on a journey from beginning to the end to understand the concepts. This is easier than trying to find information on the web sometimes. Once you know a topic that you want more information on, that is where knowing the right question to ask is key. This is where I think online resources shine. The biggest hurdle is not knowing what you don't know. What I mean by that is when we are learning something new it is hard to find reference material unless we know what to search for. My hope is that my book when read from front to back provides enough information to help you dig into different topics deeper on your own. Physics and Artificial Intelligence is a prime example of giving just a taste on a subject with the expectation that the reader will search out more detailed information if they want to create more complex algorithms.
[quote user="dshuffman33"]How would an intermediate programmer use your book "XNA Game Studio 3.0 Unleashed" after going through it?[/quote]
Once a reader has finished my book my expectation is that they understand all the code for the 4 games they created during the course of the book. With this knowledge they should be able to create their own 2D and 3D Single Player and Multi-player games and sell their creations on Xbox LIVE Indie Games (Formerly Xbox LIVE Community Games).
I hope this information helps. If you have any additional questions as you go through the book please don't hesitate to ask.