What is XNA?
Microsoft's 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 "repetitiveboilerplat e code, and brings all aspects of game production into a single system. The XNA toolset was announced March 24, 2004, at theGame 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.
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 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 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.
The first beta version of XNA Game Studio Express was released for download on August 30, 2006, followed by a second version on November 1. Microsoft released the final version on December 11, 2006.
Frequently Asked Questions
Here is the official Microsoft XNA FAQ. Check there for updates but I will try to keep this updated.
Q: What is XNA Game Studio Express?
A: XNA Game Studio Express is a new game development solution targeted primarily at students, hobbyists, and independent game developers. XNA Game Studio Express is based on Visual C# Express 2005 and lets developers create games for both Windows and Xbox 360. XNA Game Studio Express contains the following:
Q: What does XNA stand for?
- The XNA Framework, a set of managed code development libraries that make it possible for game developers to be more productive when creating games for Windows and the Xbox 360.
- The XNA Framework Content Pipeline, a set of tools that allow developers to more easily incorporate 3D content into their games
- XNA Game Studio Express also contains a full set of documentation, how-tos, and starter kits that demonstrate how best to use the content pipeline and XNA Framework.
- XNA Game Studio Express runs side-by-side with other versions of Visual Studio without interference
- XNA Game Studio Express has now been released, and can be found here. It supports both Windows and Xbox 360 game development.
A: XNA’s Not Acronymed
Q: How much does XNA Game Studio Express cost? Is there a difference between Windows and Xbox 360 development?
A: Visual C# Express, the XNA Game Studio Express tools and runtime environment for Windows are all FREE. To develop, debug and/or play games on the Xbox 360, however, you must have an XNA Creators Club subscription purchased directly from the Xbox Live Marketplace. Two subscription options are available: $99 per year or $49 per four months.
Q: Do I need a hard drive to run XNA-based games on my Xbox 360 console?
A: Yes. The XNA Framework runtime environment for Xbox 360 requires that a physical hard drive be present on your Xbox 360 retail console.
Q: How can I share my Xbox 360 game built with XNA Game Studio Express with other Xbox 360 users?
A: To share your Xbox 360 game with friends, four requirements must be met:
- The individual you are planning to share the game with must be logged in to Xbox Live and have an active subscription to the XNA Creators Club
- The receiving user must have downloaded the XNA Framework runtime environment for the Xbox 360
- The receiving user must have XNA Game Studio Express installed on their own development PC
- The game project, including all source and content assets, must be shared with the receiving user. The receiving user then compiles and deploys the game to their Xbox 360.
We are actively working on other ways to allow you to more easily distribute your games and are very excited about the possibilities this will open up for independent game development.
Q: Can I store my XNA Game Studio Express game on my memory card or CD/DVD and share it with a friend?
A: No. Games developed using XNA Game Studio Express cannot be shared through a memory card or CD/DVD at this time.
Q: How do I tell the XNA product team about a bug I found or a new feature I want?
A: You can submit bugs and feature requests through the Microsft Connect site. Sign in using your Windows Live ID, click on "Available Connections" and select "XNA" from the list. Once you complete the survey, you will be able to submit a bug or feedback request. If you are already in the XNA Connection, use the "Report an Issue" wizard to submit your new bug or feedback.
Q: How can I learn more about the XNA Game Studio?
A: We will continue to provide updates to the game development community via future events and our XNA Developer Center. You can also participate in community discussions. In addition, you can email firstname.lastname@example.org
if you have any questions, but we cannot guarantee a response to every email we receive.
Q: Will I be able to develop a game and run it on both Xbox 360 and Windows?
A: You will have to compile the game once for each platform. In this release simply create a separate project for each platform and then compile them both. Our goal is to allow as much code as possible to be shared between those two projects, allowing you to use the same source files in both projects, but platform-specific code will need to be conditionally-compiled.
Q: Can I use the XNA Game Studio Express or XNA Framework to build a commercial Xbox 360 game?
A: XNA Game Studio Express lets you create Windows and now Xbox 360 console games much more easily. These games are limited to non-commercial scenarios for 360 titles created with XNA Game Studio Express. However, XNA Game Studio Express may be used to create commercial games which target Windows. We plan to release XNA Game Studio Professional next year which will allow developers to create commercial games for the Xbox 360 in addition to Windows.
Q: How can you debug XNA-based games running on the Xbox 360?
A: Debugging on the console is supported through a remote debugging connection from a Windows desktop running XNA Game Studio Express.
Q: Does the XNA Framework include the ability to use Xbox Live?
A: The initial release of the XNA Framework on the Xbox 360 does not have any support for networking. We realize this is a big area of interest for game developers and are actively working on a solution for the next release.
Q: How does the XNA Framework support audio?
A: The XNA Framework provides support for audio playback through managed XACT.
Q: Does the XNA Framework support XINPUT or DirectInput?
A: The XNA Framework provides support for input devices in games through managed XINPUT.
Q: What is the support policy for XNA Game Studio?
A: XNA Game Studio Express customers can seek support in our XNA Framework and XNA Game Studio Express forums accessible through the Game Development forum links on our Developer Center.
Q: What is the difference between XNA Game Studio Express and the XNA Framework
A: XNA Game Studio Express is a set of tools based on Visual C# Express 2005. The XNA Framework is included with XNA Game Studio Express and it is the set of managed (.NET) libraries based on the .NET Framework 2.0 that developers use. You can also download the XNA Framework runtime components separately, should you want to share an XNA-based game with your friends on Windows.
Q: What if I have a 360 Developer Kit – can I use the XNA Framework with a title that I intend to send through certification?
A: We plan on releasing XNA Game Studio Professional next year which will support the creation of commercial games on the Xbox 360. Titles created with XNA Game Studio Professional by developers with approved titles will be able to be submitted for certification, unlike games made using XNA Game Studio Express.
Q: Is the XNA Framework running in emulation mode on the Xbox 360?
A: The XNA Framework makes use of a custom, native implementation of the .NET Compact Framework 2.0 CLR on the Xbox 360.
Q: Is the XNA Framework available on non-Microsoft platforms?
A: At this time, the XNA Framework is only available on the Windows and Xbox 360 platforms.
Q: Isn’t managed code in the XNA Framework interpreted and therefore slow?
A: No, it is not interpreted. The IL is just-in-time (JIT) compiled into native code when it is initially loaded by a process, prior to execution. This allows hardware-specific optimizations unique to the PC and Xbox 360 architectures.
Q: What exactly is the XNA Framework?
A: The XNA Framework allows game developers to create modern games using the C# programming language and a rich set of development libraries. The XNA Framework provides its own content pipeline to make it easy to get rich content (3D, 2D, sound, etc.) from content creation sources into a game. The XNA Framework also provides a very high level of API unification across the Windows and 360 implementations, thus virtually eliminating the cost and effort required to port games between these two platforms.
Q: How is this different than the .NET Framework?
A: The Framework is the leading development stack for building general purpose Windows-based applications. The XNA Framework was designed to leverage many familiar elements of the Framework, such as core class libraries and a Common Language Runtime, but is optimized for game development and execution. The XNA Framework includes a custom set of cross-platform libraries built from the ground up specifically for game development.
Q: Do we have network or Xbox Live access on the Xbox 360 via the XNA Framework?
A: On Windows you can use System.Net or any other network library. On Xbox 360 there is no network support. Local multi-player support is supported on the Xbox 360 however.
Q: Can I create non-gaming applications (such as a Media Center/Player) with XNA Game Studio Express?
A: On Windows this is possible, but the initial release on Xbox 360 is tuned to writing games. This is an area we are actively looking to the community for feedback on the types of applications they want to write for their Xbox 360.
Q: Does the XNA Framework ship with the DirectX SDK?
A: Currently, the XNA Framework for Windows ships with XNA Game Studio Express and not the DirectX SDK. The XNA Framework for Xbox 360 is only available through Xbox Live Marketplace once a subscription to the XNA Creators Club has been purchased.
Q: Direct3D has feature X. Will feature X be available on the XNA Framework?
A: We have implemented or refactored a large number of features from D3DX in the XNA Framework. We are actively investigating any additional functionality from D3DX that may be required by game developers that may have been missed. We are taking feedback through the newsgroup forums as well as through email@example.com
Q: Does the XNA Framework replace my version of the Framework on my Windows desktop?
A: No. The XNA Framework does not replace or interfere with your existing Framework installation. The XNA Framework on Windows is a set of class libraries built against the .NET Framework 2.0.
Q: Does the XNA Framework support Windows and Pocket PC devices?
A: The XNA Framework currently does not support Windows Mobile or Pocket PC devices, but based on customer feedback this may be a direction we expand the XNA Framework in the future. We know that developing mobile games is a hot area of growth and one we would like to support in the future.
Q: Is the XNA Game Studio Express subscription available for programmers worldwide? Are you planning on localizing the software?
A: XNA Game Studio Express development tools and environment for Windows is available worldwide for download from MSDN. The XNA Game Studio Express Creators Club subscription for Xbox 360 is available in nearly all countries currently shipping Xbox 360 retail consoles and with Xbox Live connectivity. The current version of the tool is available in English only.
Q: What’s the difference between XNA Game Studio Express and XNA Game Studio Professional?
A: XNA Game Studio Express and XNA Game Studio Pro are related products targeting non-professional game developers and established professionals respectively. Both products integrate with Microsoft Visual Studio. XNA Game Studio Express is intended for the hobbyist/small development group and therefore designed to help create non-commercial games. XNA Game Studio Professional will include additional functionality needed by professional game developers wishing to create commercial, signed titles.
Q: Why doesn’t the XNA Framework Content Pipeline support my favorite content creation tool?
A: We feel we have chosen a robust set of file formats for the release of the content pipeline that allow you to work with a wide range of available content creation tools. More importers supporting more content creation tools will become available in the future.
Q: What is the C# language?
A: C# is a modern, object-oriented programming language designed with developer productivity in mind. C# is used by millions of software developers worldwide and provides full access to building applications based on the .NET Framework, the Compact Framework, and ultimately the XNA Framework as well.
Q: What are the benefits of managed code?
A: The managed execution environment provided by the common language runtime provides developers with a wealth of productivity benefits. Such managed code benefits include garbage collection, hardware abstraction, thread management, and a sandboxed security model. For more information about the Common Language Runtime and the Framework please visit the .NET Framework Developer Center.
Q: How widely used is C# in the gaming industry?
A: The vast majority of game studios recognize the productivity benefits of C# and are already using it for creating internal tools within their studios. There are even a few great games for Windows written using C#. But before the advent of the XNA Framework, doing true cross-platform development with C# targeting both the Windows desktop and the Xbox 360 was not a reality. That’s why we believe the XNA Framework represents an exciting opportunity for game studios.
for his original XNA faq found Here.
Microsoft's original faq