Windows 10 ゲームのテクノロジを選択する

Windows 10 ゲームでは、複数のプログラミング言語やグラフィックス テクノロジを使うことができます。どれを選ぶかは、開発しているゲームの種類、開発スタジオの経験や好み、ゲームの具体的な機能要件によって決まります。C#、C++、JavaScript のどれを使うか、DirectX、XAML、HTML5 のどれを使うかなどです。

ゲームに適したものを選ぶ方法について説明します。

テクノロジを選ぶ

DirectX

Microsoft DirectX を使うと、最高のパフォーマンスの 2D および 3D グラフィックスとマルチメディアを生み出すことができます。Windows 10 で新たに導入された Direct3D 12 は、コンソールに似た API の性能を備え、これまで以上に高速で効率的になりました。開発するゲームで、最新のグラフィックス ハードウェアを十分に活用して、より多くのオブジェクト、より豊かなシーン、より印象的な効果を実現できます。Direct3D 12 は、PC、Xbox One などの Windows 10 間で最適なグラフィックスを提供します。Direct3D 11 の使い慣れたグラフィックス パイプラインを使う場合でも、Direct3D 11.3 に追加された新しいレンダリングおよび最適化機能を活かすことができます。さらに、Win32 をルーツとする実証済みのデスクトップ Windows API の開発者は、Windows 10 でもそのオプションを選ぶことができます。

DirectX のさまざまな機能と緊密なプラットフォーム統合により、要求の多いほとんどのゲームに必要とされる性能とパフォーマンスを実現できます。

XAML

XAML は、アニメーション、ストーリーボード、データ バインディング、拡張性の高いベクター ベース グラフィックス、動的なサイズ変更、シーン グラフなどの便利な機能を備える、使いやすい宣言型 UI 言語です。また、XAML はゲーム UI、メニュー、スプライト、2D グラフィックスに最適です。UI レイアウトを簡単にするため、XAML には、Expression Blend や Microsoft Visual Studio などの設計および開発ツールとの互換性があります。XAML はよく C# と同時に使用されますが、希望する言語が C++ の場合や、ゲームが多くの CPU を必要とする場合は、C++ も適しています。

HTML 5

ハイパーテキスト マークアップ言語 (HTML) は、Web ページ、アプリ、リッチ クライアントに使用される一般的な UI マークアップ言語です。Windows ゲームでは、HTML の使い慣れた機能、ユニバーサル Windows プラットフォーム、AppCache、Web ワーカー、キャンバス、ドラッグ アンド ドロップ、非同期プログラミング、SVG などの最新の Web 機能のサポートを備えた、全機能装備のプレゼンテーション層として HTML5 を使うことができます。HTML レンダリングの内部では、DirectX ハードウェア アクセラレータの機能が活用されるため、追加のコードを記述しなくても DirectX のパフォーマンスの恩恵を受けることができます。Web 開発に熟練している場合、Web ゲームを移植する場合、または他の選択肢よりアプローチしやすい言語およびグラフィックス層を使う場合は、HTML5 が最適です。HTML5 は JavaScript と同時に使用されますが、C# や C++/CX で作成されたコンポーネントを呼び出すこともできます。

JavaScript

JavaScript は、最新の Web アプリケーションやリッチ クライアント アプリケーションに広く使用されている動的なスクリプト言語です。

Windows JavaScript アプリは、ユニバーサル Windows プラットフォームの強力な機能に簡単かつ直感的な方法でアクセスできます (オブジェクト指向 JavaScript クラスのメソッドとプロパティとして)。JavaScript は、Web 開発環境を使っていた場合、JavaScript に既に慣れている場合、HTML5、CSS、WinJS、または JavaScript ライブラリを使用する場合のゲーム開発に最適です。XAML をターゲットとする場合は、代わりに C# または C++/CX を選択してください。DirectX をターゲットとする場合は、C++/CX を選択してください。

C++

C++/CX オーバーヘッドの低い高パフォーマンスな言語であり、速度、互換性、プラットフォーム アクセスがうまく組み合わせられています。C++/CX により、DirectX や Xbox Live など、Windows 10 のすばらしいゲーム機能すべてが使いやすくなります。既にある C++ コードとライブラリを再利用することもできます。C++/CX を使うと、ガベージ コレクションのオーバーヘッドを生じさせない高速なネイティブ コードが作成されるため、ゲームのパフォーマンスが向上し、電力消費が低くなり、結果としてバッテリ寿命が延びます。C++/CX を DirectX または XAML と同時に使うか、両方の組み合わせを使って、ゲームを作成することができます。

C#

C# ("シー シャープ" と発音) は、タイプ セーフかつオブジェクト指向のシンプルで強力な最新の革新的言語です。C# を使うと、C スタイル言語の親しみやすさと表現力を維持しながら短期間で開発できます。C# は使いやすい言語ですが、ポリモーフィズム、デリゲート、ラムダ、クロージャ、反復子メソッド、共変性、統合言語クエリ (LINQ) 式など、多くの高度な言語機能が備わっています。XAML をターゲットとする場合、ゲームの開発をすぐに始めたい場合、C# を既に使ったことがある場合、C# が最適です。C# は主に XAML と同時に使用されるため、DirectX を使う場合は、代わりに C++ を選ぶか、ゲームの一部を DirectX とやり取りする C++ コンポーネントとして記述します。

グラフィックス テクノロジを組み合わせる

Microsoft DirectX Graphics Infrastructure (DXGI) には、複数のグラフィックス テクノロジにおける相互運用性と互換性が備わっています。高パフォーマンスのグラフィックスを実現するため、メニューや他のシンプルな UI には XAML を使い、複雑な 2D および 3D シーンのレンダリングには DirectX を使うことで、XAML と DirectX を組み合わせることができます。DXGI には、Direct2D、Direct3D、DirectWrite、DirectCompute、Microsoft メディア ファンデーション間の互換性も備わっています。

Windows ランタイム コンポーネントを使って言語を組み合わせる

ユニバーサル Windows プラットフォームでは、異なる言語で記述されたコンポーネントを簡単に組み合わせることができます。C++、C#、Visual Basic で Windows ランタイム コンポーネントを作成した後、JavaScript、C#、C++、Visual Basic から呼び出すことができます。これは、好みの言語でゲームの一部をプログラミングする場合に最適な方法です。コンポーネントにより、特定の言語でのみ使用可能な外部ライブラリや、既に記述しているレガシ コードを使うこともできるようになります。

ゲーム エンジン

ゲーム エンジンを使うと、ゲームの開発を加速し、DirectX 12 などの新しいテクノロジを使ってすぐに作業を始めることができます。
Unity

DirectX 12 が Unity 5 に導入されます。Unity 5 で DirectX 12 がサポートされるようになり、Direct3D 12 のパフォーマンスと効率性が Unity 開発プラットフォームに組み込まれます。複数のコアと最新のグラフィックス ハードウェアをフル活用できるように一から設計されたグラフィックス パイプラインのメリットを活かしましょう。Unity 5 と DirectX 12 があれば、フレーム レートの向上、バッテリー寿命の延長、本当に美しいグラフィックスを期待できます。

Unity 5 は、2D および 3D ゲームと対話型エクスペリエンスを作成するための受賞歴のある次世代開発プラットフォームです。Unity 5 により、まったく新しい芸術性、高度なグラフィックス機能、高い効率性を手に入れることができます。

Unreal Engine

Unreal Engine 4 は、あらゆる種類のゲームや開発者に適したゲーム開発ツールがすべて揃ったスイートです。モバイルから最も要求の厳しいコンソールおよび PC ゲームまで、Unreal Engine は世界中のゲーム開発者により使用されています。Unreal Engine 4 を購読している DirectX 12 早期アクセス プログラム メンバーは、DirectX 12 をサポートする Unreal Engine 4.4 開発プロジェクトにアクセスできます。

強化されたパワーとパフォーマンスの向上: DirectX 12 でのゲーム

Direct3D 12 を使うと、Windows 10 のゲームのパフォーマンスがさらに向上します。新しい Direct3D 12 API を使って CPU オーバーヘッドの削減、GPU 効率の向上、フレーム レートの安定性向上をできる限り実現できるようにゲーム エンジンを設計する方法について説明します。Direct3D 12 で高速に動作する効率的なゲーム エンジンを構築する方法の基本と、詳しく理解できる最適なリソースがある場所について知ることができます。

この GDC 2015 開発セッションを見る

Windows 10 ゲームを作成する

作業の開始

Windows 10 ゲームの開発を始めるのに必要なダウンロード、ツール、情報です。

設計

デザインの情報とインスピレーションを与えるギャラリーとガイドラインです。

開発

Windows 10 の開発に関するドキュメントと技術情報の詳細なライブラリです。

公開

スマートフォン、PC、Xbox One 向けのゲームを Windows ストアで公開するのに役立つプログラムとパートナーシップです。

このページは役に立ちましたか?
追加のフィードバックはありますか?
ありがとうございました! フィードバックにご協力いただき感謝します。
Microsoft をフォロー Twitter ブログ Facebook Twitter ブログ Facebook Web チャット line