- You'll save an extra 5% on Books purchased from Amazon.ca, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)
Professional XNA Programming: Building Games for Xbox 360 and Windows with XNA Game Studio 2.0 Paperback – Feb 26 2008
Special Offers and Product Promotions
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Back Cover
This improved and updated edition of the bestseller will get you up and running quickly with building games for Xbox 360 and the Windows platform. Professional game developer and Microsoft MVP Benjamin Nitschke begins by explaining how to install the free XNA Game Studio 2.0 and then goes on to share essential advice for using it in a productive way.
Before you know it, each successive chapter will have you developing small games that increase in difficulty. By using the chapters as building blocks, you'll evolve from 2D programming to 3D, and you'll ultimately create a full-blown graphics engine that can be used for more advanced game projects. Plus, you'll get an inside look at six fully functional games, including the popular Racing Game and the new Dungeon Quest.
What you will learn from this book
Tips for adding music and sound with XACT
Techniques for creating unique visual effects through Shaders
Ways to access keyboard, mouse, and Xbox controllers with XInput
How to write your own XNA graphics engine and create a game engine
How to manage content in XNA
Myriad ways of fine-tuning, debugging, and troubleshooting
How to make sure games run on the Xbox 360
Ways to generate landscapes and tracks
How to take advantage of XNA's new networking APIs
Who this book is for
This book is for anyone who wants to create games on the Xbox 360 and Windows platforms. Experience with C# or a similar .NET language is necessary, but previous game programming is not required.
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 is the founder, lead programmer, and game designer at exDream entertainment. He is 26 years old, and lives in Hannover, Germany. He became a DirectX MVP of Microsoft in 2006 for his outstanding work in the DirectX community, especially with the free game Rocket Commander.
He started young — at the age of 9 he bought his first computer, a C64. He did not have many games, but he was very eager to type in commands on the C64, and from that to writing the first applications and games in Basic was not a big step. A few years later, he finally got a PC (386) and started some small game projects (Tetris clones, shoot-em-up games, and so on). exDream entertainment was founded 10 years ago, and it released a couple of smaller games before the first RTS game, Arena Wars, was created. Arena Wars was the first commercial .NET game ever and was released in 2004, where it received more than 20 awards worldwide, especially for the great multiplayer modes.
Recently, Benjamin has developed a couple of free open source games such as Rocket Commander and the XNA Racing Game Starter Kit, along with many game modifications. These games feature many video tutorials and a good documentation and code style to help beginners create their first video games. The video tutorials have been viewed more than 100,000 times and the games were downloaded and played even more often than that.
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 > 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