Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,931 views

Published on

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

Published in: Technology
  • Be the first to comment

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. ありがとうございました!

×