Professional XNA Game Programming: For Xbox 360 and Windows Paperback – Apr 30 2007
There is a newer edition of this item:
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
From the Back Cover
Professional XNA Game Programming For Xbox 360 and Windows®
You haven't experienced the full potential of Xbox 360 or Windows® until you've created your own homebrewed games for these innovative systems. With Microsoft's new XNA Framework, the only thing limiting you is your imagination. Now professional game developer and Microsoft DirectX MVP Benjamin Nitschke shows you how to take advantage of the XNA Game Studio Express tools and libraries in order to build cutting-edge games.
Whether you want to explore new worlds or speed down a city block in a souped up dragster, this book will get you up and running quickly. You'll learn how to implement 3D models, generate huge landscapes, map cool-looking shaders to your 3D objects, and much more. Nitschke also steps you through the development of your first fully functional racing game. You'll then be able to apply this information as you write your own XNA cross-platform games.
What you will learn from this book
- Tricks for managing the game engine and user interface
How to program an old school shooter game and space adventure
Tips for improving racing game logic and expanding your game ideas
Methods for integrating amazing visual effects using advanced shader techniques
Steps for adding sound and music with XACTbringing your game to life
How to fine-tune and debug your game for optimal performance
Who this book is for
This book is for anyone who wants to write their own games for the Xbox 360 or Windows platforms. You should have some experience coding with C# or a similar .NET language.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
About the Author
Benjamin Nitschke (
Inside This Book(Learn More)
Top Customer Reviews
The reason why this book still gets 2 stars is because it manages to give a nice overview of XNA. But that doesn't make it a good book about game programming in any way: your time would be better spent studying the XNA documentation, which is free. If you want to learn game programming with XNA, check out the Riemer's tutorials on the web. Based on their awesome quality, I have some good hopes for his book, Game Programming Recipes, which should be out by the end of June: check it out.
Most Helpful Customer Reviews on Amazon.com (beta)
*) You will need to be in front of a computer and have the samples downloaded if you want to learn something. I read 200 pages from this book while traveling by plane and since most of the code is not printed, and the author relies on the reader to try things on the computer, I did not learned much. If you are like me and love to read books in the beach, on the bed, or waiting on the dentist, you will not learn much.
*) Some of the games were written with the beta version and then ported, and some with the release version, but none with the refresh version. So the information may be already outdated. For example, the author states that XNA does not support fonts, and that was true, but no anymore.
*) The book can not be used as a reference book, it was written to be read from the beginning to the end.
*) The games presented on the book relies on helper classes written by the author, so sometimes you feel more like learning how to use this helper classes and less like learning XNA.
I feel bad writing this because the author has contributed so much for the XNA community, he deserves better, but this book is just not for everyone. If you feel like sitting in front of the computer and analyze code to learn by yourself, I suggest trying the samples from the XNA site first.
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.
This book just tells you one thing and then it's source code is completely different, for example in Chapter 2, it states to "Load some content in the 'Initialize' method" so you type some code in there and then later when you compile and things don't work, you go back and try to figure out why and when you look at the downloaded source code, all of the code you typed in the Initialize method lives somewhere completely different, along with dozens if not hundreds of lines of code not even mentioned in the book?? It becomes so frustrating trying to follow along the book, and then ignoring all of it and just reverse engineering the download coded - it really begs, why use the book at all? Just download the code and walk through it line by line and figure it out.
Flipping through the book looked so promising, I liked the projects in each of the chapters feeding off of each other, but honestly, I have a dozen web sites of online tutorials that I feel will teach me better than the book does.
I think I'm more confused about the audience for this book more than anything else - if you are advanced enough to figure out everything on your own, then you don't need this book and reviewing the code would be MORE than enough (plus you wouldn't need all of basic unit testing for every single task), but if you aren't advanced, the book is too difficult to follow and isn't worth your time...
Mr. Nitschke doesn't appear to have done this. Chapter 1 goes by reasonably well, but suddenly in Chapter 2, instead of learning XNA, we're learning about agile development and unit tests. Those things are great, sure, but if I want to learn them, I'll buy a book on them. It's absurd to bog the reader down with them right at the beginning.
That would be tolerable, though, if at least the code worked. But in chapter 2 you're entering code that looks like this...
spriteBatch.Draw(backgroundTexture, new Rectangle(0, 0, width, height), Color.LightGray);
...except that width and height haven't yet been defined anywhere yet, so the code won't build. Failing to notice this, the author jumps ahead to a static class full of Rectangle objects, and then begins his obsession with unit testing.
Now the sample code Mr. Nitschke provides *does* build, and I had to download it anyway to get the textures. But the way I (and surely many others) learn programming is by *doing*. You can't *do* with this book, because the code, if input in book order, doesn't build.
I'm disappointed. I bought this (despite bad experiences in the past with Wrox books) because it looked more detailed than the other books on the shelf. All that detail doesn't really matter if the code doesn't work so I can't run the examples after typing them in myself.
I should add that even if you're going to use the online code, you may wish to download it and look through it first before you decide to buy the book, because you may go cross-eyed trying to read it. Here's one sample (the dots are for indentation):
#region Start game
/// Start game
public static void StartGame()
....using (PongGame game = new PongGame())
....} // using (game)
} // StartGame()
All of the author's code is like this: (a) full of useless #region sections; (b) full of much useless XML "documentation" that just repeats the method names; (c) repeats the method name (or if block condition, or whatever) after every end brace. Compare with what the code would look like stripped of that garbage (again, dots added for indentation):
public static void StartGame()
....using (PongGame game = new PongGame())
So even if you're OK with having to use finished code instead of being able to type it in, you'll have to decide whether it's worth having to look through code that's as bloated and hideous as this.
Look for similar items by category
- Books > Computers & Technology > Graphic Design
- Books > Computers & Technology > Microsoft > Graphics, Animation & Illustration
- Books > Computers & Technology > Programming > Game Programming
- Books > Computers & Technology > Programming > Graphics & Multimedia
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Humour & Entertainment > Puzzles & Games > Video Games & Strategy Guides