次の方法で共有


ゲームのインストールの単純化

XNA デベロッパー コネクション (XDC)

2005 年 12 月

はじめに

Windows ではなくコンソールで実行されるゲームの主な利点はインストール処理、つまりインストール処理が存在しないことです。ゲームが初めてコンソールで実行される際、プレイヤーはいくつかの選択や確認を行うと、ほぼすぐにゲーム プレイを開始できます。それと比較すると、Windows でのゲームのインストールは、かなりの量のユーザー入力が必要でインストール処理が長くなる可能性があるという点で、より複雑です。ただし、このインストール処理を向上させて、Windows ベースのゲームにおけるプレイヤーの操作性を高めることができます。ここでは、Windows のゲームの開発者が全体の操作性を高めるために実装できる、また実装する必要があるいくつかの概念について説明します。

一般的なゲームのインストール

インストールの簡単さと、ゲーム プレイの開始に必要な時間の長さを比較すると、通常の Xbox の操作性は Windows を大幅に上回ります。図 1 のフロー チャートは、Xbox と Windows での一般的なインストール処理を比較して示しています。

図形 1.  Xbox と Windows の一般的なインストール処理

Bb147379.PCvsConsoleInstall(ja-jp,VS.85).png

単純化されたゲーム インストール

しかし、Windows でのゲームのインストールでより多くのことがユーザーに求められるのは、必然的なことではありません。以下の概念を実装することにより、ユーザーが行わなければならない手順の数が減少し、インストールに必要な時間を短縮できます。

  • すべての質問を事前に提示
  • 特殊インストール モードの用意
  • インストール時の質問量の最小化
  • オプション コンポーネントの必須コンポーネントへの変更
  • DirectX をサイレントで必ずインストール
  • EULA の考慮
  • インストール後の自動起動
  • インストールのパフォーマンスの最適化
  • インストール時の Windows ファイアウォールへの登録
  • 現在のユーザーのみでなく、すべてのユーザーにインストール

すべての質問を事前に提示

ゲーマーがインストール時に選択する、インストールの中止につながる選択肢はすべて、インストールを中止しない選択肢の前に提示する必要があります。ゲーマーにとって最悪のシナリオは、ゲームをインストール メディアから完全にコピーした後で、インストールの中止につながる選択肢を提示されることです。これは、インストールを完了するために複数のディスクを交換する必要がある場合には、特に不満が残ります。インストールの完了時または完了間近になって振り出しに戻る必要がないように、重要な質問 (EULA の同意など) はすべて処理の最初に行うように、インストーラーを設計する必要があります。

また、EULA の同意やプロダクト キーの入力は、インストール手順の一部としてではなく、ゲームの最初の起動時に求めることもできます。このシナリオでは、EULA の同意やプロダクト キーの入力がゲームそのものの一部となるため、EULA の同意の拒否やプロダクト キーの入力時の取り消しでは、インストールは振り出しに戻りません。これは、プレインストール版や OEM 版のシナリオがある場合に有効となる場合があります。ただし、管理者の資格情報が必要な選択を、初回起動時にユーザーに求めないように注意してください。

特殊インストール モードの用意

Windows ゲームのインストーラーは、インストールの完全自動モードとカスタム モードのみを用意し、その中間は用意しないことが理想です。

自動モードでは、インストールしたゲームが機能するのにどうしても必要な質問以外は行わず、既定以外の選択肢を提示しないで、単に既定の設定を使用する必要があります。多くのゲーマーは、ハード ドライブ上のゲームの場所や、ゲームの最初の設定に注意を払いません。ただ、できるだけ早くゲームをプレイすることを望みます。

カスタム モードは、インストール パスやその他のインストール オプションの変更を必要とする、または望むパワー ユーザーのみを対象とし、既定のモードにはしないことが必要です。

カスタム モードでは、完全インストールか、ゲームのプレイに必要なファイルのみをインストールする最小インストールのいずれかの選択肢を提示できます。ゲーマーが最小インストールを選択する場合、そのゲームではオン デマンド インストールまたはストリーミング技術を使用して残りのインストール データを読み取ることができます。これによりゲーマーは、完全インストールの完了を待たずに、ゲームのプレイを早く開始できます。ただし、この方法でのデータのインストールは、ゲーム エンジンの設計に影響を与えます。オン デマンドでのコンテンツのインストールの詳細については、「ゲームのオン デマンド インストール」を参照してください。

