One such bandwagon is XNA- Microsoft's games technology for Windows and Xbox 360 games. In the last six months, over a dozen books have appeared or will appear on this subject.
Who is the Book Aimed at?
For those with the full version of Visual Studio 2005, he provides enough instructions to get you going. This is important if you have aspirations of professional development - games development is a serious business and uses the techniques that other areas of development use such as team working, and unit tests.
A Quick Start into Games Programming
The author has developed games and it shows. Chapter two spends a lot of time in developing a Pong game, from initial concepts through sprite moving and collision detection and ending with sounds. He is quite keen on Agile methods and includes unit testing right from the off; very much a professional approach. Once its running under Windows he then moves it to the Xbox 360. If you're developing for the first time on the Xbox 360, the advice here is invaluable.
Managing the resources for a game, graphics, 3D shader info, sounds etc is a complex task and chapter three addresses this issue as well as more mundane tasks like logging errors.
There's brief coverage of Nunit and unit testing here as well though that was introduced in more detail in the previous chapter. The remainder of this chapter introduces helper classes for enum, color and sprites and then finishes with a Breakout game, much of it derived from the earlier Pong game.
The Game Programming Learning Curve gets Steeper
Section two goes into much greater detail on graphics and starts developing a fully working 3D graphics engine. It doesn't dwell on 3D maths or graphics; you are expected to read up on them if you don't know them. Instead it jumps straight into rendering a 3D image with a texture. It's sink or swim but that goes with this territory. 3D game programming is by its very nature a complicated subject. It's unusual for a games programming book to design by test but very welcome for all that. These days, professional games programming is a multi billion dollar industry with games costing upwards of $5 million to develop. The days of amateur developers are almost over. A professional approach is needed.
The author is clearly at home with 3D software and how for example 3D models are drawn and managed. Being able to get your graphics into your game is an important part of game programming and that's not neglected here. He even includes a ScreenshotCapturer class- the neat little touches that make all the difference. Commented code is scattered liberally throughout the book but don't expect a line by line commentary as you are assumed to be intelligent and knowledgeable. I really liked the tips given about moving your game onto the Xbox 360.
Getting up to speed with 3D Games Programming
The third section is about improving the game. It begins by covering sound using Microsoft's XACT- for creating cross platform sound. Next is player interaction and working with the XBOX 360 Input pad. Chapter 11 is another game XNA Shooter; many cool effects, nice looking 3D models and a 3D landscape in the background with houses and plants, real-time shadow mapping, a cool sound track, and nice sound effects.
The fourth section finishes the book off with three chapters on a racing game and this covers landscaping and tracks. These are not simple subjects- but if you get through them you will have learnt a lot. Chapter thirteen covers physics and fourteen looks at game designing, and the game menus.





