Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ビルド待ちがぐっと短くなる!ビルド高速化サービス IncrediBuildのご紹介
Search
クラスメソッド 出村成和
August 25, 2022
Programming
0
2.3k
ビルド待ちがぐっと短くなる!ビルド高速化サービス IncrediBuildのご紹介
CEDEC 2022にて発表した内容です
クラスメソッド 出村成和
August 25, 2022
Tweet
Share
More Decks by クラスメソッド 出村成和
See All by クラスメソッド 出村成和
ソーシャルゲームの負荷試験 ご紹介
cmdemura
0
1.4k
AWSとCPUのムフフな関係
cmdemura
0
1.3k
Other Decks in Programming
See All in Programming
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
130
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.5k
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
170
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
11k
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
290
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
170
A2A プロトコルを試してみる
azukiazusa1
2
1.4k
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2.1k
XP, Testing and ninja testing
m_seki
3
250
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Statistics for Hackers
jakevdp
799
220k
The Pragmatic Product Professional
lauravandoore
35
6.7k
What's in a price? How to price your products and services
michaelherold
246
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Adopting Sorbet at Scale
ufuk
77
9.5k
Six Lessons from altMBA
skipperchong
28
3.9k
Transcript
ビルド高速化サービス IncrediBuildのご紹介 営業統括本部 ゲームソリューション部 出村 成和 1
2 自己紹介 出村 成和 (DEMURA Narikazu) クラスメソッド株式会社 営業統括本部 ゲームソリューション部所属 ゲーム開発環境の構築、開発支援を担当
過去の経歴(抜粋) • コンソール機向けゲーム開発 • フリーランス • ソーシャルゲーム開発
3 アジェンダ • ビルド高速化サービス IncrediBuildとは • IncrediBuildがサポートする開発環境 • IncrediBuild Cloud
• デモ
4 ゲーム開発中 これらの経験はありませんか?
5 ゲーム開発中にありがちな出来事 帰り間際に仕掛けたビルドが翌朝失敗していた 修正してビルドをやりなおし 予定が後ろ倒しに… ビルド待ちしてたら退社できるのが終電前 ビルド完了後に動作確認してたら終電が目前に…
6 ビルド時間を短くしたい
7
8 ビルド時間が短くなると ゲームのクオリティ向上 浮いた時間をゲームの質向上に充てられる ビルド チェック ビルド 修正 チェック 修正
ビルド チェック ビルド 修正 チェック 修正 改善前 ビルド高速化後 この時間を クオリティUPに 当てられる
9 IncrediBuildの構成
10 IncrediBuildとは ビルド高速化サービス 複数マシンで分散ビルド 開発用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 Nintendo Switch
18 サポート環境(Toolchain) ビルドシステム • MSBuild • cmake • GNU Make
• Ninja など コンパイラ • MS C++ • Clang • CUDA など
19 サポート環境(UnrealEngine) ・コード ・シェーダーコンパイル アーティストの業務が 効率化できる プログラマの業務が 効率化できる
20 VisualStudioプラグインが存在 VisualStudioのプロジェクトに直ぐに導入可能 • プロジェクト変更の必要なし • IncrediBuildが利用できるか自動で判断 • VisualStudio 2010以降対応
21 IncrediBuildの動き
22 IncrediBuildを構成するソフト&サーバ IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルド指示を出す ビルドの介在役
ビルド実行部隊
23 Incredibuildの動き 1/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC HelperAgentの情報取得
24 IncrediBuildの動き 2/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC Coordinatorから
ビルド依頼に関する情報を 取得する
25 IncrediBuildの動き 3/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルドを依頼する
26 IncrediBuildの動き 4/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルドを実行
27 IncrediBuildの動き 6/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルド結果を取得する
28 多数のPCが必要? PCを設置する場所がないのですが…
29 IncrediBuild Cloud
AWS Cloud 30 IncrediBuild Cloud IncrediBuild Agent 開発用PC ビルド指示を出す ビルドの介在役
ビルド実行部隊 AWS上にビルド環境が構築可能 Coordinator Helper Agent
31 EC2インスタンスの稼働 サーバコストを最小に抑える仕組み • ビルド時のみ、必要なEC2インスタンスが起動 • 一定時間未使用ならば自動的にインスタンス停止
AWS Cloud 32 IncrediBuild Cloud IncrediBuild Agent 開発用PC ビルド指示を出す ビルド処理待ち
Coordinator Helper Agent
AWS Cloud 33 IncrediBuild Cloud IncrediBuild Agent 開発用PC ビルド指示を出す ビルド中
Coordinator Helper Agent
34 ビルド用マシンのEC2インスタンス スポットインスタンスも利用可能 • 2種類のEC2インスタンスが利用可能 利用タイミング 料金について オンデマンド インスタンス •
常時利用可能 • EC2停止中でも料金が発生 スポット インスタンス • 必要な時のみインスタンスを 確保して利用 • オンデマンドインスタンスより安価 • 利用不可の場合もありえる
35 IncrediBuildの利用形態
36 利用形態は選択可能 • オンプレミス • ハイブリッドクラウド • フルクラウド
Office 37 オンプレミス IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルドの介在役
ビルド指示を出す すべてのPCが同一ネットワーク上にある ビルド実行部隊 IncrediBuild Agent
Office 38 ハイブリッドクラウド Coordinator ビルド実行部隊 HelperAgentのみがEC2インスタンスで構築 AWS Cloud Helper Agent
ビルド指示を出す ビルドの介在役 IncrediBuild Agent 開発用PC IncrediBuild Agent
AWS Cloud 39 フルクラウド IncrediBuild Agent Coordinator 開発用PC ビルド実行部隊 Coordinator、HelperAgentがEC2インスタンスで構築
Office or Home ビルドの介在役 Helper Agent ビルド指示を出す IncrediBuild Agent
AWS Cloud 40 フルクラウド IncrediBuild Agent Coordinator 開発用PC ビルド実行部隊 Coordinator、HelperAgentがEC2インスタンスで構築
Office or Home ビルドの介在役 Helper Agent ビルド指示を出す IncrediBuild Agent ボトルネック になりがち
41 フルクラウド Coordinator リモート デスクトップPC すべてEC2インスタンスを利用してボトルネック回避 Office or Home ビルドの介在役
AWS Cloud Helper Agent ビルド指示を出す IncrediBuild Agent 開発用PC ビルド実行部隊
42 デモ
43 まとめ
44 まとめ ビルド時間を短縮することが可能 浮いた時間をゲームの質向上へ当てる 幅広い開発環境をサポート プログラマ、アーティストが恩恵を受けられる クラウドを利用した環境構築が可能 さまざまな運用形態が可能
45 AWS様のセッション紹介 AWSの知識ゼロでバックエンド機能を構築する AWS GameKit 8月24日(水) 16:40 ~ 17:10 他2セッション
46