Microsoft XNA Game Studio 3.0 Unleashed is a book-length tutorial on cross-platform (and by that I mean "across Microsoft's platforms") game development using the Microsoft XNA framework. Apparently XNA is becoming MS's "catch all" codeword for any game development technology, so the book starts off making it clear that this is about developing for Windows, XBox 360, and Zune using the .NET framework, the XNA framework, and C# using MS's freely-downloadable IDE's and class libraries. While you can develop XNA applications using other .NET supported languages, C# is clearly the best-supported one of the bunch, so the book doesn't really deal with the rest. And XBox 360 development constitutes the bulk of the book. While Windows and Zune development are covered, it's clear that this book is mostly for people who want a low-priced and well-supported path towards XBox development. And that stands to reason. While XNA can make good Windows games, so can at least a hundred other technologies. And while developing Zune games is interesting, it's still not a fully "baked" technology, at least as it concerns developing and deploying games that you can share and put on the "Zune Store". So when you read in the book about the limitations of textures or memory or processor with which you'll need to deal, assume that it's being done with an emphasis on XBox 360. Zune does get a few pages (and a much-needed discussion of how to do sound, as it's different from the other platforms), and the book does a good job discussing what needs to be done to port a Windows/XBox XNA title to the Zune, but it's a good bet that Zunes will be getting their own "how to write a game for the Zune" book eventually. Also despite this title's impressive length (700+ pages), this isn't a comprehensive coverage of XNA technology. XBox 360 is built on DirectX 9 (with some shader stuff added on), and DirectX 9 is a pretty big. This book isn't intended to be an A-to-Z reference manual. It's actually a book-length tutorial for beginners. And "beginners" is a slippery word. For example, the book starts out by showing you how to do some of the elementary stuff, namely installing XNA Game Studio and Visual C# 2008 Express, followed by hooking 'em up to your XBLA account so you can compile games and deploy to an internet-connected XBox 360. Once that's done, though, things start moving faster. One thing this book is not is a tutorial on C# or DirectX. While you can probably pick up C# quickly if you're familiar with one of the half-dozen languages from which it's derived, knowing the "DirectX way of doing things" isn't as obvious if you've not done it before. If you're a rank amateur who's new to programming, you really should start with something simpler to get your feet wet with the language and the environment before you can start deploying content to your XBox. If you think that owning an XBox, a Windows PC, and this book is all you'll need to get started, you'll likely be disappointed. While this book is pretty easy to follow, there's a pretty steep learning curve you'll have to navigate before you can develop a decent XNA game. Like most book-length tutorials, this book covers stuff that's not specifically related to its rather narrow topic -- stuff like physics and AI that have entire books devoted to them. And I do understand that a tutorial will necessarily require code that's not just object-calls to the underlying system. After all, games are more than just operating system services. While this book does keep the discussion of such things to a minimum (about ten pages or so each), the book could probably do with a small bibliography of related texts so that the "beginner" users reading the book realize that there's a whole bunch more to game physics than what's printed in this book. XNA is a pretty cool technology, and I'm heartened to see that at least one game console has come up with a reasonable way for small-time developers to build console games. And this book will definitely help you get there. Just be ready for it. Table of ContentsPart I: Get Up and Running with XNA on Your PC and Xbox 360 1: Introducing XNA and XNA Game Studio 2: XNA and the Xbox 360 3: Performance Considerations Part II: Understanding XNA Basics 4: Creating 3D Objects 5: Handling Input to Move our Camera Part III: Content Pipeline 6: Loading and Texturing 3D Objects 7: Sound and Music 8: Extending the Content Pipeline Part IV: 2D in XNA 9: 2D Basics 10: 2D Effects 11: Creating a 2D Game Part V: XNA and the Zune 12: Playing the Game on the Zune 13: Zune Specific Functionality Part VI: High Level Shader Language 14: HLSL Basics 15: Advanced HLSL Part VII: Physics and Artificial Intelligence 16: Physics Basics 17: Finite State Machines and Game State Management 18: AI Algorithms Part VIII: 3D Effects 19: Advanced Texturing 20: Special Effects 21: Particle System Part IX: Putting it into Practice 22: Creating a 3D Game 23: Improving the Game 24: Finishing Touches Part X: XNA Networking 25: Networking Basics 26: Creating a Networking Game Skeleton 27: Creating a Client Server Network Game 28: Creating a Peer to Peer Network Game Part XI: Xbox LIVE Community Games 29: Preparing the Game for Peer Review 30: Submitting the Game for Peer Review
|