Marble Maze、C++ と DirectX での Windows ストア ゲームの開発

Applies to Windows only

ドキュメントのこのセクションでは、DirectX と Visual C++ を使って 3-D の Windows ストア ゲームを作成する方法について説明します。Windows ストア アプリと Windows 8 では、タッチ、モーション センサーと近接センサー、モビリティ、その他のアプリ エクスペリエンスなどの顧客トレンドを採り入れたアプリ機能が導入されました。このドキュメントでは、タブレットなどの新しいフォーム ファクターに対応し、従来のデスクトップやノート PC でも動作する、Marble Maze という名前の 3-D ゲームを作成する方法を示します。

  Marble Maze のソース コードをダウンロードするには、DirectX Marble Maze ゲーム サンプルに関するページをご覧ください。

重要  Marble Maze は、Windows ストア ゲームを作成するためのベスト プラクティスと考えられる設計パターンを示しています。各自のプラクティスと開発するゲームの固有の要件に適合するように、このゲームの実装の詳細を利用できます。各自のニーズに適合する別のテクニックやライブラリがある場合はそれを自由にお使いください (ただし、コードが Windows アプリ認定キットによるテストに合格することを常に確かめてください)。ゲームの開発を成功させるために Marble Maze の実装が不可欠であると見なされる場合は、このドキュメントでその点を強調しています。

Marble Maze について

Marble Maze を選んだのは、それが比較的基本的なゲームであるにもかかわらず、大半のゲームで使われる多様な機能を備えているためです。Marble Maze は、グラフィックス、入力処理、オーディオの使用方法を示しています。さらに、規則やゴールなどのゲームのメカニズムも示します。

Marble Maze は、通常は穴がある箱と金属またはガラス製の大理石で構成される卓上版の迷路ゲームに似ています。Marble Maze のゴールは、卓上版と同じです。迷路を傾けて、大理石を迷路の入り口から出口まで、穴に落とさずにできるだけ短い時間で誘導することです。Marble Maze には、チェックポイントという概念が追加されています。大理石が穴に落ちた場合、ゲームは、大理石が通過した最後のチェックポイントの場所から再開されます。

Marble Maze では、ユーザーは複数の方法でゲーム ボードを操作できます。タッチ対応または加速度計対応デバイスの場合は、これらのデバイスを使ってゲーム ボードを動かすことができます。Xbox 360 コントローラーまたはマウスを使って、ゲームのプレイを制御することもできます。

Marble Maze ゲームのスクリーン ショット。

  XNA Framework には、Windows Phone または従来のデスクトップ Windows アプリとして実行される、Marble Maze という名前のサンプルも用意されています (このバージョンは Windows ストア アプリとして実行されません)。Marble Maze の XNA Framework 版について詳しくは、App Hub の Marble Maze に関するページをご覧ください。

前提条件

  • Windows 8
  • Microsoft Visual Studio 2013
  • C++ プログラミングの知識
  • DirectX と DirectX の用語に関する知識
  • COM に関する基本的な知識

このドキュメントの対象読者

Windows 8 の 3-D ゲームやその他のグラフィックス重視のアプリケーションの作成に関心がある場合は、このセクションを読んでください。このドキュメントで説明する基本原則とプラクティスを活用して、各自の Windows ストア ゲームを作成してください。C++ と DirectX のプログラミングの知識または強い興味があれば、このドキュメントを活用するのに役に立ちます。DirectX の経験がない場合でも、類似の 3-D グラフィックスのプログラミング環境の経験があれば役に立ちます。

ゲームの開発が初めてで、ゲームで要求されるグラフィックス要件が高くない場合は、JavaScript または XAML を使った Windows ストア アプリとして開発することを検討してください。これらのオプションについて詳しくは、「Windows 用の Windows ストア ゲーム開発のためのテクノロジ」をご覧ください。C++ での Windows ストア ゲームのプログラミングの概要については、「DirectX を使った初めての Windows ストア アプリの作成」をご覧ください。ドキュメント「チュートリアル: DirectX を使った単純な Windows ストア ゲームの作成」に、DirectX と C++ を使った基本的な 3-D シューティング ゲームを実装するサンプルの説明があります。

このドキュメントの内容

