導入事例の紹介
思 わ ず 引き込まれるリア ル な PC
ゲームの世界を実現
The Creative Assembly の新しい Napoleon: Total War ゲームのスレッド化とグラフィックの課題をインテル® ソフトウェア開発製品が解消
会社概要

会社名 : The Creative Assembly
業種 : ゲーム開発「インテル® TBB に興味を持った理由は 2 つあります。既存の直列コードに統合できる容易さ、そして、習得に必要な時間が短いことでした。」
The Creative Assembly 社

シニア・エンジン・コーダー

Yuri O Donnell 氏

1987 年に創立された The Creative Assembly はイギリスのサセックスを本拠地とするコンピューター・ゲームの開発会社で、戦略・戦術シミュレー
ションの Total War*（トータルウォー）シリーズで有名です。Napoleon:
Total War*（ナポレオン : トータルウォー）はフランチャイズにおける 5 つ目のメジャーリリースで、これまでの製品と同じように、PC 版のみのリリースとなります。Spartan: Total Warrior*（スパルタン 〜 古代ギリシャ英雄伝 〜 ）や Viking: Battle for Asgard* は家庭用ゲーム機市場で大ヒットしました。2003 年から 2005 年まで、Total War* のエンジンは国際的な称賛を得た BBC のゲームショー「Time Commanders」に使用されていました。2005 年に、The Creative Assembly は SEGA の子会社になりました。詳細は、www.creative-assembly.co.uk/ を参照してください。

目標

リアルタイムの戦闘シーンとキャンペーン・マップで順を追って行われる戦術のやり取りをバランス良く融合させて、誰もが思わず引き込まれるリアルなゲームを作成すること。

製品

Napoleon: Total War* は数々の受賞暦を誇る The Creative Assembly のTotal War RTS* フランチャイズによる新しいシリーズの最初の作品です。
Napoleon: Total War* はフランチャイズの陸上と海上で繰り広げられる最先端の 3D 戦闘シーンをそのまま再現しています。ターンベースのキャンペーン・マップは 3 部構成からなり、ナポレオンの有名な戦争を通して彼の栄光と落日を描きます。

課題

没入型でリアルなゲーム環境の開発をサポートするため、マルチコア PCの能力を活用する必要がありました。

効果

The Creative Assembly のプログラマーは、提供されるコアの数に応じてスケーリングされるストラテジー・ゲーム用の将来性の高いエンジンを作成し、プロセッサーによる制限から解放されました。

インテル® ソフトウェア製品のパフォーマンスおよび最適化に関する注意事項については、http://software.intel.com/en-us/articles/optimization-notice（英語）を参照してください。

The Creative Assembly の製品で得られた並列化のメリット

処理能力とグラフィック描画能力が高ければ高いほど、ゲームの見栄えは良くなり、ゲームに引き込まれる魅力もより強くなります。Napoleon:
Total War* における詳細なカスタマイズはマルチスレッド化によって可能になりました。シングルコア・プロセッサー上でも動作は可能ですが、ゲー
ムエンジンはデュアルコア以上のシステムを念頭にコード化されており、ロジックとレンダリングの 2 つのパーツに分割されています。
これらのルーチンはさらに、海の形状の再描画、経路の検索のような個々の「ミニタスク」アルゴリズムに細分化されています。あるプロセスが別のプロセスの妨げにならないようにすることで、ゲームは利用可能なハードウェアの能力をフル活用できます。

結果以前よりもシステム要件が低くなったにもかかわらず、より大きなアニメーションが追加されたことで、Napoleon: Total War* が提供するユーザー体験はよりリアルになり、圧倒的な臨場感を実現しました。
開発チームは、
インテル® スレッディング・ビルディング・ブロック（インテル® TBB）なし
では予定通りに製品を完成できなかっただろうと確信しています。
エンジンの効率が向上した結果、Napoleon の戦場や海上における戦闘で、それぞれが個々の AI ルーチンを持つユニットを広大かつ大量に配置できました。Napoleon では 1 万から 2 万におよぶキャラクターによる戦闘が行われ、それらのキャラクターは、画面に 10 から 20 のキャラクターしか登場しないゲームのキャラクターに匹敵するほどの LOD（levelof detail）で作成されています。このゲームの鍵となる新しいツールの 1つはカスタム・ユニット・ビルダーで、デザイナーがモデルを詳細にカス利用したインテル® ソフトウェア開発製品の機能

