Skip to main content
1
Software Development Acceleration Through Process Virtualization
2
“IncrediBuildは、Unreal Engine 4ではシェーダーコンパイル時間短縮
にも利用できます。弊社ではシェーダーコンパイル時間が1/5~1/10になり、
デザイナーのクリエイティビティをより発揮できる環境が構築できました。”
株式会社ヒストリア CEO 佐々木 瞬
• IncrediBuildとは?
• ユーザーケーススタディのご紹介
• Dev toolsインターフェースの紹介
• 更なる高速化が可能なエンタープライズ版のご紹介
• プロセスレベルの仮想化技術の秘密をバラします!
| www.incredibuild.com | 3
| www.incredibuild.com | 4
LAN内のアイドル状態のCPUコアを自
動で使い、 様々なタスクを分散・高
速化することができます
ビルドやシェーディング、コンバート、単
体テスト、コード解析などの処理を簡
単に速くします
分散に参加するマシンに開発環境やビ
ルドツール、コンバートツール等準備す
る必要がありません
ソフトウェア高速化のテクノロジーです
5
6
ゲーム 金融・証券
ネットワーク
ハードウェア
ソフトウェア
半導体
CAD
エンジニアリング
Other
ナビゲーション
マッピング
IncrediBuild は様々な業界・業種の会社様にご利用いただいております。
50ヵ国 2,000を超える企業 100,000台以上のエージェントで稼働しています
7
 2002年からVisual Studioでの
開発を高速化しています
 Microsoft の開発チームと連携
して、IncrediBuild は
Visual Studioとのシームレスな
統合を実現しています
 IncrediBuild for Azure によ
って、ピーク時や製品のリリース時
などの状況に応じて柔軟にリソー
スを追加できます
IncrediBuild は Visual Studio の
正式パートナーです
8
9
IncrediBuild
for
Visual Studio
ビルド
MSBuild
Make / Ninja
単体テスト
MSTest
カスタムツール
Gameエンジン
UE4 / Amazon
Lumberyard
EnlightenGame開発
PlayStation/
Nintendo 3DS
Switch/ Xbox
コード解析
Coverity
Klocwork
etc…
パッケージング
コード難読化
圧縮
動画/画像作成
エンコード
コンバート
IncrediBuildは
マルチプロセスな処理
を高速化します
様々なタスクに対応
10
開発者 / CI / CD / デザイナー
開発
開発
コンパイ
ル
動的コー
ド解析
テスト
単体テス
ト
結合テス
ト
負荷テス
ト
リリース
パッケー
ジ処理
難読化
静的コー
ド解析
ゲーム
テクスチ
ャ
シェーダ
ー
ライト
アセット
レンダリ
ング
データ変
換
圧縮
AI トレ
ーニング
画像化
クック
| www.incredibuild.com | 12
 Milestone Studio様
 AAAレーシングゲームの開発会社
 Unreal Engine 4でPC、Xbox、PS4向け
 課題
 レーシングゲームを主軸としているため、グラフィックスとモデルリングのディテールにこ
だわり
 4つの開発ブランチがありUE4 Editorのリビルド、ゲーム向けのプロジェクトビルド、
特にクックには9時間掛かっていた
 ソリューション
 開発者マシンおよびビルドサーバーにIncrediBuildを導入し、ビルドを高速化
 テクニカルアーティスト(デザイナー)は、シェーダーコンパイルの高速化に
IncrediBuildを使用
 特に、レベルの設計者はUE4スタート時にソースコントロールと同期するため、実
質全てのシェーダーがリコンパイルされる。起動高速化にIncrediBuildが寄与。
“IncrediBuild無しで巨大かつ複雑なプロジェクトを開発するのは賢明ではない。”
イヴァン・デル・デュカ, テクニカルディレクター at Milestone
 Supermassive Games様
 PlayStation VR 独占タイトル、『Until Dawn: Rush of Blood』と
『Tumble VR』をリリース
 Unreal Engine 4で開発
 課題
 迅速で信頼性の高いビルド システムが必要
 継続的インテグレーションシステムからの最新の実行ファイルを受け取り、定期的に
レビューする
 ソリューション
 ゲームのコンパイルを 4 倍高速化して継続的インテグレーション サイクルを大幅に
短縮
 40分を超えていたシェーダ-とコード コンパイルが10分以下に短縮
 ビルドプロセスが大幅に変更に改善
0
5
10
15
20
25
30
35
40
45
Code Compilation Shader
Super Massive Games Compilation and Shader(min)
Before IncrediBuild With IncrediBuild
“IncrediBuild はスタジオ全体で使用されています。プログラマーとシェーダーだけ
でなく自動ビルド マシン上にもインストールされています。現在プロジェクトごとに 1
日約 25 件のビルドを行うことができますが、これは IncrediBuild の導入前には
考えられないことでした。”
プラサンナ ジェガナサン, テクニカル ディレクター at Supermassive Games
 日本一ソフトウェア様
 ワールドワイドでトリプルミリオンのディスガイアシリーズ
 Nintendo Switch™のローンチタイトルとして、最新のナンバリングタイトルである
