Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Beginning XNA 2.0 game programming : from novice to professional
Lobao A., Evangelista B., Farias J., Apress, 2008. 456 pp. Type: Book (9781590599242)
Date Reviewed: Jul 11 2008

This well-written book covers the basics of game programming. The subtitle is a bit ambitious because even mastery of this content will not be sufficient to become a professional.

Commercial games often have large budgets and many developers. While game programming often employs C++, Microsoft based the XNA Game Studio on C# to enable hobbyists and students to produce two-dimensional (2D) or three-dimensional (3D) games, both for Windows and the Xbox 360. The XNA framework hides DirectX, providing .NET libraries for graphics and vector mathematics.

The introductory chapter covers the basic game structure provided by the XNA framework. The next five chapters do a good job of covering 2D game programming. The example game, Rock Rain, nicely illustrates 2D games. Xbox 360 deployment is briefly discussed, and the Xbox 360 controller or the keyboard can be used for the Windows version. A long chapter 4 describes enhancements to the game. Chapter 5 introduces game networking, while the next chapter makes Rock Rain a network game.

The next six chapters cover 3D game concepts, leading to the creation of a third-person shooter game in chapter 12. These chapters cover the concepts at the right level, but could be better coordinated with examples. Chapter 7, on 3D game programming basics, uses coordinate axes to illustrate lines and polygons and a cube to illustrate a model. It would be more interesting to draw a cube from vertices and find a more complex model. The example in chapter 9, on lights and cameras, does nothing for the reader. The code for lights and cameras is included, so it would have been easy to add a cube as a simple illustration.

Chapter 10, on terrain, is very nicely done, with an example that is used later in the game. The material in chapter 11 enhances the animation capability of XNA. Chapter 12 develops a third-person shooter game that brings together everything covered so far. It could be tweaked a bit to make the game more playable, but it provides a good basis for readers who want to develop their own games, as is suggested in the final chapter.

This book covers the recently released version 2.0, but there is already a version 3.0 in preview. Readers with background in C++ or Java will be able to pick up C# fairly easily. Less experienced programmers might need to learn some C# when starting XNA, because reading the source code is really helpful. To avoid the 209 MB download for the source code, it would have been nice to have a CD included with the book.

This book is well suited for self-study or for use in a game programming course. The newer version of XNA will make adding sound simpler and enable game development for the Zune platform; the examples given here will be easily adaptable.

Reviewer:  Arthur Gittleman Review #: CR135827 (0905-0412)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Interactive Environments (D.2.6 ... )
 
 
Games (K.8.0 ... )
 
 
Graphical Environments (D.2.6 ... )
 
 
Software Development (K.6.3 ... )
 
 
General (K.8.0 )
 
 
Language Constructs and Features (D.3.3 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Interactive Environments": Date
A preferable look--APL in window-based environments
Recker U., Rys M. ACM SIGAPL APL Quote Quad 20(4): 312-321, 1990. Type: Article
Dec 1 1991
Undo support models
Yang Y. International Journal of Man-Machine Studies 28(5): 457-481, 1988. Type: Article
May 1 1989
Languages and interactive software development
Graham S.  Programming languages and system architectures (, Zurich, Switzerland, Mar 2-4, 1994)341994. Type: Proceedings
Jul 1 1995
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy