Amazon Web Services ブログ
AWSを使った Apocalypse Studio のクラウド移行
本ゲスト投稿では、Apocalypse Studio の創設者である Denis Dyack 氏にお話を伺います。Dyack 氏は、ゲーム開発に長く携わっており、「ケイン・ザ・バンパイア」、「エターナルダークネス 招かれた13人」、「メタルギアソリッド ザ・ツインスネークス」、「トゥー・ヒューマン」などのタイトルの開発に携わった経験があります。Dyack 氏はまた、コンピュータサイエンスの経歴を持ち、人工知能、ニューラルネットワーク、ユーザーインターフェイスの修士号を取得しています。
オンタリオ州ナイアガラに拠点を置く Apocalypse は、ゲームスタジオのスタートアップ企業です。クラウドファーストのアプローチを採用することで、ゲームのプレイ方法を変革することを目指しています。オンラインマルチプレイヤーエクスペリエンスを創造し、世界中のプレイヤーを繋げ、楽しませることを目指しています。
私はゲーム業界で 30 年以上にわたり、エターナルダークネス、メタルギアソリッド ザ・ツインスネークス、トゥー・ヒューマン など、従来のゲーム機向けタイトルに取り組んできました。その間、ゲーム業界と、ゲーム開発のために私たちが使用するテクノロジーは、劇的に変化しました。2018 年に Apocalypse Studio を創業したとき、当社は全く新しい、クラウドを見据えた視点が必要であることが分かっていました。
当社のスタジオと最初のタイトルである Deadhaus Sonata は、まさにクラウド上で構築されています。COVID-19 が広まりだした頃、当社は社内カスタムビルドサーバーを備えた従来のオフィススペースから、AWS で構築したクラウド上のスタジオに移行しました。それが非常にうまく行ったため、2020年7月中旬にオフィスを永久的に閉鎖しました。今では、従業員がリモートで無期限に快適に働けるようにサポートできるようになりました。
クラウドを理解する
クラウドはゲームに多大な経済的影響を与えました。10年以上前に私は、クラウドの社会的・経済的価値はコモディティ化により従来のプレミアムビジネスモデルよりも高くなると提言してきました。 現在、free-to-play (F2P) オンラインゲームは、世界全体のゲーム収益の 86% を占めています。
クラウドファーストの企業になるために、当社は一から取り組む必要があり、自社のエンジンから始めました。当社はソーシャルメディアと深く統合された最高品質のゲームを作るため、クラウド向けのゲームを制作したいと考えていました。当社は、サポート、コスト、機能、長期的見通しについて、あらゆるエンジンを比較しました。当社の場合これらのカテゴリを組み合わせると、Amazon Lumberyard が、その他のすべてのエンジンを上回っていました。Amazon Lumberyard を選択したことで、当社のクラウド移行を推進し成功させるのに役立ったいくつかのメリットがありました。
Amazon Lumberyard を使うことが決定した後、当社はすぐに AWS Game Tech 内の複数のグループと関係を構築しました。これらのチームと、構築プロセス、手続き型生成、ビデオゲームの未来などについて熱心に議論しました。また、当時は現実離れしていると思われた、本番プロセス全体をクラウドに移行する可能性についても議論しました。
当社のクラウドへのジャーニーの推進
話を2020年3月まで進めます。当社はサンフランシスコで開催される Game Developers Conference (GDC) に向けて準備をしていました。当社は、丁度 Deadhaus Sonata のMemento Mori を完成させたところでした。これは、生者と戦うアンデッドとしてプレイする、ストーリー性の高いアクションRPGです。その直後に、COVID-19 パンデミックに対応するために、 GDC やその他の大規模な集会が突然中止・閉鎖されました。次に閉鎖されたのは私たちのオフィスでした。
リモート接続・リモート開発のためにチームをサポートするという課題が生じたのです。すぐに対応する必要があり、検討すべきことがたくさんありました。メインの光回線ハブ装置から各住宅へのインターネット接続のラストマイルは、非常に遅く、問題が起こりやすいことで知られています。また、ゲーム開発においてはアセットが極端に多いです。非商用インターネット接続で自宅で作業することはできるのでしょうか? オフィス環境に対して、自宅での作業の生産性はどうなのでしょうか?
チームの継続性を維持するためにAWS に支援を求めました。私たちはすぐに、コードベースとゲームアセットが格納されている Git リポジトリ全体のバックアップを Amazon Simple Storage Service (S3) バケットにアップロードしました。完了までに 1週間かかりました。
同時に Amazon EC2 を使用して新しい Gitサーバーを立ち上げました。バックアップのアップロードが完了してから数時間以内に、Gitサーバーが再び稼働し始めました。これらのビルドは、以前はオフィスの LAN経由でのみアクセスできました。現在、当社のソースコードとアセットはグローバルから安全にアクセスでき、物理的なハードウェアを維持する必要はありません。
次に私たちはAWSで毎日の自動ビルドを実行する方法について議論しました。以前のソリューションでは、別の専用サーバー上でビルドを実行し、サーバーをGitサーバーと同じ部屋に配置する必要がありました。Lumberyardの自動ビルドを試すために本格的な議論が始まりました。
いくつかの方法を調査した結果、全てがAWS上で作成された、カスタムビルドのソリューションを採用しました。AWS Lambda を使用して、GitLabインスタンスで保留中のビルドジョブが無いか、定期的なポーリングを実行します。ジョブがある場合は、AWS Lambda はEC2 起動テンプレートからインスタンスを起動します。ビルドアーティファクトは Amazon S3 にアップロードされ、その後、シンプルなスクリプトによってダウンロードされます。これにより、開発者は Lumberyard をローカルに構築する必要なく、最新の変更を常に把握できます。以前は、毎日行われるビルドはオフィス内のカスタムビルドサーバーで 6〜7 時間かかっており、完了するのは夜中でした。今ではAWS でのビルドは 20分で完了し、ビルドあたりわずか 2 USD のコストで済みます。
アーキテクチャ全体の正常性を監視するために Amazon CloudWatchを使用しています。このパイプラインの一部で失敗が発生した場合、Eメールアラートが送信されますが、これまでの約3か月間のオペレーションで 1度も失敗したことはありません。以前のソリューションはエラーが発生しやすく、継続的なメンテナンスが必要でした。また、Amazon CloudWatch を使用することで、維持する必要のなくなった物理ハードウェアをいくつか撤去することができました。
AWSクラウド上で動かしている、Apocalypse Studio
ゲーム制作パイプラインをクラウドに移行してから実感した、いくつかの大きなメリットがあります。AWS を使用することで、大規模なゲームアセットを同僚間で転送できます。データ転送には(オフィスにいた頃よりも)わずかに長い時間がかかりますが、プロセスに対し実感できるほど大きな影響を与えることは全くありません。私たちのチームは自宅で効率的に仕事をし、AWS を使って当社のゲームをどのようにサポートできるかを引き続き探っています。当社では、 AWS Lambda、Amazon API Gateway、Amazon Cognito 、Amazon DynamoDB、Amazon GameLiftを使用して、マルチプレイヤーサポートを Deadhaus Sonata に追加しています。また、当社のストアフロントを AWS に移行しています。
移行する前はラストマイルを恐れていました。開発者が直面する可能性のある諸問題を軽減するために、家庭用のインターネット接続環境をアップグレードする覚悟をしていました。驚いたことに、この懸念が現実になることはありませんでした。AWSの利用コストはきっと非常に高いのだろうと思っていましたが、想定をはるかに下回っており、かつパフォーマンスは期待をはるかに上回っています。私たちのチームでは対面での交流はできず、コミュニケーションは対面で行うのが最良とは思いますが、交流することのほうが個人の安全や COVID-19 に関連するリスクを避けることよりも重要だとは誰も思っていません。私たちは永久的にリモートな仕事環境に移行しました。過去を振り返ることはありません。AWSの支援がなければ、移行をこれほどシームレスに行うことはできなかったことでしょう。
原文はこちらです。
ソリューションアーキテクト 長田 義広