O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)

2.358 visualizações

Publicada em

2018/12/04に開催されたAmazon Game Developers Dayの登壇資料です。

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)

  1. 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 下田純也 アマゾンウェブサービスジャパン株式会社 2018/12/4 ゲーム開発環境を向上させるための AWS活用術 ~Game Development on AWS~
  2. 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本日のアジェンダ • 大規模化するプロジェクトにおける課題 • バージョン管理システムのクラウド化 • 開発パイプラインのクラウド化 • 複数拠点展開とセキュリティ
  3. 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 大規模化するプロジェクトにおける課題 • ビルドパイプラインに費やされる時間の増大 • ビルドに数十分、パッケージングに数時間等かかる場合も • チームの分散・拡大への対応 • チームの分散拡大を進めたいが、オンプレでは難しい • オンプレミスのVCSやビルド環境では必要に応じたスケーリングができない • さらなるクラウド活用とセキュリティ • チーム規模と外部開発者の拡大に伴い、IPセキュリティが低下する
  4. 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ビルドパイプラインに費やされる時間 • 最近の傾向、こんな感じではありませんか? • ビルドに30分 • ライトのベイクに2時間 • パッケージングに4時間 • 数時間後に… • ビルドエラーが発覚! • 数時間費やしたが何もできていない…
  5. 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ゲーム開発パイプラインのクラウド化 海外ではすでに大規模ゲーム会社様の開発環境の クラウドへの移行が始まっています。 - 開発環境、レンダリング, エンジン… - ビルド (イテレーションにかかる時間と労力を削減) - アセットの保管/Machine Learning 画像認識による 管理・活用
  6. 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 一般的な開発環境 • オフィス内に全て集約 • サーバー • クライアントPC • 開発者 office building PC Clients DCC tools Compiler/IDE Level editor etc. Source Files 3D Assets 2D Assets Levels (maps) workers On-Premises Storage servers Build servers
  7. 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. オンプレでの開発パイプライン • メリット • ローカルネットワーク内では素晴らしいネットワークパフォーマンスを発揮 できる • コストの予測が容易 • デメリット • ハードウェアの購入・インストール・メンテナンスの必要がある • ローカルネットワークのパフォーマンスはリモートオフィスや外部連携チー ムには提供できない • コストは先行投資しなければならない
  8. 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. クラウドでの開発パイプライン • メリット • 急激なスパイク等の場合でも必要に応じて即座にスケールできる (急なバイナリビルドの必要性等) • リモートオフィスや外部連携のインフラ構築が容易 • VDIでIPセキュリティも担保できる • 利用分だけにコストがかかる • 低コストなSpot Instanceも適用可能 • デメリット • オンプレとクラウドの混在によりネットワークパフォーマンスを出しづらい • トータルのコストが予想しにくい
  9. 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. クラウドでの開発パイプラインを支えるソリューション AWSによく展開される 開発環境 並列化 ストレージ ワークステーション AWS services Version Control • AWS CodeCommit Continuous Ingegration • AWS CodePipeline Compute Tasks • Amazon EC2 • Amazon ECS • Amazon EKS Render Farm • AWS Thinkbox Storage • Amazon S3 • Amazon CloudFront Cache • Amazon ElastiCache Backup • Amazon Glacier VDI • Amazon WorksSpaces Non AWS services Version Control • Git+LFS • Perforce Continuous Integration • Jenkins • ElectricCommander Compute Tasks • IncrediBuild • SN-DBS • UE4 Swarm+Lightmass Render Farm • Deadline
  10. 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. バージョン管理システムのクラウド化
  11. 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. バージョン管理システムのクラウド化 VCSをクラウド化することで • 複数拠点への展開が可能となる • さらに開発パイプラインのクラウド化が見えてくる
  12. 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. バージョン管理システムのクラウド化(Perforceの例) Perforce Proxyを 拠点毎に設置することで 複数拠点での開発でも • 転送コストを抑えつつ • 高速なSyncが可能 Western building workers Easternn building workers Perforce Proxy Perforce Proxy Perforce Server
  13. 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 開発パイプラインのクラウド化
  14. 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 開発パイプラインをクラウド化することで • クラウドのスケーリング効果を活かしたパイプライン • 並列ビルド等による時短効果
  15. 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 開発パイプラインをクラウド化することによるメリット 各パイプラインを並列化して、ビルドパイプラインに費やされる 時間を短縮できる Version Control System Repository • CodeCommit • Perforce • Git • SVN VCS Platforms Shader Compile (Dozens of Minutes) Shader Binary Shader Platforms Engine Build (Dozens of Minutes) Engine Compiler/IDE Engine Source Levels Bake Light & Shadow (Hundreds of Minutes) Baked maps Bake Platforms x Levels Packaging (Hundreds of Minutes) Baked maps Packaging Platforms x Levels x N Auto QA Test (Hundreds of Minutes) Baked maps Auto QA Test
  16. 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSにおけるコンピューティングの考え方 1台で10時間 10台で1時間 10時間のビルド 1時間の ビルド +9時間の開発時間 $1.07 x 10台 x 1時間 = $10.7 $1.07 x 1台 x 10時間 = $10.7 = クリエイティブな仕事に費やせる時間増 c5.large c5.large
  17. 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ビルド環境のクラウド化により • 複数プラットフォームの並行ビルド • IncrediBuildやSN-DBS等も 併用いただくことで 単体のビルドも更に高速化 Version Control System Repository • CodeCommit • Perforce • Git • SVN VCS Platforms Engine Build (Dozens of Minutes) Engine Compiler/IDE Engine Source
  18. 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンパイル・パッケージング等の並列化ソリューション IncrediBuildさんのGTMF2018登壇資料より引用 https://www.slideshare.net/GTMF/incredibuild90-gtmf-2018-osaka
  19. 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. シェーダーコンパイルのクラウド化 • 複数プラットフォームの並行コンパイル • IncrediBuildやSN-DBS等も 併用いただくことで 単体のビルドも更に高速化 Version Control System Repository • CodeCommit • Perforce • Git • SVN VCS Platforms Shader Compile (Dozens of Minutes) Shader Binary Shader
  20. 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ライトのベイクやパッケージングのクラウド化と並列化 • ベイクを複数レベル平行で • パッケージングを複数レベル×複数プラットフォーム平行 Version Control System Repository • CodeCommit • Perforce • Git • SVN VCS Platforms x Levels Bake Light & Shadow (Hundreds of Minutes) Baked maps Bake Platforms x Levels Packaging (Hundreds of Minutes) Baked maps Packaging
  21. 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 自動テストのクラウド化・並列化 • 自動テストのクラウド化・並列化 • 複数のテストを同時に! 例:ステージ数×テストパターン 10分テスト×10ステージ×10パターン=1000分 (約16時間) 10ステージ×10パターン → 100台にスケール 10分で完了! Version Control System Repository • CodeCommit • Perforce • Git • SVN VCS Platforms x Levels x N Auto QA Test (Hundreds of Minutes) Baked maps Auto QA Test
  22. 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. クラウドの導入 • 自動テストのクラウド化・並列化 • 複数のテストを同時に! 例えば、ステージ数×テストパターン 10分テスト×10ステージ×10パターン=1000分(約16時間) 10ステージ×10パターン → 100台にスケールすれば 10分で完了!
  23. 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 既にゲーム開発へのAWS活用が始まっています • Perforceは AWSをサポートしています • “Perforce P4D instances and Licensing in Amazon's Cloud” https://community.perforce.com/s/article/3202 • “Exporting a Helix Cloud Project to a standalone Helix Server (full revision history)” https://community.perforce.com/s/article/15226 • Epic GamesのAWSへの全面的な活用 • 大規模開発エコシステムや、UE4とAWSのクラウド開発への協業 から得られる技術要件とても良い参考例となります
  24. 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Unreal Engine 4 • Unreal Developer Forum • “Use of AWS (Amazon Web Services) to Build Lightmass” https://answers.unrealengine.com/questions/255320/use-of-aws-to-build-lightmass.html • “Running the editor in the cloud?” https://answers.unrealengine.com/questions/370667/running-the-editor-in-the-cloud.html • Running Editor on G2 instance, UnrealPak.exe on T2 instance. • Note: Amazon WorkSpaces launched G3 instances in October 2018. • reddit • “Recommended CPU type for building a Swarm machine?” https://www.reddit.com/r/unrealengine/comments/4ouci9/recommended_cpu_type_for_b uilding_a_swarm_machine/
  25. 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 並列化することによる効果の非常に高いパイプライン • ソースコードのコンパイルと実行ファイルのビルド • 数十分 -> 数分(IncrediBuildやSN-DBS) • 全てのプラットフォームを同時並行でビルド可能となります • シェーダーコンパイル • 数十分 -> 数分(IncrediBuildやSN-DBS) • 全てのパッケージを同時並行でコンパイル可能となります • パッケージング • 数百分 -> 半分(IncrediBuildやSN-DBS) • パッケージングは大量のアセットの参照がストレージに対して行われるので、第5世代インスタンス(C5, M5 等)によりパフォーマンスが大きく向上します • さらに、全てのプラットフォームのビルドの並列化、全てのエリア・レベルの並列化が可能となります • ライトマップとシャドウマップのベイク • 数百分 -> 半分(UE4 Swarm+Lightmass) • さらに、全てのマップを同時平行でベイク可能となります • テストやQAの自動化 • 全てのテストを同時平行で走らせる事が可能となります (テストに依存関係がある場合を除く)
  26. 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. パフォーマンスを最大化するために全てをクラウド化 • ゲームはとても大きなプロジェクトになります • 開発者<->VCS<->ビルドと書き戻しのための転送はネットワークパ フォーマンスがボトルネックとなります • 全てをデータセンターで完結させることで、最大限のネットワークパフォー マンスが得られます • 第5世代のEC2インスタンスを活用することで、ネットワークとストレージのパフォー マンスが向上します • バージョンコントロールシステム(Perforce Helix, SVN, or Git+LFS)をEC2上で • ビルド・CI(Jenkins, ElectricCommander)をEC2もしくはCodeBuildで • 全てをS3に格納 • Amazon WorkSpacesを開発に利用することでデータ流出を抑制
  27. 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 複数拠点展開とセキュリティ
  28. 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 複数拠点展開 開発パイプラインが全てクラウド化されることで 様々な開発拠点から 開発に参加可能となる
  29. 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon WorkSpacesでリモート開発 • 単純にバージョン管理システムを外部公開することで • ソースやアセットの流出の危険性が高まる • Amazon WorsSpacesでのアクセス https://docs.aws.amazon.com/ja_jp/workspaces/latest/adminguide/amazon-workspaces-networking.html • ネットワークへのアクセス制限 • リソースへのアクセス制限 • デバイスからのアクセス制限 • まずは少数で利用してセキュリティ対策を高めてください
  30. 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 将来に向けて
  31. 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSの開発パイプライン向けサービスの現在 • AWS Codeシリーズ • AWS CodeStar • AWS CodeCommit • AWS CodePipeline • AWS CodeBuild • AWS CodeDeploy • Webアプリやモバイルアプリ開発にはとても向いている • コンソールタイトル開発にも柔軟に対応できるものにしていきたい
  32. 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ゲーム開発パイプラインのクラウド化に向けて • AWS Codeシリーズを試された事はありますでしょうか? • AWS Codeシリーズの良くないポイントはどのような点でしたで しょうか? • 試された事がない場合、どの点が貴社の開発パイプライン に合いませんでしたでしょうか? • 開発パイプラインのクラウド化を進めるにあたっての障壁は どのようなものがありますでしょうか?
  33. 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 皆さんのニーズについてぜひお伺いさせてください • 例えば… • パイプライン上での課題 • 将来的に実現なさりたいこと
  34. 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ありがとうございました!

×