ディスガイア5の移植版を発売
 課題
 開発実機の不足により、Windows上でエミュレートして開発
 高性能なPCを購入したが、それでも一度のフルビルドで22分強掛かる
 シリーズを重ねるにつれ、ソースコードの依存関係も複雑化
 Nintendo Switch™ローンチに向けての短い開発期間
 ソリューション
 IncrediBuildを利用し、ビルド時間を4分50秒まで短縮
 ローンチの発売に向けて順調に開発を進めることができた
 Jenkinsからバッチが実行され、バッチ内にあるIncrediBuildのコマンドラインによ
り分散ビルドが実行される。バッチビルドという機能により、複数ターゲットのビルド
が同時に高速化
“大きなプロジェクトであるほどIncrediBuildの効果が出るため、今後はさらに有効
活用していくことになるかと思います。複数プラットフォームで安定して利用できる
Incredibuildにはさらなる可能性を期待しております。”
日本一ソフトウェア, プログラマー 長安 雄作
日本一ソフトウェア ビルド時間比較
 Undead Labs様
 ゾンビサバイバルシミュレーションゲームのState of Decayシリーズ
 課題
 “シリーズもののため、続編ではユーザーの期待に応えるため、開発者やデザイナー
の最大限の努力が必要となります。そして、最高の友人であり最悪の敵なのが、時
間です。”
 シェーダーコンパイルおよびライティングの時間が非常に長い
 CIシステムに組み込まれた1日100回以上のクロスプラットフォーム(Xbox Oneと
PC)の同時ビルド、レベルライト計算
 ソリューション
 12コアのビルドサーバ3台、4コアの開発者マシン45台にIncrediBuildを導入し、
仮想の216コアマシンを実現。
 Dev Toolsのソリューションを利用してシェーダーコンパイル、ミドルウェアのライティン
グのプレ計算タスクの高速化。
 CIツールと連携させイテレーション速度を向上
“高速なイテレーションは、生産的なゲーム開発の1つの柱であると我々は信じている”
テッド ワーシー, ゼネラルマネージャー at Undead Labs
 Turn 10 Studios様
 Microsoft Studio の一部門であり、レースゲームの開発チーム
 課題
 市場に出来るだけ早くゲームを投入する
 CPUの負担が大きい
(コードビルド、動画やグラフィックのレンダリング、プラットフォームの変換、物理演算
エンジンの管理、ライティングエンジンの管理など)
 ソリューション
 コードビルドだけではなく、テストコードの解析、QAスクリプト、レンダリング、物理演
算、ライティング エンジン、またカスタムツールを10−30倍も高速化することに成功
 Autodesk 3DS Maxのコンバートには6時間程度を要していましたが、
IncrediBuild を利用することで20分へと削減。
“IncrediBuild によって、我々はビルド時間を60分から8分へ削減し、マーケットへの
製品投入時間を大幅に削減することができました。”
ダン タンネル at Turn 10 Studios
 Electronic Arts様
 エンターテイメントソフトウェアの世界的リーダー
 課題
 ゲームプレイに使用されるアニメーション、モデル、テクスチャなど、EAのほとんどゲー
ムデータを処理するためにAutodesk Mayaが使用されている。
 ゲームには何万ものアセットファイルがあり、膨大な量のデータファイルを構築する必
要がある。
 Pythonスクリプトがmayabatch.exeを実行しアセットファイルを出力するのに、
1台16CPUコアのマシンで4時間掛かっていた。
 ソリューション
 高速化をMayabatchにも適用できないか検証
 7台のマシン合計108cpuコアの環境で4時間から僅か40分に大幅に短縮し、
結果として6倍の処理速度を実現
 処理にかかる時間を大幅に短縮し、製品開発に注力
 既存のインフラにそのまま導入できる
“Mayaの実行時間を短縮することで、EAはアプリケーション開発サイクル全体を大幅
に短縮することができました。”
Electronic Arts
 Bohemia Interactive様
 戦場シミュレーションゲーム、ArmAシリーズ
 課題
 緻密な地形表現かつ、大規模なオープンワールドを表現するために、実際の衛星
画像を地形表現のテクスチャに使用
 画像処理にかかる総時間は8時間ほど。殆どは、テクスチャの圧縮処理
 特に開発後半で、チューニングしたり、バグフィックスする段階で生産性に致命的
な影響
 ソリューション
 IncrediBuildを使うことによって、8時間の処理が40分へと短縮
 コアを足せば足すほど高速化される事が確認できたので、今後さらに大きな地形
の設計において、コア数を足して作業をする
“IncrediBuildのDev Toolsを利用することで、ArmAで使用されている地形データ
の処理時間を大幅に短縮でき、必要な作業量も大幅に削減できました。”
アンドリュー スファネル, リードプログラマー at Bohemia Interactive
“各開発者がVisual Studio 上でIncrediBuild を使用した結果、1日あたり100
人分の時間が節約できました。”
ジャビエ オリバーズ, リードプログラマー at Obsidian
 Logiball様
 ナビゲーションシステムおよび、地形データを基にしたビジネスユーザ向けのアプリケ
