次の方法で共有


より堅牢な Windows ゲームを制作するための主なツールと手法

ゲーム制作において望ましくないコストの発生元の 1 つはサポート コールです。 ユーザーがカスタマー サポートに問い合わせるたびに、ゲームからの収益は減少します。 カスタマー サポートへの問い合わせの中には、避けられないものもありますが、適切な開発手法を採用することで、ゼロにしたり減らしたりできるものもあります。 この記事では、受けるサポート コールの数を減らすのに役立つツールや手法について説明します。

ここで説明するツールはすべて無料で、手法はほとんどの開発方法に追加できるほどシンプルです。

ツールと手法:

PREfast

PREfast for Drivers は Microsoft が提供するツールで、コンパイルされた C または C++ の実行パスを分析して、実行時のバグの発見を支援します。 PREfast は、すべての関数のすべての実行パスを調べ、各パスに問題がないか評価することで動作します。 このツールは通常、ドライバーやその他のカーネル コードの開発に使用されますが、発見が難しいバグやコンパイラが無視するバグを排除することで、ゲーム開発者の時間節約に役立ちます。 PREfast の使用は、リリース後の作業量とサポート コストを削減する優れた方法です。

PREfast は Visual Studio Team System に付属しており、Windows Driver Kit の一部としても提供されています。 詳細については、「PREfast Build」を参照してください。

AppVerifier

Microsoft Application Verifier (AppVerifier) は、1 つのツールで複数の機能を提供することでテスターを支援できるツールです。 AppVerifier は、一般的なプログラミング エラーのテストを容易にするために開発されました。 AppVerifier は、API 呼び出しで渡されるパラメーターをチェックし、エラー処理機能をチェックするための誤った入力を注入して、レジストリとファイル システムへの変更をログに記録できます。 AppVerifier は、ヒープのバッファー オーバーランを検出し、アクセス制御リスト (ACL) が適切に定義されていることを確認して、さらにソケット API の安全な使用を確保することもできます。

AppVerifier はすべてを網羅するわけではありませんが、開発スタジオにとって品質の高い製品をリリースし、リリース後のコストを抑える助けとなる、テスターの有用なツールの 1 つと言えるでしょう。

Application Verifier の詳細については、「Application Verifier」と「ソフトウェア開発ライフサイクル内での Application Verifier の使用」を参照してください。

ドライバー用の同様のツールであるドライバー検証ツールも使用できます。 詳細については、Microsoft ヘルプとサポートの「ドライバー検証ツールを使用して Windows ドライバーに関する問題を特定する (上級ユーザー向け)」を参照してください。

Microsoft Application Compatibility Toolkit

Microsoft Application Compatibility Toolkit は開発者向けの無償ツール セットであり、Microsoft Windows 用の新たにリリースされたサービス パックで自分たちのリリースがどのように動作するかを迅速にチェックするのに役立ちます。 新しいサービス パックに備えることで、開発者は問題を防止したり、準備したりすることができます。

Application Compatibility Toolkit とその詳細については、「Application Compatibility Toolkit (ACT)」を参照してください。

ユーザー アカウント保護テスト

Windows Vista と Windows 7 には、主要なユーザー アカウントとして標準ユーザーと管理者という 2 つのタイプがあります。 標準ユーザー アカウントは、悪意のあるアプリケーションによるシステムへの損害のリスクを軽減するため、すべてのユーザーに推奨されるタイプです。 標準ユーザーにはアクセス制限 (Program Files フォルダーや、レジストリの HKEY_LOCAL_MACHINE (HKLM) に書き込めないなど) があるため、標準ユーザー アカウントで動作するようにゲームを設計およびテストすることが重要です。

このトピックの詳細については、「Windows XP、Windows Vista、および Windows 7 でのゲーム ソフトウェアのパッチ適用」と「ゲーム開発者向けユーザー アカウント制御」の記事を参照してください。

Windows 用 PIX

PIX は、実行中のアプリケーションからパフォーマンス情報を収集および分析するためのツールです。 PIX は、一部のフレームが他のフレームよりも遅くレンダリングされる理由に関する統計データを収集し、不適切な API 使用を特定できます。 PIX は、毎日のビルドをテストし、アプリケーションのパフォーマンスの急激な変化にフラグを立てるように自動化することもできます。 テスターと開発者は、さまざまなハードウェア構成で PIX を使用することで、ゲームのパフォーマンスに関するサポート コールを最小限に抑えることができます。

構成検出

ドライバーによって公開されるデバイスの機能が常に正しいとは限りません。 1 つの解決策は、アプリケーションの構成にデータベース駆動システムを使用することです。この方法の具体例は、DirectX SDK に含まれているサンプル ConfigSystem で示されています。 サンプルのシステムに似た検出モデルは、ゲームのパフォーマンスを妨げているデバイスの機能を特定するのに役立ち、その結果、パフォーマンスに関するサポート コールの数を減らすことができます。

詳細なコンパイラ警告の有効化

プロジェクトが安定したら、#pragma warning によって無効にされたコンパイラの警告を復元することをお勧めします。 開発者は、製品をリリースする前にすべての警告を排除するように努めましょう。 開発者のシステムでクラッシュやエラーを引き起こさない警告でも、ユーザーのシステムで問題を引き起こす可能性があります。 警告を排除できない場合、テスト チームはその警告がユーザーのシステムでエラーをほとんど引き起こさないか、まったく引き起こさないかを確認する必要があります。

Microsoft シンボル サーバー

Microsoft は、Microsoft Windows オペレーティング システムやその他の Microsoft 製品のシンボル ファイルを提供する、インターネット アクセス可能なサーバーを提供しています。 シンボルは、Windows 製品の現在のベータ版と Release Candidate 版、さらに修正プログラムとサービス パックについても、サーバーから入手できます。 デバッグ セッションの前にシンボル ファイルを別途ダウンロードするのではなく、デバッグ セッション中に必要に応じてシンボルをダウンロードするようにデバッガーを構成できます。 シンボルは指定したディレクトリの場所にダウンロードされ、デバッガーはそこからシンボルを読み込みます。

Microsoft シンボル サーバーの詳細については、「Windows デバッグ用シンボル」を参照してください。

Windows エラー報告

Windows エラー報告 (WER) は、開発者がアプリケーションからエラー情報を統一かつ整理された方法で収集するのに役立つ、Microsoft が提供するサービスです。 これは完全に任意ですが、開発者はこのサービスを利用して、どのバグが最も頻繁に発生するかを判断するとよいでしょう。 WER の使用は、一般的に報告される問題のデバッグに役立ち、最も一般的なバグに関するサポート コールを排除するのに役立ちます。

WER の詳細については、「クラッシュ ダンプ分析」を参照してください。

パフォーマンス チューニング ツール

開発者はパフォーマンス アナライザーを使用してゲームのパフォーマンスを調整できます。 PIX に加えて、Windows 用の一般的なパフォーマンス アナライザーがいくつかあります。たとえば、Intel VTune Performance Analyzer や AMD CodeAnalyst Performance Analyzer などです。 これらのツールは、ボトルネックを特定し、アプリケーション全体のパフォーマンスを向上させる方法を決定するのに役立ちます。 リリース前にパフォーマンスのボトルネックを改善することで、リリース後のコストを抑えることができます。

まとめ

設計、開発、テストに関わるすべての人は、自分の仕事が製品のリリース後のコストにどのような影響を与えるかを考慮する必要があります。 制作プロセスで前述のツールと方法を使用することで、サポート コールの量を減らすことができます。 これにより、ゲーム開発のリリース後のコストが削減され、収益が向上します。