CEDEC 2022にて発表した内容です
ビルド高速化サービスIncrediBuildのご紹介営業統括本部 ゲームソリューション部出村 成和1
View Slide
2自己紹介出村 成和 (DEMURA Narikazu)クラスメソッド株式会社営業統括本部 ゲームソリューション部所属ゲーム開発環境の構築、開発支援を担当過去の経歴(抜粋)• コンソール機向けゲーム開発• フリーランス• ソーシャルゲーム開発
3アジェンダ• ビルド高速化サービス IncrediBuildとは• IncrediBuildがサポートする開発環境• IncrediBuild Cloud• デモ
4ゲーム開発中これらの経験はありませんか?
5ゲーム開発中にありがちな出来事帰り間際に仕掛けたビルドが翌朝失敗していた修正してビルドをやりなおし予定が後ろ倒しに…ビルド待ちしてたら退社できるのが終電前ビルド完了後に動作確認してたら終電が目前に…
6ビルド時間を短くしたい
7
8ビルド時間が短くなるとゲームのクオリティ向上浮いた時間をゲームの質向上に充てられるビルド チェック ビルド修正 チェック 修正ビルド チェック ビルド修正 チェック 修正改善前ビルド高速化後この時間をクオリティUPに当てられる
9IncrediBuildの構成
10IncrediBuildとはビルド高速化サービス複数マシンで分散ビルド開発用PC分散ビルド環境ビルド用PC単独ビルド環境開発用PC開発用PC
11どれだけ早くなるのか
12どれだけ早くなるのか?未使用時 Ryzen 9 5900X使用時 Ryzen 9 5900X + c5.4xlarge×5(分散ビルドマシン)92分51分UnrealEngine 5ソースコードをビルド未使用時使用時45%削減
13導入事例
14ユークス様の事例https://classmethod.jp/cases/yukes/
15サポート環境
16サポート環境(IDE)Visual Studio
17サポート環境(コンソール開発環境)PlayStation Xbox NintendoSwitch
18サポート環境(Toolchain)ビルドシステム• MSBuild• cmake• GNU Make• Ninja などコンパイラ• MS C++• Clang• CUDA など
19サポート環境(UnrealEngine)・コード・シェーダーコンパイルアーティストの業務が効率化できるプログラマの業務が効率化できる
20VisualStudioプラグインが存在VisualStudioのプロジェクトに直ぐに導入可能• プロジェクト変更の必要なし• IncrediBuildが利用できるか自動で判断• VisualStudio 2010以降対応
21IncrediBuildの動き
22IncrediBuildを構成するソフト&サーバIncrediBuildAgentCoordinatorHelperAgent開発用PCビルド指示を出すビルドの介在役ビルド実行部隊
23Incredibuildの動き 1/5IncrediBuildAgentCoordinatorHelperAgent開発用PCHelperAgentの情報取得
24IncrediBuildの動き 2/5IncrediBuildAgentCoordinatorHelperAgent開発用PCCoordinatorからビルド依頼に関する情報を取得する
25IncrediBuildの動き 3/5IncrediBuildAgentCoordinatorHelperAgent開発用PCビルドを依頼する
26IncrediBuildの動き 4/5IncrediBuildAgentCoordinatorHelperAgent開発用PCビルドを実行
27IncrediBuildの動き 6/5IncrediBuildAgentCoordinatorHelperAgent開発用PCビルド結果を取得する
28多数のPCが必要?PCを設置する場所がないのですが…
29IncrediBuild Cloud
AWS Cloud30IncrediBuild CloudIncrediBuildAgent開発用PCビルド指示を出す ビルドの介在役 ビルド実行部隊AWS上にビルド環境が構築可能Coordinator HelperAgent
31EC2インスタンスの稼働サーバコストを最小に抑える仕組み• ビルド時のみ、必要なEC2インスタンスが起動• 一定時間未使用ならば自動的にインスタンス停止
AWS Cloud32IncrediBuild CloudIncrediBuildAgent開発用PCビルド指示を出すビルド処理待ちCoordinator HelperAgent
AWS Cloud33IncrediBuild CloudIncrediBuildAgent開発用PCビルド指示を出すビルド中Coordinator HelperAgent
34ビルド用マシンのEC2インスタンススポットインスタンスも利用可能• 2種類のEC2インスタンスが利用可能利用タイミング 料金についてオンデマンドインスタンス • 常時利用可能 • EC2停止中でも料金が発生スポットインスタンス• 必要な時のみインスタンスを確保して利用• オンデマンドインスタンスより安価• 利用不可の場合もありえる
35IncrediBuildの利用形態
36利用形態は選択可能• オンプレミス• ハイブリッドクラウド• フルクラウド
Office37オンプレミスIncrediBuildAgentCoordinatorHelperAgent開発用PC ビルドの介在役ビルド指示を出すすべてのPCが同一ネットワーク上にあるビルド実行部隊IncrediBuildAgent
Office38ハイブリッドクラウドCoordinatorビルド実行部隊HelperAgentのみがEC2インスタンスで構築AWS CloudHelperAgentビルド指示を出すビルドの介在役IncrediBuildAgent開発用PCIncrediBuildAgent
AWS Cloud39フルクラウドIncrediBuildAgentCoordinator開発用PCビルド実行部隊Coordinator、HelperAgentがEC2インスタンスで構築Office or Homeビルドの介在役HelperAgentビルド指示を出すIncrediBuildAgent
AWS Cloud40フルクラウドIncrediBuildAgentCoordinator開発用PCビルド実行部隊Coordinator、HelperAgentがEC2インスタンスで構築Office or Homeビルドの介在役HelperAgentビルド指示を出すIncrediBuildAgentボトルネックになりがち
41フルクラウドCoordinatorリモートデスクトップPCすべてEC2インスタンスを利用してボトルネック回避Office or Homeビルドの介在役AWS CloudHelperAgentビルド指示を出すIncrediBuildAgent開発用PCビルド実行部隊
42デモ
43まとめ
44まとめビルド時間を短縮することが可能浮いた時間をゲームの質向上へ当てる幅広い開発環境をサポートプログラマ、アーティストが恩恵を受けられるクラウドを利用した環境構築が可能さまざまな運用形態が可能
45AWS様のセッション紹介AWSの知識ゼロでバックエンド機能を構築するAWS GameKit8月24日(水) 16:40 ~ 17:10他2セッション
46