インストール時の質問量の最小化

どちらのインストール モードでも、インストール時にゲーマーに対してダイアログを表示する回数の制限を試みる必要があります。これにより、ゲームのインストールおよび実行に必要な読み取り量が減少します。必要に応じて、インストールの完了後に完了確認のメッセージを 1 回のみ表示します。図 1 に示すように、この例ではインストール後に表示されるメッセージが多すぎます。

オプション コンポーネントの必須コンポーネントへの変更

コンポーネントのインストールは、妥当な理由がないかぎり、一部をオプションにするのではなく、すべて必須にします。単純にすべてのコンポーネントをインストールすると、それ以上の遅れや混乱を引き起こさずにゲームを開始できます。

DirectX をサイレントで必ずインストール

作成したゲームに対応する DirectX 再頒布可能ファイルがサイレントにインストールされるようにすることをお勧めします。DirectX のインストール処理は、更新が必要なものがないかどうか確認し、ない場合はすぐに戻るように設計します。これにより、ユーザーに DirectX をインストールするかどうか尋ねる必要がなくなります。DirectX のサイレント インストールは、インストール パッケージの次のファイルでこのコマンドを実行することにより行うことができます。dxsetup.exe /silent

ユーザーに DirectX をインストールするかどうかを尋ねると、多くの問題が発生する可能性があります。たとえば、ユーザーが最新の再頒布可能ファイルがインストール済みだと考えて、DirectX のインストールをスキップすることを選択しても、ゲームのインストールが正常に実行される可能性があります。しかし、そのゲームに特定のバージョンの D3DX またはその他の更新済みの機能が必要で、そのインストールがスキップされた場合、ゲームは機能せず、ユーザーは戸惑うことになります。

何らかの理由で、ユーザーに DirectX をインストールするかどうかを尋ねる必要がある場合、インストーラーでは少なくとも、ユーザーが DirectX をインストールしないことを選択した場合には、インストール処理全体を中止または元に戻す必要があります。インストールを元に戻すことにより、ゲームの起動時に DirectX の最新バージョンがシステムにインストールされていないことによるエラーを回避します。

単純に最新の DirectX SDK の再頒布可能ファイルを出荷するのではなく、作成したゲームに対応する再頒布可能ファイルを出荷することが重要であることに注意してください。最新の再頒布可能ファイルには、以前のバージョンのコンポーネントがすべて含まれていない場合があります。

また、インストーラーでは、何が既にインストールされているかを確認し、システムの再起動が必要かどうかを判断することも重要です。DirectX が最新版である場合、DLL を 1 つコピーするのに再起動は不要です。詳細については、「DirectSetup での DirectX のインストール」を参照してください。

EULA の考慮

DirectX の EULA は、ゲーム開発者の EULA に追加でき、また追加する必要があります。ユーザーが開発者の EULA に同意して、DirectX の EULA に同意しないようにすることができても意味がありません。ユーザーは、両方の EULA に同意する必要があり、そうでない場合はゲームをインストールできません。開発者がユーザーに選択肢を提供する必要があると感じても、ユーザーが DirectX の EULA に同意しないことを選択する場合は、インストール全体が無効になります。

可能な場合には、EULA を一緒にしないことができるかどうかを法務部門に問い合せて、コンソール ゲーム用のようなシュリンク包装の EULA を使用します。これにより、ユーザーに EULA に同意するかどうかを尋ねる必要がなくなります。DirectX の EULA は、シュリンク包装の EULA に追加する必要があります。追加しない場合、DirectX の EULA を表示して同意を得る必要がありますが、これではシュリンク包装の EULA を使用する意味がなくなります。

シュリンク包装の EULA の 1 つの例外は、コンテンツ エディターの EULA です。エディターはすべて、そのエディターのインストール中か、エディターの最初の起動時に EULA を表示する必要があります。多くのゲーマーは、ゲームをプレイすることにのみ興味があり、コンテンツの作成には興味がないので、エディターのインストールは別処理にする必要があります。

インストール後の自動起動

ほぼすべてのゲーマーは、ゲームを手に入れたらすぐにプレイすることを望みます。既定では、インストーラーはインストールの完了後にゲームを起動する必要があります。ただし、カスタム インストールでは、これをユーザーがオーバーライドできるチェック ボックスで指定するのが適切な方法です。

