The new SDK for XBOX 360 using C#

Hi,

I recently saw on my Visual Studio homepage that XBox 360 code can be written in C# and tested on an XBox 360. Has anyone worked with this? Im interested to start working in game development and wanted to know if this is any good in a commercial/industry sense or whether it is a createsmall games at home sort of API?

The XNA team is proud to announce the availability of the 1.0 release of XNA Game Studio Express and the XNA Framework, aimed at helping students and hobbyists build games for Windows and the Xbox 360. This release supports both Windows game development and Xbox 360 development (subscription to the XNA Creators Club is required in order to run XNA-based games on the Xbox 360)

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:

* 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.

Q: What does XNA stand for?
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: Are there any prerequisites to run XNA Game Studio Express?
A: Yes. You must download and install Visual C# Express and the latest DirectX runtime updates (the full DirectX SDK is not required). Also, you need a Direct3D 9.0 video card capable of supporting at least Shader Model 1.1. Our recommendation is that your graphics card supports Shader Model 2.0 since many samples and starter kits require it. Check your graphics card manufacturerís website for more information about your specific graphics card.

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: What versions of Windows does XNA Game Studio support? I'm running Windows Vista, can I run XNA Game Studio Express?
A: Right now XNA Game Studio Express is only designed and tested for Windows XP SP2. Windows Vista and Windows Server 2003 are unsupported platforms, although we are working on bringing Vista support in a future update.

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 Microsoft 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 xna@microsoft.com 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: Do I need the DirectX SDK to use the XACT audio tool?
A: No, XACT is now included in the download of XNA Game Studio Express. However, if you want to use other tools, like PIX, you will need to download the latest DirectX SDK.

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 xna@microsoft.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.
Managed DirectX

Q: Is the XNA Framework different from Managed DirectX (MDX)?
A: Yes. The XNA Framework is a completely different set of technologies targeted at game developers. It does share similarities based on the fact that the underlying technologies are still based on DirectX. The XNA Framework also leverages other technologies such as XACT and X/Input.

Q: Will there be any more improvements to Managed DirectX 2.0?
A: The Managed DirectX 2.0 beta libraries were declared deprecated in April 2006, and expired on October 5th, 2006. If you have an enterprise application that was materially impacted by this expiration, please send email to xna@microsoft.com .

Q: Does the XNA Framework replace Managed DirectX?
A: The XNA Framework has a managed API for working with hardware on the Xbox 360 and Windows. This API subsumes much of the functionality that previously existed in the MDX 2.0 beta.

Q: Does MDX 1.1 support development with the .NET Framework 2.0?
A: MDX1.1 is fully compatible with the .NET Framework 2.0.

Q: What does this all mean regarding Managed DirectX (MDX) 1.1?
A: MDX 1.1 is in sustained engineering mode, and will not have any new functionality added to it. If you have a gaming scenario that needs a specific feature found only in MDX 1.1, please let us know and we will consider it for the XNA Framework.

Q: Will my MDX 1.1 code run inside the XNA Framework?
A: Please refer to this migration guide that describes how to migrate MDX 1.1 code to the XNA Framework.

Q: Iím a game studio and I have made a significant tools investment on MDX 1.1, does this mean Microsoft will not support MDX 1.1 anymore?
A: Microsoft will continue to support MDX 1.1 as per our standard support policy. Once the XNA Framework ships we will provide guidance on how to move from MDX 1.1 to the XNA Framework