Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7 Paperback – Dec 20 2010
|New from||Used from|
Customers Who Bought This Item Also Bought
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.
About the Author
Aaron Reed has extensive software development experience and more importantly, experience in software development education. Since 2004 he has taught courses at Neumont University in .NET, web development and web services, XNA, systems design and architecture, and more.
Aaron's experience in teaching both DirectX and XNA for several years to university-level students helps him understand what topics are easily understood and which ones need more depth and emphasis. Through experience in the classroom he also has a good understanding of what format and sequence makes the most sense to present the material. This book follows that format and is meant to present game development concepts in the way most efficient and most comprehendible as proven in the classroom.
Top Customer Reviews
Most Helpful Customer Reviews on Amazon.com (beta)
I was not disappointed.
The book reads easily, and has no typo's so fallowing each chapter as written end in completed works with little trouble. The authors sense of humor shows occasionally but with good taste and only to offer added emphasis to points made. So as a whole this is a book full of very little filler, mostly good information. I was happy to have purchased it and very happy after completing it... That is, until I started to take what I leaned in it and apply it to my own game idea(s)... I quickly found that there are a few very specific details that are never touched upon, that many would expect when making a modern PC game.
It is the lack of these details that force me to give this a 4 out of 5 stars...
Cons: (For 2D Games)
- No 2D Matrix Transform lessons. (Manipulating the View Port directly)
- No camera control with mouse. (Grab & Drag, Zoom to Cursor, Click & Center, or even Mouse wheel Zoom)
- No screen selection by mouse. (Individual or group select by L-click and drag)
- No GUI (Graphical Use Interface) lessons, past putting the score & number of lives on screen.
- No tile based world lessons. (Used in nearly every 2D game today, ie: platformers and RPG's)
While this is a relatively small number of issues, and does not take into account 3D development, I still found it necessary to come here and write this review in hopes of better informing anyone looking to purchase this. If you intend to develop 2D games (which is pretty much what you have to do as an independent developer) you may want to consider the lack of some of the more significant features in modern 2D games.
The book leaves off with the reader wanting more 3D knowledge, but the 3D chapters are adequate for a rough start. I've learned a lot from this book and it will be in my personal collection for quite some time.
The main strength of this book over others I've seen is that it seems to land in just about the right spot as far as treating the reader like an XNA and game development newbie without also treating you like you're a newbie to C# or programming in general. I hate it when a book wastes my time teaching me the basics of programming... this book gets right to it in describing how XNA works. It doesn't go into as much detail as some other XNA books, which means its definitely a book I'm going to recommend to anyone else who wants to learn XNA, but it probably won't end up sitting on the desk as a reference book and probably won't have much use to someone already familiar with XNA. Of course, the word "learning" in the title should probably make that clear!
I went so quickly through this book that at times I felt like I was missing something somewhere but I didn't, it's just one of those books that you can't put down. You'll get a good grasp of taking a project and using it on a PC, Xbox and WP7 phone. In all honesty, I skipped straight over the WP7 section as I've been developing for it for a few months now already so I'm not 100% sure on that chapter but the rest was great.
What I liked the most about this book, is the groundwork it laid for anyone new to XNA (and even DirectX for that matter). You get shown the basics of the high level stuff (HLSL, AI, etc) so you at least understand what it is that you'll be studying after you're done with this book but the rest is pretty in depth and you come out feeling like you're on the right path and no longer lost.
I don't know if all the source code provided is perfect, but the code examples in the book are, so I mostly used that. The few times I did refer to the provided source code to check something they ran perfectly out the box.
All of the material is presented in the context of building a few simple games using the techniques you have been learning. First up is a 2D sprite based game with power-up objects to collect, enemies to avoid and scoring. It does a good job of introducing basic XNA and general game programming techniques in the context of a simple game.
From there, the book builds to a 3D development with a decent overview of the math required to create a 3D game. It never goes into too much theory, leaving most of the underlying math to other books that are entirely dedicated to math topics suited to games. It does however, get you started if you are just being introduced to 3D concepts. You will end up with a 3D game, where you shoot ships from a first person perspective. The game is simple, but does well in establishing a basis for future development.
After the 3D game, you get chapters focusing on how to deploy to the XBOX 360 and Windows Phone 7. The WP7 chapter is a bit superficial, but will get you started in mobile development. If you want a more in depth look at developing for the mobile market, there are entire books on the subject that will go into significantly more detail. A multiplayer chapter follows with a focus on split-screen and network game development. The content is again introductory, but does a good job of establishing the basics.
The book includes the answers to the end of chapter exercises as a means of checking your own work. The exercises are good practice, and are not too advanced for readers to fail. Working through the book should be a good introduction for anyone interested in XNA, whether they have previous programming experience or not. If you want a more advanced text, other books will do a better job than Learning XNA.