Microsoft XNA ( XNA の頭字語ではない再帰的頭字語) [ 5 ]は、Xbox がビデオゲーム開発を容易にするために開発した、管理されたランタイム環境を備えたフリーウェアのツールセットです。XNA は.NET Frameworkをベースとしており、 WindowsとXbox 360で動作するバージョンがあります。XNA Game Studio は、 XNA ゲームの開発に役立ちます。XNA ツールセットは、2004 年 3 月 24 日にカリフォルニア州サンノゼで開催されたゲーム開発者会議で発表されました。XNA Build の最初のコミュニティ テクノロジー プレビューは、 2006 年 3 月 14 日にリリースされました。
多くの点で、XNAはマイクロソフトのより有名なゲーム開発システムであるDirectXの.NET版と考えることができますが、主に軽量ゲームの開発に関心のある開発者を対象としています。XNAはXbox Live Indie Gamesの基本プラットフォームです。
2013年1月現在、XNAは開発が終了しており[ 6 ] 、 Windows 8で導入されたWindows Runtime ( Metroスタイルのアプリを開発するためのAPI )とは互換性がありません[ 7 ]。
Microsoft XNA Framework は、 Xbox 360 開発用の.NET Compact Framework 2.0のネイティブ実装と、 Windows 上の.NET Framework 2.0に基づいています。ゲーム開発に特化したクラスライブラリが豊富に用意されており、ターゲットプラットフォーム間でコードの再利用を最大限に促進します。フレームワークは、ゲーム向けに最適化されたCommon Language Runtimeのバージョン上で動作し、管理された実行環境を提供します。ランタイムは、Windows XP、Windows Vista、Windows 7、Windows Phone、Xbox 360で利用可能です。XNA ゲームはランタイム用に記述されているため、XNA Framework をサポートするプラットフォームであれば、最小限の変更または変更なしで実行できます。フレームワーク上で動作するゲームは、技術的には任意の .NET 準拠言語で記述できますが、公式にサポートされているのは、 XNA Game Studio Express IDEのC#と、 Visual Studio 2008および 2010 のすべてのバージョン (XNA 4.0 時点) [ 8 ]のみです。[ 9 ] Visual Basic .NETのサポートは2011 年に追加されました。[ 10 ]
XNAフレームワークは、ゲームのコーディングに関わる低レベルの技術的な詳細をカプセル化し、ゲームを互換性のあるプラットフォーム間で移植する際に、プラットフォーム間の違いをフレームワーク自体が処理するようにすることで、ゲーム開発者がコンテンツとゲーム体験に集中できるようにします。XNAフレームワークは、クロスプラットフォームオーディオ作成ツール(XACT)など、コンテンツ作成を支援する多くのツールと統合されています。
XNA Framework は 2D および 3D ゲームの作成をサポートし、Xbox 360 コントローラーと振動の使用を可能にします。Xbox 360 プラットフォームをターゲットとする XNA フレームワーク ゲームは、年間 99 ドルのサブスクリプション料金がかかる Microsoft XNA Creator's Club/App Hub のメンバーのみが配布できます。[ 9 ]デスクトップ アプリケーションは、Microsoft の現在のライセンスの下で無料で配布できます。
XNA Build は、ゲームアセットパイプライン管理ツールのセットであり、個々のゲーム開発作業におけるゲームアセットパイプラインの定義、保守、デバッグ、最適化を支援します。ゲームアセットパイプラインは、テクスチャや 3D モデルなどのゲームコンテンツをゲームエンジンで使用できる形式に変更するプロセスを記述します。XNA Build は、パイプラインの依存関係を特定するのに役立ち、依存関係データのさらなる処理を可能にする API アクセスも提供します。依存関係データを分析することで、実際に使用されていないコンテンツを見つけてゲームのサイズを削減できます。たとえば、XNA Build の分析により、MechCommander 2に同梱されているテクスチャの 40% が使用されておらず、省略できた可能性があることが明らかになりました。[ 11 ]
XNA Game Studioはゲーム開発のためのプログラミング環境です。 [ 12 ]これまでに5つの改訂版がリリースされていますが、2015年現在、新しいバージョンは開発されていません。[ 13 ]
XNA Game Studio Express は、2006 年 8 月 30 日にリリースされた最初のバージョンで、学生、趣味でゲーム開発をする人、独立系ゲーム開発者を対象としていました。[ 14 ] [ 15 ]無料でダウンロードできました。Express は、プラットフォーム ゲーム、リアルタイム ストラテジー、ファースト パーソン シューターなどの特定のジャンルのゲームを迅速に開発するための基本的な「スターター キット」を提供します。開発者は XNA Framework を使用してWindowsゲームを無料で作成できますが、Xbox 360 でゲームを実行するには、Microsoft XNA Creator's Club への入会金として年間 99 米ドル (または 4 か月で 49 米ドル) を支払う必要があります。アップデートにより、XNA 開発者は Xbox 360 バイナリをコンパイルして、他の Microsoft XNA Creator's Club メンバーと共有できるようになりました。
XNA Game Studio 2.0 は 2007 年 12 月 13 日にリリースされました。[ 16 ] XNA Game Studio 2.0 は、 Visual Studio 2005のすべてのバージョン(無料のVisual C# 2005 Express Editionを含む)で使用できる機能、 [ 17 ] Windows と Xbox 360 の両方でXbox Liveを使用するネットワーク API 、およびデバイス処理の改善を特徴としています。[ 18 ]
XNA Game Studio 3.0(Visual Studio 2008または無料のVisual C# 2008 Express Edition用)は、Zuneプラットフォームをターゲットとしたゲーム制作を可能にし、Xbox Liveコミュニティのサポートを追加しました。2008年10月30日にリリースされ、C# 3.0、LINQ、およびVisual Studio 2008のほとんどのバージョンをサポートしていました。
XNA Game Studio 4.0 は 2010 年 9 月 16 日にリリースされました。[ 19 ] Windows Phoneプラットフォーム(3D ハードウェア アクセラレーションを含む)、フレームワーク ハードウェア プロファイル、構成可能なエフェクト、組み込みの状態オブジェクト、グラフィックス デバイスのスカラーと向き、クロス プラットフォームとマルチ タッチ入力、マイク入力とバッファリング オーディオ再生、Visual Studio 2010 との統合のサポートが追加されました。[ 20 ]
XNA「Game Studio 4.0 Refresh」は2011年10月6日にリリースされ、Windows Phone 7.5(Mango)とVisual Basicのサポートが追加されました。[ 21 ]
XNA Framework Content Pipelineは、Visual StudioとXNA Studioが「3Dコンテンツの整理と利用に関する主要な設計ポイント」として機能することを可能にするツールセットです。[ 12 ]
以前は XNA Game Studio Professional として知られていた XDK Extensions は、XNA Game Studio のアドオンであり、Microsoft Xbox 360 Development Kit が必要です。[ 22 ]どちらもライセンスを受けた Xbox 開発者のみが利用できます。拡張機能には、実績、リーダーボード、およびライセンスを受けたゲーム タイトル用に予約されているその他の機能のための追加の管理 API が含まれています。XDK Extensions を使用して開発されたタイトルには、Microsoft のDream.Build.Playコンペティションの受賞作品などがあります。その中で最も広く宣伝されたのはThe Dishwasher: Dead Samuraiです。
Microsoft XNA Framework 2.0 EULA では、開発者と Microsoft の両方が署名した特定の契約がない限り、Xbox Live および/または Games for Windows Live に接続する商用ネットワークゲームの配布を明確に禁止しています。 [ 23 ]これは、XNA Game Studio を使用して Windows プラットフォーム向けの商用ゲームやその他のプログラムを開発することはできますが、Xbox/Windows Live 用の Microsoft のネットワーク サポート コードは使用できません。開発者が独自に開発したネットワーク コードであれば、XNA プロジェクト内で引き続き使用できます。
XNA Game Studioを使用して作成されたゲームは、 Windows Phoneマーケットプレイス、および以前はXbox Live Indie Gamesを通じて配布できます。[ 24 ]このソフトウェアは、Windowsをターゲットとする商用ゲームを作成するためにも使用できます。
Dream Build Playは、Microsoft XNA、そして最終的にはXbox Live Indie Gamesを促進するために毎年開催された世界規模の75,000ドルのMicrosoftコンテストでしたが、 Xbox Live Indie Gamesよりも前に開催されていました。このコンテストは2006年に初めて発表され、2007年1月に初めて開始されました。[ 25 ]受賞者の多くは、インディーゲームコミュニティで著名な開発者です。
XNA Game Studio で作成された Xbox 360 ゲームは App Hub に提出することができ、[ 26 ]これにはプレミアムメンバーシップ (年間約 99 米ドル) が必要でした。App Hub に提出されたすべてのゲームは、他のクリエイターによるピアレビューを受けました。ゲームがレビューに合格すると、Xbox Live Marketplaceに掲載されます。クリエイターは、ゲームの価格を 80、240、または 400ポイントに設定できました。クリエイターは、基本としてゲーム販売による総収益の 70% を受け取ります。Microsoft は当初、ゲームに追加のマーケティングを提供した場合、収益の追加割合を取る予定でしたが、この方針は 2009 年 3 月に撤回され、プロモーションに関係なく固定レートが維持されました。[ 27 ]
マイクロソフトはまた、 DreamSparkプログラムとMSDNAAを通じて、教育機関向けに1年間無料のプレミアムApp Hubサブスクリプションを配布した。これらのアカウントにより、学生はXbox 360向けゲームを開発することができたが、開発者はゲームをマーケットプレイスに提出するために、別途プレミアムXbox Liveアカウントが必要だった。
Mono.XNAと呼ばれるプロジェクトが、XNA をオープンソースでクロスプラットフォームのMonoフレームワークに移植するために結成されました。[ 28 ]
Mono.XNAとSilverSpriteのコードベースから、 XNAを複数のモバイルデバイスに移植するためのMonoGameという新しいプロジェクトが結成されました。 [ 29 ]バージョン3.0.1(2013年3月3日リリース)の時点で、iOS、OUYAを含むAndroid、macOS、Linux、Windows 8、Windows RT、Windows Phone 8のMetro、および2DのPlayStation Mobileのサポートが安定しています。PlayStation Mobile 3DとRaspberry Piの開発は現在進行中です。[ 30 ]
FNA [ 31 ]は、MonoGame からフォークされた、XNA のフル機能のオープンソース再実装です。FNA の目標は、XNA 自体を再実装することで、XNA ゲームライブラリを維持することです。
Grommet と呼ばれるオープンソースプロジェクトには、.NET Micro Frameworkを使用する組み込みデバイス向けの限定的な移植版が含まれています。[ 32 ]
ANXと呼ばれるプロジェクトが利用可能で、SharpDXスタックを使用して独自のバージョンのXNAを実装しています。Linux 、macOS 、 PlayStation Vitaのサポートも進行中です。[ 33 ] [ 34 ] ANXを使用すると、開発者はXNAに非常によく似たコードを使用してゲームを記述できますが、 Windows 8ではMetroアプリケーションとして扱われます。