インストールのパフォーマンスの最適化

開発者はインストールのテストを行い、インストールに必要な時間を確認する必要があります。最新バージョンのインストール ツールを使用したり、インストール メディアでのデータのレイアウトを最適化したりすることにより、開発者はインストール時間を短縮できます。ほとんどの DVD オーサリング ツールには、レイアウトの最適化のオプションがあり、開発作業量を増やすことなくインストール時間を短縮できます。

インストール時の Windows ファイアウォールへの登録

ゲームをサーバーとして実行できる、またはゲームのネットワーク モデルがピアツーピアの場合、ゲームをインストールする際に Windows ファイアウォールに登録します。これにより、ゲームの途中でユーザーがネットワークにアクセスしようとしたときに、ファイアウォールのダイアログが表示されるのを防ぎます。ゲームが純粋なクライアントである場合は、インストーラーでファイアウォールの例外リストにゲームを追加する必要はありません。

詳細については、「ゲーム開発者向け Windows ファイアウォール」を参照してください。

現在のユーザーのみでなく、すべてのユーザーにインストール

単純に、既定でゲームをすべてのユーザーにインストールします。これにより、システムの新規ユーザーも、そのゲームを改めてインストールすることなくプレイできます。最小特権ユーザー アカウントですべてのユーザーにインストールしようとすると、インストーラーは失敗するか、ユーザーに管理者のパスワードを求めます。そこで、すべてのユーザーにインストールするオプションを提示する前に、そのアカウントに適切な権限があるかどうかを検出するようにします。ユーザーが現在のユーザーにのみゲームをインストールすることを選択する場合は、必ずインストール パスをユーザーのプロファイル内の場所に変更します。理想的には、ローミングしないアプリケーション データの任意の場所 (たとえば CSIDL_LOCAL_APPDATA のサブディレクトリ) にパスを変更します。

単純化されたインストールの例

次の図 2 は、Windows へのゲームのインストールでインストール ダイアログを単純化して処理を向上させた例です。

図形 2.  単純化されたインストール処理

Bb147379.SimplifiedGameInstall(ja-jp,VS.85).png

重要な点は以下のとおりです。

  • インストーラーは、インストール ディスクの挿入時に自動的に起動します (自動実行)。
  • ゲームがまだコンピューターにインストールされていない場合は、スプラッシュ スクリーン — インストール、削除、Web サイトの表示、または終了のオプションが含まれます — が表示されません。
  • [インストール] ダイアログが、インストーラーで表示される最初のダイアログとなります。
  • [インストール] ボタンは、自動インストール モードの実装です。
  • [オプション] ボタンは、カスタムインストール モードの実装です。
  • [キャンセル] ボタンをクリックすると、インストーラーがただちに終了します。インストーラーの起動はユーザーにとってはささいな行為なので、確認は求めません。
  • ユーザーが EULA に同意し、有効なプロダクト キーを入力すると、インストールが開始されます。
  • インストール処理が完了すると、[インストール後にゲームを実行する](Run game after installation) が選択されているかどうかに基づいて、ゲームが自動的に起動するか、インストールが完了したことをユーザーに伝え、追加オプションを提示するダイアログ ボックスを表示します。
  • 利便性を考えて、[ゲームを実行する](Run game) チェック ボックスでゲームを起動するチャンスをもう一度提供します。[インストール オプション] ダイアログ ボックスで [インストール後にゲームを実行する](Run game after installation) が未選択の場合にのみ [インストールの完了] ダイアログ ボックスが表示されるので、このオプションは既定では常に未選択です。
  • [OK] をクリックするとダイアログ ボックスが閉じ、[実行] チェック ボックスおよび [Readme を表示する](View the Readme) チェック ボックスを選択した場合はオプションで操作が実行されます。

まとめ

ゲーマーは、できるだけ早くゲームをプレイすることを望んでいます。ゲーマーが最も望まないことは、これまでにインストールした他のすべてのゲームと同様に、多数のダイアログ ボックスが表示されて何度も選択を行うことです。これらの概念を実装することにより、ゲーマーが Windows へのゲームのインストールに費やす時間が短縮され、Windows のゲーム体験の全体の質の向上に役立ちます。