ーションを開発
 課題
 Android NDKのツールセットを利用したビルドは各開発者マシンで15分程、ビル
ドサーバー上では7分程掛かっていました。
 Jenkinsとの連携やテストツールの高速化も課題となっていました。
 ソリューション
 開発者はアンドロイドビルドを1日20回実行できるように
 Visual Studio, Jenkins, 開発者マシン, サーバーマシン, テストツールとの連
携
 ビルドプロセスが大幅に変更に改善
“IncrediBuildで開発プロセス全体を大幅に削減することができました。 今、私た
ちのアジャイル開発は効果的でスケーラブルです。 IncrediBuildの並列化機能が
なければ、スピードアップと改善は不可能です。”
ユバル マオール – シニアALMアーキテクト at Logiball
Logiball Android NDK Compilations(min)
 The Coalition様
 Gears of War の開発
 課題
 内部開発者の嘆き
“マップを開くのに30 分、これが毎日4、5回も繰り返されます。1日の3分の1の時
間が何もしないで過ぎることになります。”
 外注(パートナー)のグラフィックデザイナーの嘆き
“あるケースでは、 パートナーが専用のIncrediBuild ファームの容量を自社で確保
することができず、UE4 上で巨大な『Gears of War 4』のマップを開くのに長時間
待たなければなければなりませんでした”
| www.incredibuild.com | 42
 ソリューション
 Azureクラウドプラットフォームを利用して、シェーダーを高速にコンパイルするための
700coreにも及ぶ専用分散環境を構築
 アクセス可能なAzureのデータセンターにおよそ160のコアを導入して、パートナー
ーとサイト間のVPNを構築
“The Coalition ではわずか1年で2つのAAA ゲームをリリースするのは非現実的だと
考えていましたが、次のような取り組みによってこれを成功に導きました。”
- IncrediBuild により Azureを可能な限りスケーリング
- 不要な待ち時間を削除
- 外部委託パートナーの高速化
- 柔軟な導入によるリソースの節約
ジョー ボット, ITマネージャー at The Coalition
Submission インターフェース
分散実行するために、実行するコマンド(exe)を直接Incredibuildに投げる形式
xgSubmit.exe コマンドを元のコマンドラインの前に表記するだけ
xgSubmit.exe が表記された元のコマンドラインは、並列分散処理のためのキューへと追加される。
Automatic Interception インターフェース
分散させたいプロセス名のリストをxml形式で表記する
作業は、上記の小さいxmlを作るだけで、あとはプロセス実行時に自動的に分散処理される
XML インターフェース
XMLベースのIncrediBuild専用スクリプト言語
task1.exe
task2.exe
task3.exe
task4.exe
LocalTask.exe
xgSubmit /command task1.exe
xgSubmit /command task2.exe
xgSubmit /command task3.exe
xgSubmit /command task4.exe
LocalTask.exe
To
ScriptFile.bat ScriptFile.bat
Cmd> ScriptFile.bat Cmd> IBConsole /command=“ScriptFile.bat”
 依存関係やグループを指定する事も可能
 ソースコードや、スクリプトから直接実行する事も可能
IBConsole /command=“Simulation_Application.exe”
/profile=“description.xml"
プロセスをどう処理させたいかを小さなxmlで定義する
IncrediBuildでプロセスを実行する
 AllowRemoteIf – リモート処理させる際に条件を指定できる
 AutoRecover – タスク失敗時に自動再処理させるタスクを文字
列でリスト表記
 TimeLimit – タイムアウト時に自動的にタスクを再実行する
 WarningExitCodes – 特定のエラーコードを返した場合、警告と
して出力に表示する
 IdentifyTaskOutput – タスクをダブルクリックすると出力へ自動
的に移動
 等色々…
 明白なメリット:
コンパイル時間を劇的に短縮する
生産性の劇的な向上
開発者とデザイナーのより深い同期
コスト節約 (時間およびハードウェア)
 隠れたメリット:
ブランチでの作業がしやすくなる
ゲーム品質の向上 – デザイナーが創造的なアイデアを探求できる
ビルド回数を増やせる
イテレーションの高速化
致命的不具合を早く発見できる
夜間ビルドのエラーからのリカバリーが早い
シフト・レフト(工数の前倒し)の実現
• IncrediBuild v9.2より、従来版(Pro版)に加え、エンタープライズ版が配布されております。
• エンタープライズ版で出来る事
- マルチビルド機能 (複数のビルド(IncrediBuildコマンド)を単一マシンで同時実行可能)
- マルチヘルパー機能 (ヘルパーマシンが複数ビルドに参加、コアを有効活用)
- CI/CDツールへの、より簡単な結合 (Jenkins プラグイン等)
- ダッシュボード機能により、より深く、ビルド状況や、Agentの活用状況の分析が可能
⇒リソース使用や、マシンのより効率的な使い方、時間帯や傾向等、IBインフラの最適化に寄与
| www.incredibuild.com | 49
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
| www.incredibuild.com | 68
ブースで1か月間の無償ライセンスをご案内していますので、
お申し付けください!