HOME

TheInfoList



OR:

Microsoft XNA (a
recursive acronym A recursive acronym is an acronym that refers to itself, and appears most frequently in computer programming. The term was first used in print in 1979 in Douglas Hofstadter's book '' Gödel, Escher, Bach: An Eternal Golden Braid'', in which Hof ...
for XNA's not acronymed) is a
freeware Freeware is software, most often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the f ...
set of tools with a managed
runtime environment In computer programming, a runtime system or runtime environment is a sub-system that exists both in the computer where a program is created, as well as in the computers where the program is intended to be run. The name comes from the compile t ...
that
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
developed to facilitate
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
development Development or developing may refer to: Arts *Development hell, when a project is stuck in development *Filmmaking, development phase, including finance and budgeting *Development (music), the process thematic material is reshaped * Photograph ...
. XNA is based on
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
, with versions that run on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the original Xbox, it is the second console in the Xbox series. It competed with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation ...
.
XNA Game Studio Microsoft XNA Game Studio is a discontinued integrated development environment (IDE) for building video games on the Microsoft XNA platform. Such video games can run on Xbox 360, Microsoft Windows, Windows Phone and the Zune. XNA Game Studio is t ...
can help develop XNA games. The XNA toolset was announced on March 24, 2004, at the
Game Developers Conference The Game Developers Conference (GDC) is an annual conference for video game developers. The event includes an expo, networking events, and awards shows like the Game Developers Choice Awards and Independent Games Festival, and a variety of tutori ...
in
San Jose, California San Jose, officially San José (; ; ), is a major city in the U.S. state of California that is the cultural, financial, and political center of Silicon Valley and largest city in Northern California by both population and area. With a 2020 popul ...
. A first
Community Technology Preview A software release life cycle is the sum of the stages of development and maturity for a piece of computer software ranging from its initial development to its eventual release, and including updated versions of the released version to help impro ...
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 Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", ...
, but it is aimed at developers primarily interested in writing lightweight games. XNA is the basic platform for
Xbox Live Indie Games Xbox Live Indie Games (XBLIG; previously called Xbox Live Community Games; XBLCG) are video games created by individual developers or small teams of developers released on Microsoft's Xbox Live Marketplace for the Xbox 360. The games were develop ...
. As of January 2013, XNA is no longer being developed, and it is not compatible with
Windows Runtime Windows Runtime (WinRT) is a platform-agnostic component and application architecture first introduced in Windows 8 and Windows Server 2012 in 2012. It is implemented in C++ and officially supports development in C++ (via C++/WinRT, C++/CX or ...
(the API for developing Metro-style apps), which was introduced with
Windows 8 Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on August 1, 2012; it was subsequently made available for downl ...
.


Overview


XNA Framework

Microsoft XNA Framework is based on the native implementation of
.NET Compact Framework The Microsoft .NET Compact Framework (.NET CF) is a version of the .NET Framework that is designed to run on resource constrained mobile/embedded devices such as personal digital assistants (PDAs), mobile phones, factory controllers, set-top box ...
2.0 for Xbox 360 development and
.NET Framework 2.0 Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2001 the first beta versions of .NET 1.0 were released. The first version of .NET Framework was ...
on Windows. It includes an extensive set of class libraries, specific to game development, to promote maximum
code reuse In software development (and computer programming in general), code reuse, also called software reuse, is the use of existing software, or software knowledge, to build new software, following the reusability principles. Code reuse may be achie ...
across target platforms. The framework runs on a version of the
Common Language Runtime The Common Language Runtime (CLR), the virtual machine component of Microsoft .NET Framework, manages the execution of .NET programs. Just-in-time compilation converts the managed code (compiled intermediate language code) into machine instructio ...
that is optimized for gaming to provide a managed execution environment. The runtime is available for
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Windows 2000 for high-end and ...
,
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
,
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
,
Windows Phone Windows Phone (WP) is a discontinued family of mobile operating systems developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune. Windows Phone featured a new user interface derived from the Metro design la ...
and
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the original Xbox, it is the second console in the Xbox series. It competed with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation ...
. 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# in
XNA Game Studio Express Microsoft XNA Game Studio is a discontinued integrated development environment (IDE) for building video games on the Microsoft XNA platform. Such video games can run on Xbox 360, Microsoft Windows, Windows Phone and the Zune. XNA Game Studio is t ...
IDE and all versions of
Visual Studio 2008 Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such a ...
and 2010 (as of XNA 4.0) are officially supported.Microsoft XNA Frequently Asked Questions
/ref> Support for
Visual Basic .NET Visual Basic, originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language, implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visua ...
was added in 2011. 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 the
Cross-platform Audio Creation Tool Cross-platform Audio Creation Tool (XACT) is an audio programming library and engine released by Microsoft as part of the DirectX SDK. It is a high-level audio library for authoring/playing audio that is written to use ''Xaudio'' on the ''Xbox'', ...
(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. Desktop applications can be distributed free of charge under Microsoft's current licensing.


XNA Build

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 ''MechCommander 2'' is a 2001 real-time tactics video game based on the BattleTech/ MechWarrior franchise, developed by FASA Interactive and distributed by Microsoft. It is a sequel to '' MechCommander''. Development history In 2006, Microsoft r ...
'' were unused and could have been omitted.Brian Keller: "Will XNA tools be able to help reduce game sizes?"
/ref>


XNA Game Studio

XNA Game Studio is a
programming environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
for development of games. Five revisions have been released so far, but as of 2015, no new versions will be developed. XNA Game Studio Express was the first version released on August 30, 2006, and was intended for students, hobbyists, and independent game developers.Gamefest announcement of XNA Game Studio Express
It was available as a free download. Express provides basic "starter kits" for rapid development of specific genres of games, such as
platform game A platform game (often simplified as platformer and sometimes called a jump 'n' run game) is a sub-genre of action video games in which the core objective is to move the player character between points in an environment. Platform games are charac ...
s,
real-time strategy Real-time strategy (RTS) is a Video game genre, subgenre of strategy video games that do not progress incrementally in turn-based game, turns, but allow all players to play simultaneously, in "real time". By contrast, in Turn-based strategy, turn ...
, and
first-person shooter First-person shooter (FPS) is a sub-genre of shooter video games centered on gun and other weapon-based combat in a first-person perspective, with the player experiencing the action through the eyes of the protagonist and controlling the pl ...
s. Developers could create
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
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. XNA Game Studio 2.0 features the ability to be used with all versions of
Visual Studio 2005 Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such ...
(including the free Visual C# 2005 Express Edition), a networking API using
Xbox Live The Xbox network, formerly and still sometimes branded as Xbox Live, is an Internet, online multiplayer video game, multiplayer gaming and digital media delivery service created and operated by Microsoft. It was first made available to the Xbox ...
on both Windows and Xbox 360 and better device handling. XNA Game Studio 3.0 (for Visual Studio 2008 or the free Visual C# 2008 Express Edition) allows production of games targeting the
Zune Zune is a discontinued line of digital media products and services marketed by Microsoft from November 2006 until its discontinuation in June 2012. Zune consisted of a line of portable media players, digital media player software for Windows Per ...
platform and adds
Xbox Live The Xbox network, formerly and still sometimes branded as Xbox Live, is an Internet, online multiplayer video game, multiplayer gaming and digital media delivery service created and operated by Microsoft. It was first made available to the Xbox ...
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. It added support for the
Windows Phone Windows Phone (WP) is a discontinued family of mobile operating systems developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune. Windows Phone featured a new user interface derived from the Metro design la ...
platform (including 3D hardware acceleration), framework hardware profiles, configurable effects, built-in state objects, graphics device scalars and orientation, cross-platform and
multi-touch In computing, multi-touch is technology that enables a surface (a touchpad or touchscreen) to recognize the presence of more than one somatosensory system, point of contact with the surface at the same time. The origins of multitouch began at CER ...
input, microphone input and buffered audio playback, and
Visual Studio 2010 Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platfor ...
integration. XNA "Game Studio 4.0 Refresh" was released on 6 October 2011, and added support for Windows Phone 7.5 (Mango), and
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET * Visual Basic (cl ...
.


XNA Framework Content Pipeline

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


XDK Extensions

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. 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's Dream.Build.Play competition among others. The most heavily publicized of these was '' The Dishwasher: Dead Samurai''.


License agreement

The Microsoft XNA Framework 2.0
EULA An end-user license agreement or EULA () is a legal contract between a software supplier and a customer or end-user, generally made available to the customer via a retailer acting as an intermediary. A EULA specifies in detail the rights and restr ...
specifically prohibits the distribution of commercial networked 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. 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. Games created using XNA Game Studio may be distributed via the
Windows Phone Windows Phone (WP) is a discontinued family of mobile operating systems developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune. Windows Phone featured a new user interface derived from the Metro design la ...
marketplace, and formerly via
Xbox Live Indie Games Xbox Live Indie Games (XBLIG; previously called Xbox Live Community Games; XBLCG) are video games created by individual developers or small teams of developers released on Microsoft's Xbox Live Marketplace for the Xbox 360. The games were develop ...
. The software may also be used to create commercial games which target Windows.


Dream Build Play

Dream Build Play Dream Build Play (also known as Dream-Build-Play, Dream.Build.Play, and DreamBuildPlay) is an annual $75,000 Microsoft video game contest used to promote Microsoft XNA Game Studio and eventually Xbox LIVE Indie Games. It was announced in 2006, sta ...
was an annual and global $75,000 Microsoft contest promoting Microsoft XNA and eventually
Xbox Live Indie Games Xbox Live Indie Games (XBLIG; previously called Xbox Live Community Games; XBLCG) are video games created by individual developers or small teams of developers released on Microsoft's Xbox Live Marketplace for the Xbox 360. The games were develop ...
, although it predated it. The contest was first announced in 2006 and first opened in January 2007. Many winners are notable developers in the
Indie game An indie game, short for independent video game, is a video game typically created by individuals or smaller development teams without the financial and technical support of a large game publisher, in contrast to most "AAA" (triple-A) games. ...
community service and interesting


Xbox Live Indie Games

Xbox 360 games written in XNA Game Studio could be submitted to the App Hub, 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 on
Xbox Live Marketplace Xbox Games Store (formerly Xbox Live Marketplace) is a digital distribution platform used by Microsoft's Xbox Series X, S, Xbox One and Xbox 360 video game consoles. The service allows users to download or purchase video games (including both ...
. Creators could set a price of 80, 240 or 400 points 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. Microsoft also distributed a free year premium App Hub subscription for educational establishments through their
DreamSpark Microsoft Azure Dev Tools for Teaching or simply Azure Dev Tools for Teaching is a Microsoft program to provide students with Microsoft software design, Microsoft developer tools, Cloud Computing Access and learning resources. The program is a ...
program and
MSDNAA Microsoft Azure Dev Tools for Teaching or simply Azure Dev Tools for Teaching is a Microsoft program to provide students with Microsoft software design, Microsoft developer tools, Cloud Computing Access and learning resources. The program is a ...
. 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.


Alternative implementations

A project called Mono.XNA was formed to port XNA to the open source and cross-platform
Mono Mono may refer to: Common meanings * Infectious mononucleosis, "the kissing disease" * Monaural, monophonic sound reproduction, often shortened to mono * Mono-, a numerical prefix representing anything single Music Performers * Mono (Japanese b ...
framework. From the codebase of Mono.XNA and SilverSprite, a new project called MonoGame was formed to port XNA to several mobile devices. As of version 3.0.1 (released March 3, 2013), support is stable for
iOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
, Android including
OUYA The Ouya ( ), stylized as OUYA, is an Android-based microconsole developed by Ouya Inc. Julie Uhrman founded the project in 2012, bringing in designer Yves Béhar to collaborate on its design and Muffi Ghadiali as VP of Product Management to ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
Metro Metro, short for metropolitan, may refer to: Geography * Metro (city), a city in Indonesia * A metropolitan area, the populated region including and surrounding an urban center Public transport * Rapid transit, a passenger railway in an urba ...
for
Windows 8 Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on August 1, 2012; it was subsequently made available for downl ...
,
Windows RT Windows RT is a mobile operating system developed by Microsoft. It is a version of Windows 8 or Windows 8.1 built for the 32-bit ARM architecture (ARMv7). First unveiled in January 2011 at Consumer Electronics Show, the Windows RT 8 operat ...
and
Windows Phone 8 Windows Phone 8 is the second generation of the Windows Phone mobile operating system from Microsoft. It was released on October 29, 2012, and, like its predecessor, it features a flat user interface based on the Metro design language. It was su ...
, as well as
PlayStation Mobile PlayStation Mobile (formerly PlayStation SuiteHinkle, David. (2012-06-04 HTC is first partner for 'PlayStation Mobile,' the new name for PlayStation Suite [Update: Press release added Joystiq. Retrieved on 2013-08-23.) was a software framework us ...
in 2D.
PlayStation Mobile PlayStation Mobile (formerly PlayStation SuiteHinkle, David. (2012-06-04 HTC is first partner for 'PlayStation Mobile,' the new name for PlayStation Suite [Update: Press release added Joystiq. Retrieved on 2013-08-23.) was a software framework us ...
3D and Raspberry Pi development are currently in progress. FNA 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 The .NET Micro Framework (NETMF) is a .NET Framework platform for resource-constrained devices with at least 512  kB of flash and 256 kB of random-access memory (RAM). It includes a small version of the .NET Common Language Runtime (CLR ...
. A project called ANX is available which implements its own version of XNA using the SharpDX stack; support for
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
and the
PlayStation Vita The PlayStation Vita (PS Vita, or Vita) is a handheld video game console developed and marketed by Sony Interactive Entertainment. It was first released in Japan on December 17, 2011, and in North America, Europe, and other international territo ...
is in progress as well.SharpDX
/ref> Using ANX, developers are able to write games using code that is very similar to XNA, while still being considered a
Metro Metro, short for metropolitan, may refer to: Geography * Metro (city), a city in Indonesia * A metropolitan area, the populated region including and surrounding an urban center Public transport * Rapid transit, a passenger railway in an urba ...
application in Windows 8.


Partial list of games and companies that use XNA


See also

*
Game engine A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
*
Game development tool A game development tool is a specialized software application that assists or facilitates the making of a video game. Some tasks handled by tools include the conversion of assets (such as 3D models, textures, etc.) into formats required by the g ...
* MonoGame *
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia Computing platform, software platform used for production of Flash animation, animations, rich web applications, application software, desktop applications, mobile apps, mo ...
*
Adobe AIR Adobe AIR (also known as Adobe Integrated Runtime and is codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applicat ...
*
Microsoft Silverlight Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe Inc., Adobe's Run time environment, runtime, Adobe Flash. A plugin for Silverlight is still available for a v ...


References


Further reading

*


External links


XNA Developers Center
;Training resources
XNA Video TutorialsXNACommunity
at
Codeplex CodePlex was a forge website by Microsoft. While it was active, it allowed shared development of open-source software. Its features included wiki pages, source control based on Mercurial, TFVC, Subversion or Git, discussion forums, issue trac ...

XNA Tutorials
at ''RB Whitaker's Wiki''
XNA Tutorial/Workshop WebsiteXNA Meeting Point: Tutorials in English, French and Spanish
{{Authority control .NET Framework terminology Microsoft application programming interfaces Microsoft development tools Programming tools for Windows Video game engines Xbox 360 software