Figure 1. The Complete FuelCell Game
The purpose of this multipart topic is to educate you about various strategies and challenges encountered during the development of a simple 3D game. The FuelCell diary focuses on developing a basic 3D game with a simple goal: collecting objects scattered randomly around a playing field, which is also populated with randomly-placed barriers. The components of FuelCell are deliberately limited to provide a clear picture of the structure and scope of the game.
Game development is hard – especially 3D game development. XNA Game Studio was developed specifically to make game development easier and, hopefully, more enjoyable. Unlike the solid content found in the Programming Guide and Getting Started with XNA Game Studio sections, the purpose of this diary is to provide a continuous discussion of the work required for developing a simple 3D game using XNA Game Studio. In addition to articles focused on implementing a specific technique, this diary also contains material on initial game design and how game design drives future development of that game. Also, since game development is not all candy and roses, the diary also focuses on problems encountered during development and how they were overcome.
FuelCell is designed around a central concept: a basic gameplay mechanism that is easily extensible. The initial version, discussed in the following topics, draws a random playfield of barriers and collectable objects. The player, controlling a vehicle that can be driven around the playing field, searches for a collection of fuel cells. Due to the modularity of the game design, future versions could easily add additional effects and game features.
The primary components of FuelCell (camera, avatar control, and collision detection) use existing topics found in the Programming Guide. This diary ties together these disparate concepts into a complete (albeit, simple) 3D game.
The diary is broken up as follows: