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.2k
ビルド待ちがぐっと短くなる!ビルド高速化サービス IncrediBuildのご紹介
CEDEC 2022にて発表した内容です
クラスメソッド 出村成和
August 25, 2022
Tweet
Share
More Decks by クラスメソッド 出村成和
See All by クラスメソッド 出村成和
ソーシャルゲームの負荷試験 ご紹介
cmdemura
0
1.3k
AWSとCPUのムフフな関係
cmdemura
0
1.2k
Other Decks in Programming
See All in Programming
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.3k
2025.01.17_Sansan × DMM.swift
riofujimon
1
230
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
140
php-conference-japan-2024
tasuku43
0
410
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
290
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
410
Flatt Security XSS Challenge 解答・解説
flatt_security
0
660
ドメインイベント増えすぎ問題
h0r15h0
2
550
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
140
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
690
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
910
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Being A Developer After 40
akosma
89
590k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Code Reviewing Like a Champion
maltzj
521
39k
How GitHub (no longer) Works
holman
312
140k
The Invisible Side of Design
smashingmag
299
50k
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