I am Direct X / C++ programmer and been working with DirectX ever since DirectX 8, now I have tons of books about advanced topics in Direct X. However, When I got this book , I realized that the code for this book was very messy. Xna is not as complicated as Direct X neither you have to write as many lines of code. In fact, many things are already taken care for you.However, This book made XNA look a lot more difficult than my other Advanced Direct X , C++ books. Here is why :
1) The Author uses so many messy lines of code just to render/show something in the screen with just a simple shader. The same thing can be done in XNA with just a few lines of code.
2)We , most of the readers, want to learn how to use the XNA API and made that transition from Direct X to XNA not looking necesarely for a beginners book. XNA is simple.Thru most of the book This Author wants the reader to learn about messy Helper Classes that he Made.
What works for him , does not mean it works for everyone. Not to mention that his code is not even optimized.If his messy extra code is not even optimized then why make XNA more complicated it than a C++ Direct X shaders book.Some people don't have the time to go thru his own custom code (Not xna,Shaders) that he wrote for his personal use. Readers want to
use XNA to lear or write their own clases.
3)) The code from the Book is from a Beta version of XNA, this book came on April and XNA was released on December. All he had to do is spend just one more week to update his code so that it would compile with the Final version of XNA and the reader would get accurate code from the book or wait a little longer to release his book. Even with the latest source code from the Book's website, some of the code does not even compile.Why? not because of XNA , but because of his messy code. In forums the Author himself says that he does not know what is going on simply because he has not gotten a copy of his own book yet. The book has been out for a month and he does not even know what his readers are being exposed to. Not to mention that besides the fact that this book does not give accurate code which won;t compile in the final version of XNA, some readers mention that the book has several grammar errors.
There are more Advanced 3D math,Graphics,Direct X, shaders books out there and none of them would give you as much pain as this book.Not because XNA or C# is hard, is SIMPLE! compared to others. It's his own custom made code he wrote that is just a mess and is Unnecessary, unless you want to make your life more complicated. Advanced books introduce the subject, explain it focus on their topic (API) and have accurate code that runs. Is just too bad, the Author of this book has Programming experience, but not the potential to explain and help the reader digest the info about his unesesary extra code that takes a big portion of his book. Since code can be downloaded and does not need to write more pages on his book, all he had to do is make 2 versions of this chapter demos. One with his messy code and another just using XNA. All he had to do in the chapters was: Please view the two versions of this demo. It only takes a sentence to write it on the book and have the code to be downlodable thru the Books Website.
Note: Even Microsoft, removed some of his Unit test,messy code when they tried to use his code.Funny thing is that the Author of this book was not very happy about that he mentions that on his website.