Chapter 11. Creating XNA Shooter
In this chapter, I want to guide you through the creation of XNA Shooter, a little shoot-'em-up game, which is actually quite fun to play. It looks and feels better than the usual boring arcade games thanks to 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. I did not really expect to get such a great game when I started programming XNA Shooter (as you can probably guess from the name, which is not that great). But after I added shadow mapping, which is also used in the racing game in the last part of this book, the background and the 3D buildings looked very nice. The nice UI from the previous chapter and some cool post-screen shaders (see Chapter 8) also help.
This chapter allows you to follow every step in the process of creating XNA Shooter. The basic game was coded in two to three days and only some of the more advanced classes such as the
EffectManager and the shadow mapping needed some additional tweaking. Shadow mapping is one of those things that is not only hard to implement at first, but you can spend days or even weeks tweaking it over and over again to make it look a little better and fix some issues (and there are always issues). XNA Shooter is completely based on the XnaGraphicEngine from Chapter 5 and on Rocket Commander XNA from Chapter 8. Only in this way is it even possible to create such a good looking game ...