Microsoft XNA Framework and XNA Game Studio
Microsoft XNA (“XNA’s Not Acronymed”) is a set of tools, complete with a managed runtime environment, provided by Microsoft that facilitates computer game design, development and management. XNA does this by freeing game designers from writing “repetitive boilerplate code, and brings all aspects of game production into a single system. The XNA toolset was announced March 24, 2004, at the Game Developers Conference in San Jose, California; and a first Community Technology Preview of XNA Build was released March 14, 2006. The final version was released on December 11, 2006.
The XNA Framework is based on the .NET Framework 2.0. It includes an extensive set of class libraries, specific to game development, to promote maximum code reuse across target platforms. The framework runs on a version of the Common Language Runtime that is optimized for gaming to provide a managed execution environment. The runtime is available for Windows XP, Windows Vista and Xbox 360. Since XNA games are written for the runtime, they can run on any platform that supports the XNA Framework with minimal or no modification. Games that run on the framework can technically be written in any .NET-compliant language, but only C# and XNA Game Studio Express IDE are officially supported.
The XNA Framework thus encapsulates low-level technological details involved in coding a game, making sure that the framework itself takes care of the difference between platforms when games are ported from one compatible platform to another, and thereby allowing game developers to focus more on the content and gaming experience. The XNA Framework integrates with a number of tools, such as XACT, to aid in content creation. These tools can help author the visuals or sounds in the game, and model characters with life-like dynamism.
The XNA Framework provides support for both 2D and 3D game creation, and allows use of the Xbox 360 controllers and vibrations. The Xbox Live Marketplace allows programmers to upgrade their version of XNA Game Studio Express and let them play games on their Xbox 360.
XNA Build is a set of game asset pipeline management tools, which help by defining, maintaining, debugging, and optimizing the game asset pipeline of individual game development efforts. A game asset pipeline describes the process by which game content, such as textures and 3D models, are modified to a form suitable for use by the gaming engine. XNA Build helps identify the pipeline dependencies, and also provides API access to enable further processing of the dependency data. The dependency data can be analyzed to help reduce the size of a game by finding content that is not actually used. For example, XNA Build analysis revealed that 40% of the textures that shipped with MechCommander 2 were unused and could have been omitted
XNA Game Studio
XNA Studio is an integrated development environment (IDE) for development of games. It is available in two versions: XNA Game Studio Professional and XNA Game Studio Express — with the latter being free and intended for enthusiast game development.
XNA Game Studio Professional
XNA Game Studio Professional is the version of the XNA IDE targeted for professional game developers. Based on Visual Studio 2005 Team System, XNA Studio provides a structure for collaboration between content creators, programmers, management and testers. Project management tasks such as asset management, defect tracking, project automation and work item lists, are somewhat automated by XNA Studio.
XNA Game Studio Express
XNA Game Studio Express is intended for students, hobbyist, and independent (and by extension, homebrew) game developers. It is available as a free download. Express will provide basic “starter kits” for rapid development of specific genres of games, such as platform, real-time strategy, and first-person shooters. Developers can create Windows games for free with the XNA Framework, but to run their games on the Xbox 360 they will have to pay an annual fee of $99 (or a four-month fee of $49) for admission to the XNA “Creators Club”. The initial release had no way of shipping precompiled binaries to other Xbox 360 players, but this was changed in “XNA Game Studio Express 1.0 Refresh”; it is now possible to compile Xbox 360 binaries and share them with other Creator’s Club members.
Microsoft’s Charles Cox demonstrates XNA