game dev on aws...パッケージング(ue4 sample, paragon:agora) 24 自動テスト 4...
TRANSCRIPT
Game Dev on AWSゲーム開発環境のクラウド化によるベネフィット
シリコンスタジオ株式会社
テクノロジー事業本部 プロジェクト管理部副部長 兼 営業企画部副部長
向井亨光氏
アマゾンウェブサービスジャパン株式会社
Amazon Game Services & Studios Japan Engineering Manager
下田純也
冒頭に…これまでの開発パイプライン
エンジニアの皆さんはよくご存知だとは思いますが
プロデューサーさん・ディレクターさん目線だとどうでしょう?
• エンジニアさんが、なんか凄いの組んでるけど…
• もっと後押ししてあげることで高速なイテレーションによる品質向上、安定したリリース、さらにコスト削減の可能性
アーティストさん・デザイナーさん目線だとどうでしょう?
• なんか凄いのが社内にあるのは知ってるけど…
• 夜中にせっせとビルドしてくれていて翌朝には出来上がっているアレだよね
• でも、実は翌日まで待たなくてもすぐにビルドできるようになる可能性がある事ご存知ですか?
まずは開発パイプラインについて質問
• パイプラインは自動化されていますか?
• どの段階まで自動化されていますか?
• ソースコードのビルド
• コード周りのテスト
• アセットのビルド
• ステージのライティング
• パッケージング
• 実行環境のテスト
• どなたが管理・運営されていますか?
• お一方だったり、他の誰も手を出せない状態になっていませんか?
想像してみてください
ビルドマシンが言うことを聞かなかくなった時
バージョン管理システムが
・壊れた時
・容量が溢れた時
ビルドやパッケージングのリクエストが激増した時
Packaging!Build!
Build!
😰 😨
復旧をマシン調達から行う場合完全復旧までに数日かかる可能性も…
ゲームビジネスのトレンド
• コンソール:パッケージ売り切りモデルでなく、サービスモデルへの移行が始まっている
• モバイル:サービスモデルの開発・運営現場ではプロジェクトが大規模化・複雑化してきている
• どちらもエンジニアは不足気味
• エンジニアを増員せずに解決する方法は?• 開発パイプラインの効率化・高速化・省力化が急務
Before
ビルドマスター😔:前の人のビルドが終わるまでお待ちを…
😔 Nightlyビルド明けまでお待ちを…
コリジョン
プログラム
直したから
テストした
い!
街A変更し
たからビル
ドしてテス
トしたい!
森B変更し
たからビル
ドしてテス
トしたい!
After
ビルドマスター😊:いつでも実行して良いですよ!ふふふふっ、実はチームページのボタンからも実行できますよ!
コリジョンプログラム直したからテストしたい!
街A変更したからビルドしてテストしたい!
森B変更したからビルドしてテストしたい!
海C変更したからビルドしてテストしたい!
エネミープログラム直したからテストしたい!
開発パイプラインのクラウド化による利点
Cloud
• 俊敏性
• スケーラビリティ
• 可用性(物理的なトラブルやメンテナンスからの開放)
AWS Step Functions:
• AWS CodePipeline:フルマネージド CI/CD
• AWS CloudFormation:容易にパイプラインをコピー
• Amazon EC2:Spot Instance/GPU instance
• AWS Device Farm:デバイステスト (iOS/Android)
• Amazon WorkSpaces:セキュアなVDI
3rd Party tools
• Perforce on AWS
高パフォーマンスVCS
• IncrediBuild on AWS
並列化ソリューション
AWS Device Farm
アーキテクチャ図中のAWSのサービス群のご紹介
AWS Step Functions
AWS Step Functions では、AWS の複数のサービスをサーバーレスのワークフローに整理できるため、すばやくアプリケーションをビルドおよび更新できます。Step Functions を使用すると、AWS Lambda やAmazon ECS などのサービスをつなげて機能豊富なアプリケーションにまとめるワークフローを設計して実行できます。
AWS CodePipeline
AWS CodePipeline は完全マネージド型の継続的デリバリーサービスで、素早く確実性のあるアプリケーションとインフラストラクチャのアップデートのための、パイプラインのリリースを自動化します。CodePipeline は、お客様が定義したリリースモデルに基づき、コードチェンジがあった場合のフェーズの構築、テスト、デプロイを自動化します。
AWS CloudFormation
AWS CloudFormation は、クラウド環境内のすべてのインフラストラクチャリソースを記述してプロビジョニングするための共通言語を提供します。CloudFormation では、シンプルなテキストファイルを使用して、あらゆるリージョンとアカウントでアプリケーションに必要とされるすべてのリソースを、自動化された安全な方法でモデル化し、プロビジョニングできます。
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) は、安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービスです。ウェブスケールのクラウドコンピューティングを開発者が簡単に利用できるよう設計されています。
AWS Device Farm
AWS Device Farm はアプリケーションテストサービスです。複数のデバイスで Android/iOS 向けのアプリケーションやウェブアプリケーションを一度にテストするおよび操作することや、あるデバイスでの問題をリアルタイムで再現することができます。アプリケーションをリリースする前に、動画、スクリーンショット、ログ、パフォーマンスデータを確認し、問題を特定、修正して、品質を向上させます。
Amazon WorkSpaces
Amazon WorkSpacesはマネージド型で、セキュアなクラウドベースのデスクトップサービスです。Amazon WorkSpacesを使うと、Windows または Linux のデスクトップが数分でセットアップでき、すばやくスケールすることで世界中のたくさんの従業員にデスクトップを提供できます。
開発パイプラインをクラウド化することで
大規模プロジェクトの高効率開発
• 大規模で複雑になってしまう開発環境をシンプルにクラウド化・自動化
• 並列動作させ高効率化
• これらを柔軟に組み合わせられる
設備投資を抑えた多拠点開発
• 拠点間をクラウド上の開発パイプラインをハブに接続
• 外部の開発会社もセキュアに開発参加
• テストチームやテスト会社ともクラウドで接続
テストの自動化品質向上とコスト
• テストの自動化・クラウド化をすることでクランチ時等突然のテスト増加にも即座に大量に並列テスト
• 仮にテスターさん費用で試算時給1500円 x 8時間 x 20日 x
100人 = 2400万円
まずは効果を証明する必要がある
• PoC (Proof of Concept) を実施「新たなコンセプトの実現性や効果を証明するための検証」
• シリコンスタジオ株式会社
• AWS Partner Networkの会員様
• 自社でゲームエンジンの開発もされていて、ゲームエンジンにも詳しくゲーム開発パイプラインにも精通されている方々が多数在籍
ゲーム開発パイプラインの課題
• プロジェクトの規模の拡大
• 複雑でメンテナンスも大変になる
• 規模拡大に伴う複数拠点化や外部との連携へのニーズ
大規模化するプロジェクト
• プロジェクトの大規模化によるコードのビルドやアセットのビルド時間増大と労力増
• プロジェクト毎に1つしかないパイプライン
ビルドパイプラインに費やされる時間と労力
• 品質を高めるためのテストの時間が増大している
• テストの人員を増やすにも限界がある
テストの手間の増大
ゲーム開発パイプラインのクラウド化の目的
• 開発中のビルドにかかる時間やテストにかかる手間をコンピューティングリ
ソースのスケール・並列化削減
• 開発者はクリエイティブな活動に集中でき、作品の質を高める事に注力可能
となる
開発者の時間はクリエイティブな仕事に注力
• ビルや開発機器への設備投資を抑えつつ
• 開発拠点の拡大やグローバル展開が可能となる
設備投資を抑えつつ、拠点拡大、グローバル展開
ゲーム開発パイプラインのAWS化全体像• クラウド上にスケール・並列化することで開発パイプラインに費やされる時間と労力を削減
既にいくつかの検証を進めています1. Game development Pipelines on AWS2. Perforce on AWS3. DevKit on AWS4. IncrediBuild on AWS
ゲーム開発パイプラインのクラウド化検証• 各開発パイプラインをクラウド上に並列化し時間を短縮と労力を削減
• 高パフォーマンスのAmazon EC2インスタンスに展開
• これをスケール・並列化する
AWS Cloud
VPC
EC2 instance contentsEC2 instance contents
EC2 instance contentsEC2 instance contents
EC2 instance contentsEC2 instance contents
x Platforms x Levels x n
Auto QA Test
Auto QA Tests(Hundreds of Minutes)
EC2 instance contentsEC2 instance contents
EC2 instance contentsEC2 instance contents
x Platforms x Levels
Packaging
Pacaging(Hundreds of Minutes)
EC2 instance contentsEC2 instance contents
EC2 instance contentsEC2 instance contents
x Platforms x Levels
Bake
Bake Lights & Shadows(Hundreds of Minutes)
EC2 instance contentsEC2 instance contents
x Platforms
Shader
Shader Compile(Dozens of Minutes)
EC2 instance contentsEC2 instance contents
x Platforms
Compiler / IDE
Build(Dozens of Minutes)
VCS(Version Control System)
• Perforce• Git• Subversion• Mercurial• Etc
Version Control System
EBSVolume
Snapshot
Source Code Shaders Baked Maps Package Files Release Data
開発パイプラインをEC2上に構築してみて得られた知見
• 多コアのハイスペックインスタンスだと単体でも高速ビルドできる
• 開発パイプラインを組み合わせて柔軟にスケール・並列化できる
• 大量の自動テストも並列化できる
1つのサンプルステージのトータルビルド時間
各パイプラインハイスペックEC2インスタンス
(単位:分)
ソースコードのコンパイルRebuild.bat -Target="ShaderCompileWorker Win64 Development“
-Target="UE4Editor Win64 Development" -WaitMutex -FromMsBuild 8シェーダーコンパイル
UE4Editor.exe "%~dp0MyProjects\Paragon_Agora\Paragon_Agora.uproject“
-run=DerivedDataCache -fill 53
ベイク (UE4 sample, Paragon:Agora) 58
パッケージング (UE4 sample, Paragon:Agora) 24
自動テスト 4
トータルのビルド時間 147
実際の検証に関して
シリコンスタジオ株式会社によるゲーム開発環境のクラウド化PoC
シリコンスタジオ株式会社
テクノロジー事業本部 プロジェクト管理部副部長 兼 営業企画部副部長
向井亨光
シリコンスタジオの紹介
設立 1999年11月
上場 東証マザーズ(2015年2月23日)
本社所在地 東京都渋谷区恵比寿1-21-3
資本金 439百万円(2018年11月末現在)
連結従業員数 229名(2018年11月末現在)
関係会社イグニス・イメージワークス株式会社
株式会社イリンクス
なぜシリコンスタジオなのか
• ゲーム開発環境 自社ゲームエンジン・ミドルウェア開発ゲーム開発サポートによるゲーム開発のノウハウゲーム開発環境構築支援経験
• 受託開発 ゲーム開発向け各社ツール開発、カスタマイズ他多種受託開発経験
• ネットワーク サーバ仕様設計から構築運営までオンラインサービス経験※APNセレクトテクノロジーパートナー
シリコンスタジオのミドルウェア製品群
シリコンスタジオの受託開発実績
• 大手プラットフォーマー様開発環境への技術提供
• 大手プラットフォーマー様向け3Dグラフィックス技術支援
• 機械学習向け教師データ作成・作成アプリケーション開発
• 自動車会社様向けカーコンフィギュレータ開発
シリコンスタジオのオンラインサービス
• サーバープログラム開発から運用まで
• ゲームのサーバー仕様設計構築から最適化まで
• APNセレクトテクノロジーパートナー
• AWS上での環境構築実績
今回のPoCの概要紹介
• PoCの作業範囲• Compiler / IDE ~ Auto QA Test まで
• 作業内容• AWSの必要インスタンスの準備・設定
• 開発パイプライン各項目の検証データ準備と速度計測
• すべての作業手順を記載した手順書の作成、作業データの保存
Compiler / IDE
• ソースコードのテストターゲット• Unreal Engine 4.22 のソースコード
• ソースコードをリビルドさせる時間を計測
• 並列化環境(比較対象)• IncrediBuildによる並列化
• FASTBuildによる並列化• Unreal Engine 4.22 のソースコードをFASTBuild対応させ計測
• ハイスペックEC2インスタンス(r5.24xlarge)を使用
Compiler / IDE
19
1210 10 10
76 6 6 6
28
2120
1817
8
8 16 32 48 96 144 192 240 288 336r5.12xlarge + IncrediBuild r5.12xlarge + FASTBuild r5.24xlarge
処理時間(分)
スレッド数
28分
6分
Compiler / IDE(参考資料)
UE4_main\
├UnrealEngine-4.22\
├UnrealEngine-4.22_FBuild¥ FASTBuild検証用ソースコード
├MyProjects\
├CompilerIDE\
│ ├ CompilerIDE.bat ソースリビルドバッチファイル
│ └ CompilerIDE_FBuild.bat FASTBuild構築済みソースリビルドバッチファイル
└ common\
└ timersub.bat 時間計測用バッチファイル
call ..\common\timersub.bat STARTcall ..\UnrealEngine-4.22\Engine\Build\BatchFiles\Rebuild.bat -Target="UE4Editor Win64 Development" -WaitMutex -FromMsBuildcall ..\common\timersub.bat STOPpause
• 検証で準備したパッケージ構成
• 検証で使用したバッチファイル( CompilerIDE.bat )の中身
Shader
• シェーダーのテストターゲット• Unreal Engine 4.22のサンプル Paragon Agoraのシェーダー
• シェーダーをリコンパイルする時間を計測• シェーダーコンパイル時に生成されるキャッシュ“DeriverdDataCache”を明示的に消去し、リコンパイルを実施
• 並列化環境(比較対象)• IncrediBuildによる並列化
• FASTBuildによる並列化
• ハイスペックEC2インスタンス(r5.24xlarge)を使用
Shader
60
50 48 48 48 47 47
53
48 96 144 192 240 288 336r5.12xlarge + IncrediBuild r5.24xlarge
処理時間(分)
スレッド数
60分
47分
Shader(参考資料)
UE4_main\
├ UnrealEngine-4.22\
│ └ Engine\
│ └ DerivedDataCache\
├ MyProjects\
│ ├ LandscapeMountains\
│ │ └ LandscapeMountains.uproject
│ ├ ThirdPersonSample\
│ │ └ ThirdPersonSample.uproject
│ └Paragon_Agora\
│ └ Paragon_Agora.uproject
├ Shader\
│ ├ Shader_LandscapeMountains.bat シェーダーリビルドバッチファイル
│ ├ Shader_ParagonAgora.bat
│ └ Shader_TPS.bat
└ common\
└ timersub.bat 時間計測用バッチファイル
• 検証で準備したパッケージ構成• Paragon Agora以外のサンプルも今回のPoCで計測
if exist "..\UnrealEngine-4.22\Engine\DerivedDataCache" (
echo DerivedDataCacheExist
rd ..\UnrealEngine-4.22\Engine\DerivedDataCache /s /q
)
call ..\common\timersub.bat START
..\UnrealEngine-4.22\Engine\Binaries\Win64\UE4Editor.exe
"%~dp0..\MyProjects\LandscapeMountains\LandscapeMountains.uproject" -
run=DerivedDataCache -fill
call ..\common\timersub.bat STOP
pause
• 検証で使用したバッチファイル( Shader_LandscapeMountains.bat )の中身
Bake
• ライトマップベイクのテストターゲット
• Unreal Engine 4.22のサンプル Paragon Agora に対するライトマップベイク
• 並列化環境(比較対象)
• Swarmによる並列化
• Coodinatorにg3s.xlarge、Agentにr5.12xlargeを使用
• GPU搭載ハイスペックEC2インスタンス(g3.12xlarge)を使用
*Unreal Engine 4.22 において、ベイク処理後にGPUへのアクセスがあるため –NullRHIオプションが使用できない(ホストとしてはGPUを持つg3インスタンスが必要)
Bake
処理時間(分)
スレッド数
65
39
3026
23 22
58
52 64 100 148 196 244 292g3s.xlarge + r5.12xlarge + swarm g3.12xlarge
65分
22分
Bake(参考資料)
UE4_main\
├ UnrealEngine-4.22\
├ MyProjects\
├ Bake\
│ ├ Bake_InfinityBlade.bat
│ ├ Bake_LandscapeMountains.bat
│ ├ Bake_ParagonAgora.bat
│ ├ Bake_SoulCity.bat
│ └ Bake_TPS.bat
└ common\
└ timersub.bat 時間計測用バッチファイル
• 検証で準備したパッケージ構成
• Paragon Agora以外のサンプルも今回のPoCで計測
call ..\common\timersub.bat START
..\UnrealEngine-4.22\Engine\Binaries\Win64\UE4Editor-Cmd.exe
"%~dp0..\MyProjects\LandscapeMountains\LandscapeMountains.uproject" -
run=resavepackages -buildlighting -allowcommandletrendering -
map=LandscapeMap.umap
call ..\common\timersub.bat STOP
pause
• 検証で使用したバッチファイル(Bake_LandscapeMountains.bat)の中身
Enlighten
• Enlightenのプリコンピュート性能をAWS上で計測
• ターゲットはEnlightenのサンプル Large world
• 並列化環境
• IncrediBuildによる並列化
Enlighten
103
55
3832
27 24 23 22 22
48 96 144 192 240 288 336 384 432r5.12xlarge + IncrediBuild
処理時間(分)
スレッド数
103分
22分
Enlighten(参考資料)
UE4_main\
├UnrealEngine-4.22_Enlighten
│ ├ Engine\
│ ├ EnlPrecomp\
│ └ EnlightenProjects\
│ └ LargeWorldEnlighten\
│ └ LargeWorldEnlighten.uproject
├ Bake_Enlighten
│ └ EnlightenPrecompute.bat
│ Enlighten(UE4.22.0)のライティングリビルドバッチファイル
└common\
└ timersub.bat 時間計測用バッチファイル
• 検証で準備したパッケージ構成
if exist "..\UnrealEngine-4.22_Enlighten\EnlPrecomp" (
echo EnlPrecompExist
rd ..\UnrealEngine-4.22_Enlighten\EnlPrecomp /s
)
call ..\common\timersub.bat START
..\UnrealEngine-4.22_Enlighten\Engine\Binaries\Win64\UE4Editor.exe
"%~dp0..\UnrealEngine-
4.22_Enlighten\EnlightenProjects\LargeWorldEnlighten\LargeWorldEnlighten.up
roject" -run=EnlightenPrecompute LargeWorld_Main -
AllowCommandletRendering -AutoCheckOutPackages -NullRHI
call ..\common\timersub.bat STOP
pause
• 検証で使用したバッチファイル(EnlightenPrecompute.bat)の中身
Packaging
• パッケージングのテストターゲット
• Unreal Engine 4.22のサンプル Paragon Agora
• 並列化環境
• GPU搭載EC2インスタンスにおけるCore数差での比較を実施
Packaging
106
42
24
16 32 64g3.4xlarge g3.8xlarge g3.16xlarge
処理時間(分)
スレッド数
106分
24分
Packaging(参考資料)
UE4_main\
├ UnrealEngine-4.22\
├ MyProjects\
│ ├ InfinityBlade\
│ | └InfinityBlade.uproject
│ ├ LandscapeMountains\
│ | └ LandscapeMountains.uproject
│ ├ ParagonAgora\
│ | └ParagonAgora.uproject
│ ├ SoulCity\
│ | └SoulCity.uproject
│ ├ ThirdPersonExample\
│ └ThirdPErsonExample.uproject
├Packaging\
│ ├ Packaging_InfinityBlade.bat パッケージングバッチファイル
│ ├ Packaging_LandscapeMountains.bat
│ ├ Packaging_ParagonAgora.bat
│ ├ Packaging_SoulCity.bat
│ └ Packaging_TPS.bat
└common\
└ timersub.bat 時間計測用バッチファイル
• 検証で準備したパッケージ構成• Paragon Agora以外のサンプルも今回のPoCで計測
call ..\common\timersub.bat START
..\UnrealEngine-4.22\Engine\Binaries\DotNET\AutomationTool.exe
BuildCookRun -
project="%~dp0..\MyProjects\LandscapeMountains\LandscapeMountains.up
roject" -noP4 -platform=Win64 clientconfig=Shipping -serverconfig=Shipping -
cook -allmaps -stage -pak
call ..\common\timersub.bat STOP
pause
• 検証で使用したバッチファイル( Packaging_LandscapeMountains.bat )の中身
Auto QA Test
• オートテストのテストターゲット
• 本PoC用に新規作成した検証用プロジェクト
• テストするステージを16準備
• 各ステージでダミーのテストを実施
• ステージ毎に一定時間の処理が入るようなものとした
• 並列化環境
• GPU搭載EC2インスタンスに分散させて計測
• Auto QA Testはグラフィカルな処理も想定されるためg3インスタンスを使用
Auto QA Test17
9
6
4
4 8 12 16g3s.xlarge
処理時間(分)
スレッド数
17分
4分
Auto QA Test(参考資料)
UE4_main\
├ UnrealEngine-4.22\
├ MyProjects\
│ └AutomationTest\
│ └AutomationTest.uproject
├AutoTest\
│ ├AutoTest_NodeX.bat 自動化テストの分散処理を命令
│ ├base_cmd.txt 自動化テストコマンドが記載されているテキストファイル
│ └ simple_svr.bat 各ノードで実行させるためのバッチファイル
└common\
└ timersub.bat 時間計測用バッチファイル
• 実行の流れ• 親ノードから各処理用ノードにテストを振り分けて処理命令
• 分散用の仕組みを作って対応
• 検証で準備したパッケージ構成
今回のPoCで分かったこと
• 手軽に並列化できるハイスペックEC2インスタンス• ノード分散を考慮せず96Threadsで動作可能
• インスタンスのクローン機能が有用
• ゲームプラットフォーム毎の開発環境もクローンで簡単に作成
• デスクトップ環境としてのGPU搭載EC2インスタンスが有用
• Unreal Editorなどはストレスなく使用可能
今後さらに検証できること
• Auto QA Test
• ステージ単位以上に分散
• CPUしか使わない自動テストをr5インスタンスで実施
• AIを使ったAuto QA TestのAWS上での動作検証
• GPGPUが可能なp2, p3, g3, g4インスタンスを活用した開発パイプラインの検証
• イテレーション検証
• “アセット更新 → ベイク”などで発生するデータ転送含めたパフォーマンスの検証
効率的な開発環境を目指すために
• 実開発環境でPoCを実施• 実データに最適なノード構成の検証
• 開発パイプラインボトルネックの確認と改善
• 効率化のための環境(ツール等)の構築
AWS様と一緒に最適なソリューションを提供させていただきます
是非お問い合わせください!
siliconstudio.co.jp
他にもいくつか関連するPoCを進めています
Perforce on AWS
• Perfoce社とAWSとの協力でウェビナーやドキュメントをリリースしています
• How To Deploy Helix Core on AWS
https://www.perforce.com/webinars/vcs/how-deploy-helix-core-aws
• 日本でも独自にPoCを行った結果なかなか興味深い結果が出ました
• Perforce Proxyにより
• 速度向上
• 転送コスト削減
• 並列化オプションにより
• クラウド経由でもオンプレと遜色ない速度を実現
• この結果を元にPerforceのAWS上への構築の支援もできますのでご相談を
Perforce Proxyと並列化オプションPerforce Proxyを利用しsync/submitを4GBのファイル群でテスト (1GBのUE4ソース群 + 3GBのUE4アセット)
sample assets).
PerforceのP4Dから100GBのデータをP4Pへインターネット回線経由で転送を30日行った場合月間 3,000GB (3TB)
この場合の月間データ転送コストは 3,000GB * $0.114 = $342※2019/9/4現在の東京リージョンでの価格
Direct Connect (東京)1GB port 24H * 30day * $0.285 = $205.2/mo
3,000GB * $0.0410 = $123
Threads
Sync in same region
(second)
Sync Tokyo – Osaka
(second)
Commit in same region
(second)
Commit Tokyo – Osaka
(second)
1 551 702 188 220
4 165 285 62 40
16 105 130 41 45
Sync command:
• p4 -q sync -f //depot/...
• p4 -q sync -f --parallel=threads=4 //depot/...
• p4 -q sync -f --parallel=threads=16 //depot/...
Commit command:
• p4 -q submit -d test -f submitunchanged
• p4 -q submit -d test -f submitunchanged --parallel=threads=4
• p4 -q submit -d test -f submitunchanged --parallel=threads=16
Unity開発のクラウド活用にもご興味あります?
•現在PoCを計画中です!• コードのビルド
• AssetBundle
• 他にも気になるところはありますか?
まとめ
パイプラインのAWS化ソリューションの利点①
パイプライン 自動化可能な柔軟で高速な開発パイプライン
デプロイ短時間でデプロイ可能になることで、将来のサービスモデルへの移行に対応
ベイクライトマップやシャドウマップのベイク時間も短縮でき( Unreal Swarm/Lightmass)更に複数インスタンスですく数のステージを同時にベイクも可能
パッケージングパッケージング(Unreal Engineのクック)プロセスも多コア高パフォーマンス EC2インスタンスを利用して高速化
パイプラインのAWS化ソリューションの利点②
管理ビルドプロセス全体の容易な管理と自動化。デプロイやテスト、さらにはバックエンドへの接続まで一貫して管理可能。
俊敏性 必要な時に瞬時にインスタンスを立ち上げられる
スケーラビリティ テスト等もスケーラブルなAWSで大量に展開可能。
QA自動テストやプレイ内容をGインスタンス上で実行し、ビデオデータとして残す事も可能。
高速なVCS
VCSでのソースの共有も高速回線で繋ぎつつ、並列化させ、さらにスタジオ毎にProxyを建てることで開発パイプラインとのも高速に同期
複数拠点化
このパイプラインをAmazon VPC上に構築しDirect ConnectやSite to Site VPNを利用することで、開発拠点をクラウド上に拡張。そこにAmazon WorkSpacesで外部からセキュアに接続。
Pipelineを自由に組み合わせて呼び出せる柔軟性
• 各パイプラインをCloudFormationでのテンプレート化や、CodePipeline等から自由に組み合わせて呼び出したり、複数並列で起動したりできる.
• これまでのオンプレのパイプラインだと、プロジェクト毎に1つ、かつドキュメント化されていなかったり…これをシンプルにし並列でビルドさせたりもろもろできるようになる。
• .
ありがとうございます!Thank you!
導入のご相談やシリコンスタジオ様のご紹介等このロゴのパーカーを着たスタッフにお気軽にお声がけください