このドキュメントでは、以下の方法について説明します。

  • Windows ランタイム API と DirectX を使って Windows ストア ゲームを作成する。
  • Direct3DDirect2D を使って、モデル、テクスチャ、頂点シェーダー、ピクセル シェーダー、2-D オーバーレイ等の視覚的なコンテンツを操作する。
  • タッチ、加速度計、Xbox 360 コントローラーなどの入力メカニズムを統合する。
  • XAudio2 を使って、音楽とサウンド エフェクトを組み込む。

このドキュメントで扱われていない内容

このドキュメントでは、ゲーム開発の次の側面は扱いません。これらの側面は、追加リソースで扱われます。

  • 3-D ゲームの設計原則。
  • C++ または DirectX プログラミングの基本。
  • テクスチャ、モデル、オーディオなどのリソースを設計する方法。
  • ゲームの動作またはパフォーマンスに関する問題をトラブルシューティングする方法。
  • 海外で使用できるようにゲームを準備する方法。
  • ゲームを検証して Windows ストアに公開する方法。

Marble Maze では、DirectXMath ライブラリを使って、3-D ジオメトリの操作と衝突などの物理計算を実行します。DirectXMath については、このセクションでは詳しく説明しません。DirectXMath について詳しくは、「DirectXMath プログラミング ガイド」をご覧ください。Marble Maze での DirectXMath の使用方法については、ソース コードをご覧ください。

Marble Maze には再利用可能なコンポーネントがたくさん用意されていますが、それは完全なゲーム開発フレームワークではありません。Marble Maze のコンポーネントをゲームで再利用できると見なされる場合は、このドキュメントでその点を強調しています。

以下のリソースは、Windows ストア ゲームの開発を理解するために役立ちます。

DirectX デベロッパー センター

DirectX プログラマ向けの概要リソース、詳しいホワイトペーパー、サンプルが含まれています。

Visual C++ デベロッパー センター

C++ プログラミングの初心者と経験者向けのリソースが含まれています。

Windows ストア アプリの計画

ユーザーとのやり取りを強化し、デバイスとタッチ機能を活用する Windows ストア アプリの設計方法に関する実用的で規範的なガイドを示します。

ゲームの開発

一般的な Windows ゲームの開発タスクの実行方法と、Windows ゲームの新規および既にあるテクノロジと開発プラットフォームを探して評価する方法を説明します。

ゲームとアプリ用の 3-D アセットの操作

Visual Studio が提供する、DirectX ベースのアプリケーション開発をサポートするためのビジュアル設計ツールとリソース編集ツールについて説明します。

DirectX グラフィックスのデバッグ

Visual Studio が DirectX ベースのアプリケーションに対して提供するデバッグ機能について説明します。

アプリ リソースの定義

保守とローカライズが容易になるようにアプリのリソースを定義する方法について説明します。

Windows ゲームの公開の準備

ゲームを Windows ストアに公開するために必要な手順 (ゲームのパッケージ方法や評価認定の取得方法など) について説明します。

次の手順

「Marble Maze サンプルの基礎」で、Marble Maze の構造と、Marble Maze のソース コードが従っているコーディング ガイドラインとスタイル ガイドラインを確認することから始めることをお勧めします。次の表に、簡単に参照できるように、このセクションに含まれるドキュメントの概要を示します。

関連トピック

タイトル説明
Marble Maze サンプルの基礎 ゲームの構造の概要と、ソース コードが従っているコーディング ガイドラインとスタイル ガイドラインの一部を示します。
Marble Maze のアプリケーション構造 Marble Maze アプリケーション コードの構造と、DirectX Windows ストア アプリの構造と従来のデスクトップ アプリケーションの構造の違いについて説明します。
Marble Maze サンプルへの視覚的なコンテンツの追加 Direct3D と Direct2D を使うときに留意する主なプラクティスについて説明します。これらのプラクティスが Marble Maze の視覚的なコンテンツにどのように適用されるかについても説明します。
Marble Maze サンプルへの入力と対話機能の追加 ユーザーがメニュー間を移動し、ゲーム ボードを操作できるように、Marble Maze が加速度計デバイス、タッチ デバイス、Xbox 360 コントローラー デバイスを操作する方法について説明します。入力を操作するときに留意するベスト プラクティスについても説明します。
Marble Maze のサンプルへのオーディオの追加 Marble Maze でオーディオを操作して音楽とサウンド エフェクトをゲームのエクスペリエンスに追加する方法について説明します。

 

 

 

表示:
© 2014 Microsoft