| Developer(s) | Microsoft Gaming |
|---|---|
| Target platform(s) | Xbox 360,Windows,Windows Phone |
| Editor software | XNA Game Studio |
| Player software | XNA Runtime |
| Format(s) | XNB |
| Programming language(s) | C# andVisual Basic .NET[1] (officially) |
| Application(s) | Video games,console games,mobile games |
| Status | Discontinued[2][3][4] |
| License | Freeware |
| Website | msdn |
Microsoft XNA (arecursive acronym forXNA's not acronymed)[5] is afreeware set of tools with amanagedruntime environment thatMicrosoft Gaming developed to facilitatevideo gamedevelopment. XNA is based on.NET Framework, with versions that run onWindows andXbox 360.XNA Game Studio can help develop XNA games. The XNA toolset was announced on March 24, 2004, at theGame Developers Conference inSan Jose, California. A firstCommunity Technology Preview of XNA Build was released on March 14, 2006.
In many respects, XNA can be thought of as a .NET analog to Microsoft's better known game development system,DirectX, but it is aimed at developers primarily interested in writing lightweight games. XNA is the basic platform forXbox Live Indie Games.
As of January 2013, XNA is no longer being developed,[6] and it is not compatible withWindows Runtime (the API for developingMetro-style apps), which was introduced withWindows 8.[7]
Microsoft XNA Framework is based on the native implementation of.NET Compact Framework 2.0 for Xbox 360 development and.NET Framework 2.0 on Windows. It includes an extensive set of class libraries, specific to game development, to promote maximumcode reuse across target platforms. The framework runs on a version of theCommon Language Runtime that is optimized for gaming to provide amanaged execution environment. The runtime is available forWindows XP,Windows Vista,Windows 7,Windows Phone andXbox 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 onlyC# inXNA Game Studio Express IDE and all versions ofVisual Studio 2008 and 2010 (as of XNA 4.0)[8][failed verification] are officially supported.[9] Support forVisual Basic .NET was added in 2011.[10]
The XNA Framework 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 theCross-platform Audio Creation Tool (XACT), to aid in content creation.
The XNA Framework provides support for both 2D and 3D game creation and allows use of the Xbox 360 controllers and vibrations. XNA framework games that target the Xbox 360 platform could only be distributed by members of the Microsoft XNA Creator's Club/App Hub, which carried a $99/year subscription fee.[9] Desktop applications can be distributed free of charge under Microsoft's current licensing.
XNA Build is a set of game asset pipeline management tools, which help by defining, maintaining, debugging, and optimizing thegame asset pipeline of individual game development efforts. Agame 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 withMechCommander 2 were unused and could have been omitted.[11]
XNA Game Studio is aprogramming environment for development of games.[12] Five revisions have been released so far, but as of 2015, no new versions will be developed.[13]
XNA Game Studio Express was the first version released on August 30, 2006, and was intended for students, hobbyists, and independent game developers.[14][15] It was available as a free download. Express provides basic "starter kits" for rapid development of specific genres of games, such asplatform games,real-time strategy, andfirst-person shooters. Developers could createWindows 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 US$99 (or a four-month fee of US$49) for admission to the Microsoft XNA Creator's Club. With an update, XNA developers could compile Xbox 360 binaries and share them with other Microsoft XNA Creator's Club members.
XNA Game Studio 2.0 was released on December 13, 2007.[16] XNA Game Studio 2.0 features the ability to be used with all versions ofVisual Studio 2005 (including the freeVisual C# 2005 Express Edition),[17] a networking API usingXbox Live on both Windows and Xbox 360 and better device handling.[18]
XNA Game Studio 3.0 (for Visual Studio 2008 or the free Visual C# 2008 Express Edition) allows production of games targeting theZune platform and addsXbox Live community support. It was released on October 30, 2008, and supported C# 3.0, LINQ and most versions of Visual Studio 2008.
XNA Game Studio 4.0 was released on September 16, 2010.[19] It added support for theWindows Phone platform (including 3D hardware acceleration), framework hardware profiles, configurable effects, built-in state objects, graphics device scalars and orientation, cross-platform andmulti-touch input, microphone input and buffered audio playback, andVisual Studio 2010 integration.[20]
XNA "Game Studio 4.0 Refresh" was released on 6 October 2011, and added support for Windows Phone 7.5 (Mango), andVisual Basic.[21]
The XNA Framework Content Pipeline is a set of tools that allows Visual Studio and XNA Studio to act "as the key design point around organizing and consuming 3D content".[12]
Formerly known as XNA Game Studio Professional, XDK Extensions is an add-on to XNA Game Studio and requires the Microsoft Xbox 360 Development Kit.[22] Both are only available for licensed Xbox developers. The extensions include additional managed APIs for achievements, leaderboards, and other features reserved for licensed game titles. Titles developed using XDK Extensions include winners of Microsoft'sDream.Build.Play competition among others. The most heavily publicized of these wasThe Dishwasher: Dead Samurai.
The Microsoft XNA Framework 2.0EULA specifically prohibits the distribution of commercialnetworked games that connect to Xbox Live and/or Games for Windows Live in the absence of a specific agreement signed by both the developer and Microsoft.[23] This means that XNA Game Studio can still be used to develop commercial games and other programs for the Windows platform, although Microsoft's networking support code for Xbox/Windows Live cannot be used. Self-developed network code can still be used inside the developer's XNA project.[citation needed]
Games created using XNA Game Studio may be distributed via theWindows Phone marketplace, and formerly viaXbox Live Indie Games.[24] The software may also be used to create commercial games which target Windows.[citation needed]
Dream Build Play was an annual and global $75,000 Microsoft contest promoting Microsoft XNA and eventuallyXbox Live Indie Games, although it predated it. The contest was first announced in 2006 and first opened in January 2007.[25] Many winners are notable developers in theIndie game community.
Xbox 360 games written in XNA Game Studio could be submitted to the App Hub,[26] for which premium membership was required (about US$99/year). All games submitted to the App Hub were subjected to peer review by other creators. If the game passed review then it would be listed onXbox Live Marketplace. Creators could set a price of 80, 240 or 400points for their game. The creator is paid 70% of the total revenue from their game sales as a baseline. Microsoft originally planned to take an additional percentage of revenue if they provided additional marketing for a game, but this policy was rescinded in March 2009, leaving the flat rate intact regardless of promotion.[27]
Microsoft also distributed a free year premium App Hub subscription for educational establishments through theirDreamSpark program andMSDNAA. These accounts allowed students to develop games for the Xbox 360, but developers still needed a premium Xbox Live account to submit their game to the marketplace.
A project calledMono.XNA was formed to port XNA to the open source and cross-platformMono framework.[28]
From the codebase of Mono.XNA and SilverSprite, a new project calledMonoGame was formed to port XNA to several mobile devices.[29] As of version 3.0.1 (released March 3, 2013), support is stable foriOS,Android includingOUYA,macOS,Linux andMetro forWindows 8,Windows RT andWindows Phone 8, as well asPlayStation Mobile in 2D.PlayStation Mobile 3D andRaspberry Pi development are currently in progress.[30]
FNA[31] is a full-featured open source reimplementation of XNA forked from MonoGame. The goal of FNA is to preserve the XNA game library by reimplementing XNA itself.
An open source project called Grommet contains a limited port for embedded devices using the.NET Micro Framework.[32]
A project called ANX is available which implements its own version of XNA using the SharpDX stack; support forLinux,macOS and thePlayStation Vita is in progress as well.[33][34] Using ANX, developers are able to write games using code that is very similar to XNA, while still being considered aMetro application in Windows 8.