One of the better XNA books
25 May 2008 @ amazon.com
I’ve looked at all the XNA books available as of May 2008, and honestly not a single one of them has been able to meet my hopes and expectations in terms of clearly explaining what’s going on at a fundamental level in order to give one a solid basis to build on.
Either they spend half the book explaining C# programming (which I think is a waste of time as there are many great C# programming books and it helps to learn the language independently first), or they launch straight into 2D or 3D details without spending time to explain the fundamental organization and operation of a modern game program.
This particular book does better than average. There’s a wonderful diagram in the first few pages that illustrates the update, draw, repeat cycle. For that and some other better than average introductory material I give the book 4 stars to distinguish it from the other rubbish out there.
I haven’t used it enough to comment on the code quality, but browsing through the chapters the topics look much more interesting (and relatively advanced) when compared to the other books available.
So for someone with a background in programming, who would rather learn C# from another source (C# 3.0 in a Nutshell from O’Reilly is excellent), then this is at least one of the better "hint books" available.
For the most part though, none of these books does a good job of helping the beginner. I’m still looking for one that has at least a paragraph that explains that for each frame your program is responsible for drawing everything on the screen from scratch each time rather than having the video card somehow do it automatically, and then show how it works conceptually and in the context of a modern accelerated 3D video card.
Microsoft’s XNA is one of the more impressive things they’ve ever produced, and it makes (serious) game programming about 100x more accessible than it ever has been before, but the current state of information for the beginner is rather poor and it makes getting started, in what is admittedly an amazingly complex enterprise, a lot harder than I think it needs to be.
excellent intro to 3D programming - easy to understand
22 Jan 2008 @ amazon.com
This is an excellent step-by-step approach with many short chapters that are easy to read. The examples are complete and I can plug the code into my own projects with hardly any effort. I recommend this book for any beginner or for any experienced programmer who doesn’t know how to program games. I’ve been programming for three years but I don’t want to work hard when I’m learning...this book delivers.
Excellent to enter in the games programming world
18 Jan 2008 @ amazon.com
I think that this book is a perfect introduction to the new Microsoft Platform. To Develop a game is not a simple task but this book cover all the important feature needed to build a modern 3D game in an easy way. This book is ideal for beginner game programmer. The only prerequisites is the knowledge of the C# programming language and basic concept of Microsoft .NET Framework.
Introduction to XNA concepts and bad programming practices
20 Dec 2007 @ amazon.com
I’m an experienced programmer, and a professional game developer, so I’m not exactly the audience that the authors were shooting for. (They claim to be shooting for "beginning to intermediate" programmers in the introduction.)
This book does serve to describe some of the concepts in XNA that I was unfamiliar with, but I found the text written poorly and the code written unprofessionally.
Even for a beginning audience, there were factual errors in the text that are at best misleading, and certainly contribute to a misunderstanding of the processes involved. For example, when discussing pixel shaders, the authors claim that the output gets sent to the graphics card one pixel at a time. This is false, as the pixel shader is running on the graphics card already, except in the exceptionally rare (and ill-documented) case of running with a reference rasterizer on the CPU.
The organization is questionable, with topics used before they’re explained (chapters 13, 14, and 15 are on vectors, matrices, and cameras, which are important foundations for chapters both before and after). Within chapters, code is presented in a half-tutorial fashion, but without enough guidance to really follow along.
The diagrams are typically not helpful, including screenshots that don’t do a good job of illustrating the concepts at hand. A case in point, Figure 20-1 tries to show "before and after directional lighting". Any still image is going to be hard pressed to accomplish this. More useful would be a reference to an interactive demo.
The book has a zip file that can be downloaded from the publisher’s website, which is of some use, but it doesn’t seem to agree with some of the references in the book, including discussion of how to use the authors’ framework, which is a starting point for much of the code in the book.
This was written before the release of Game Studio 2.0, so some of the book is already out of date, including comments that there is no networking support, and a strange admonition that writing networked games "might be potentially unsafe".
Confusing if you don’t have previous knowledge
18 Dec 2007 @ amazon.com
You can read all the ’detail’ from the other reviews. I found the book frustrating to read. Difficult to follow. Not well explained. And I used to be a computer programmer in my ’earlier’ life. Material could have been much better presented.
Abysmal Code Reference
15 Dec 2007 @ amazon.com
Given other people’s positive reviews of this book, I’ll make the concession that I didn’t use this book by reading it chapter by chapter. I used it as a reference and a guide.
And for that, this book is horrible. When I couldn’t figure out a concept easily, I’d look to the book for an explanation and some sample code. For explanations, the book was mediocre. Not bad, just not written in any good teaching style.
As sample code, the book fails on every single level. The code is incomprehensible, with odd naming conventions, astounding overuse of variables, and massive over-complication of basic XNA tasks. (If you went to this book first to learn XNA, then please take a look at other resources and see how much simpler your code could be).
Most of all, though, the code is completely un-portable. It takes tremendous amounts of blood, sweat, and tears to port any of their code to a different program, to a more general use, or to a more object-oriented system. It’s almost as though they tried to make their code work exclusively for their very specific examples, with absolutely no thought to making the code useful in any other context.
If you’re looking for a casual reference to help you along while learning XNA, avoid this book at all costs. It will provide you nothing but pain. If you want to learn the concepts carefully and freshly for the first time, by reading a textbook, then this book will probably suffice. But I must reiterate, the code examples provided in this book are AWFUL. Every single thing you do in XNA is easier than they made it.
Examples of horrible code:
-In the particle effect sample, the code that made the particles appear at the correct position was in the particles’ draw method. They made a constructor able to specify their origin, but instead of being intelligent, they set that to Zero and translated the image in the Draw method.
-Also, the particles only moved in 2 dimensions, when it was a single line of code to make it 3, a line of code that was already written.
-The core of most of the examples is a small grass field you can walk around on. The controls must have been made by someone with absolutely zero experience placing PC games. It’s difficult to trust any so-called game programmer that isn’t aware of the WASD + mouse standard (they used arrow keys and INVERTED mouse look). That issue was relatively easy to fix, however.
-Also, instead of placing the ground at Y 0, which would have made expanding on that world much easier, your camera is at 0, and the ground is -.8 or something.
-There is a method in their code that returns its parameter. It does nothing else. Call it with a parameter, and get the exact same reference back, unmodified. Why that method exists, I can’t fathom.
But the worst, by far, was the general stuff. The naming conventions, and the layout of their code (or lack thereof) were all inexcusably horrific.
So Far So Good
13 Nov 2007 @ amazon.com
I dont know what other people are saying about this guide, but i can tell you, from my personal experience, that this is a GREAT book.
When you first get the book, the opening chapter was confusing to figure out, after 2 hours of monkeying around i got it. After that, everything else went smooth. And i am learning really cool things. The end of the chapter exercises are fun, not to challenging, but enough to make you learn.
How to Hate this Book: Know about XNA when you buy it, and also have a good grasp on particle systems, controls, cameras, vectors, matrices, primitives, adding models, animation, hit detection.
How to Love this book: Dont know anything about XNA, But have some knowledge of what a vertex is. Or what a Color is, Drr?, and most of all.... Dont just expect to know how to be a bomb programmer just by reading this book. Books are just instruments to give you insight into a complex machine. Most of the learning should be done by experimentation.
Example: Page 73: "Spend the time you need to ensure that you understand transformations. It is not an overly complex topic, but it can be challenging for beginner graphics programmers who do not give transformations the learning time the topic deserves."
So if you keep a self learning mentality, you should find this book VERY VERY VERY VERY HELPFUL, I would recommend it to any who does not know a thing about programming 3D, but has a pretty decent knowledge of physics, math(calculus), and 2D programming skills. This is what is going to boost me to the top. ;)
Basics of XNA
18 Jul 2007 @ amazon.com
This is a good book as an introduction to programming XNA. I have tested the examples code in all chapters and they all work fine. The code is very easy to understand but not that much commented. I wish there should been at least one complete game programmed by the end of this book. The author shows us loading a Quake model which does some crazy things when we press "space" key multiple times on your keyboard, i am not sure what the problem would be, but loading a animated mesh is done perfectly no issues about that. It would have been better if the book describes how to load a animated mesh file in .fbx format or a .x format which are supported by XNA framework. Overall the book gives a good introduction to the XNA Framework and many other topics like billboards, particle effects, cameras, shaders etc. I would recommend this book to all beginners who wish to start learning XNA framework. This is a good resource to start game programming.
Good Introduction to Game Programming with XNA
17 Jul 2007 @ amazon.com
I was excited to see this book arrive from Amazon so quickly and couldn’t wait to look at the newest XNA game programming book. Although, I was somewhat disappointed when I first opened the box from Amazon and did a quick look through pages. Realizing this book was far more basic than what the description on Amazon lead me to believe. However, as I read through the book and ran the example downloaded code I realized this really was a good introduction to game programming.
Pros
* Provides a good introduction to many fundamental game programming concepts
* Doesn’t jump right into 3D mathematics as many intro game programming books do, I feel this gives the reader a better grasp for how to apply 3D math later in the book
* Good examples of the 3D math concepts provided in example code, not many programming books do this
* Chapters are short, easy to read and understand
* Covers some of the more basic tools a beginning game programmer will use
* Provides a lot of example code that compiles and runs without troubles
* Book does cover some more advanced concepts that will certainly be useful to any level of user
Cons
* Wish the example code was highlighted a little better in the books text
* Example code uses some dated conventions (Hungarian notation) which somewhat date the code
* Would have liked to see some more detailed examples and a game or two that brought the concepts together
* Some of the chapters are a little too short for my liking considering some of the concepts this book covers
If you are looking for a good introduction to game programming with XNA I would recommend this book. Those with some game programming experience looking for an introduction to XNA may be a little disappointed but overall I feel this is a good title for any novice.