The Creative Assembly の開発チームは現在のゲームエンジンを設計するときにインテル・エンジニアの経験とインテル・ツールを最大限に活用しました。
すべてのメモリー操作の検証にはインテル® スレッド・チェッカーが役立ちました。共有メモリーに対する同時アクセスを通知すると、競合状態が検出され改善できました。さらに役立ったのは、開発者がコードの並列化に使用したインテル® TBB ライブラリーです。既存のシリアルコードに容易に統合できるだけでなく、プログラマーが使用法を素早く習得できるため、数日後にはコードのパフォーマンスが向上し始めました。
複数のプラットフォームではなく PC に限定することの利点の 1 つは、インテル® TBB をエンジンに完全に統合させることで、大幅に時間と費用を節約できる点でした。独自のジョブ・キュー・システムの開発を回避できたことで、開発、テスト、デバッグにかかる労力が節約できました。開発チームは、インテル® TBB なしでは予定通りに製品を完成できなかっただろうと確信しています。
システム要件を低くするためのチューニングにはインテル® グラフィックス・パフォーマンス・アナライザー ( インテル® GPA) を使用しました。開発者は各 API 呼び出しのタイミングを調べて GPU の使用時間を確認し、その情報をもとにレンダリング状態を修正してパフォーマンスを調整しました。レンダリング・パイプラインのリアルタイム解析機能は、ボトルネックの特定と、各シーンにおけるオーバードローの多いインスタンスの発見に役立ちました。

タマイズできます。Napoleon は以前の製品よりもシステム要件が低くなったにもかかわらず、Total War* シリーズで最も高度な表現が可能になったのは画期的なことです。

© 2011 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Cilk、Intel Core、VTune は、アメリカ合衆国およびその他の国における Intel Corporation の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

最適化に関する注意事項

インテル® コンパイラー、関連ライブラリーおよび関連開発ツールには、インテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能な命令セット（SIMD 命令セットなど）向けの最適化オプションが含まれているか、あるいはオプションを利用している可能性がありますが、両者では結果が異なります。また、インテル® コンパイラー用の特定のコンパイラー・オプション（インテル® マイクロアーキテクチャーに非固有のオプションを含む）は、インテル製マイクロプロセッサー向けに予約されています。これらのコンパイラー・オプションと関連する命令セットおよび特定のマイクロプロセッサーの詳細は、『インテル® コンパイラー・ユーザー・リファレンス・ガイド』の「コンパイラー・オプション」を参照してください。インテル® コンパイラー製品のライブラリー・ルーチンの多くは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。インテル® コンパイラー製品のコンパイ
ラーとライブラリーは、選択されたオプション、コード、およびその他の要因に基づいてインテル製マイクロプロセッサーおよび互換マイクロプロセッサー向けに最適化されますが、インテル製マイクロプロセッサーにおいてより優れたパフォーマンスが得られる傾向にあります。
インテル® コンパイラー、関連ライブラリーおよび関連開発ツールは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリー
ミング SIMD 拡張命令 2（インテル® SSE2）、インテル® ストリーミング SIMD 拡張命令 3（インテル® SSE3）、ストリー
ミング SIMD 拡張命令 3 補足命令（SSSE3）命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。
本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。
インテルでは、インテル® コンパイラーおよびライブラリーがインテル製マイクロプロセッサーおよび互換マイクロプロセッサーにおいて、優れたパフォーマンスを引き出すのに役立つ選択肢であると信じておりますが、お客様の要件に最適なコンパイラーを選択いただくよう、他のコンパイラーの評価を行うことを推奨しています。インテルでは、あらゆるコンパイラーやライブラリーで優れたパフォーマンスが引き出され、お客様のビジネスの成功のお役に立ちたいと願っております。お気づきの点がございましたら、お知らせください。
改訂 #20110307