Virtuos社のグローバルな開発、アート、VFXチームから学んだことやベストプラクティスを紹介する定期的な記事の第10回目です。
背景
2019年11月、Googleは独自のゲームプラットフォームであるStadiaをリリースしました。Stadiaの第一のユニークなセールスポイントは、
クラウドゲーミングサービスとして機能することであり、プレイヤーには好みのゲームの高品質なストリームが提供されますが、
実際のプログラムとそれを実行するために必要なコンピューティングパワーはGoogleのサーバーインフラ内に留まります。
Stadiaの発売後も新しいゲームをリリースしていくという計画に沿って、「Player Unknown’s Battlegrounds」(略してPUBG)が、
このプラットフォームに対応した最初のバトルロイヤルシューターとして選ばれ、Virtuos社はPUBG社とGoogleとの緊密な連携の元にプロジェクトを遂行しました。
ミッション
「PUBG for Stadia」に取り組むチームには、4つのミッションが課せられました。
- ゲームをスタディアに適応させることが可能であることを合理的な疑いの余地なく証明すること。
- 常に安定したフレームレートを確保すること。
- 一部のミドルウェアをアップグレードして検証し、Stadia対応を可能にすること。
- Unreal Engine 4.16にVulkanとStadiaのサポートを統合し、ゲームの適切なレンダリングを実現すること。
課題と解決策
『PUBG』のStadia対応には、開発期間中、開発チームが直面したいくつかの課題がありました。
課題1:全く新しいゲームプラットフォームとしてのStadia
ハードウェアやソフトウェアを何年もかけて改良してきた他のゲーム機とは異なり、Google Stadiaは全く新しい存在であるため、ゲームの開発や移植に必要な知識や経験を一から得なければなりませんでした。
また、参考になる既存の事例がないこともあり、チームには未知の部分が多いプロジェクトとなりました。プラットフォームの特徴や機能、様々な操作方法への対応など、プロジェクトを進める上で必要な問題が山積していたのです。
この問題を解決するためには、Stadiaの機能や仕組みを徹底的に調査し、時間をかけてプラットフォーム上で動作するゲームのプルーフ・オブ・コンセプト(概念実証)を作成することが必要でした。
課題2:土台作り
当初から、Stadiaのプラットフォームには2つの課題がありました。1つ目は、LinuxとVulkanを組み合わせた独自のアーキテクチャを採用していたことです。
2つ目は、PUBGで使用されているUnreal Engine 4のバージョンがStadiaをネイティブにサポートしていなかったことです。
PUBGをStadiaに対応させることが可能であることを示すため、チームまず、ゲームにLinuxとVulkanの互換性を実装し、
またUE4エンジンもそれに合わせて変更するために、多大な時間と労力を費やす必要がありました。
その後、関連するミドルウェアをアップグレードして、このプラットフォームをサポートすることに注力しました。
チームにとって最後の、そして最も重要なマイルストーンは、このセットアップでゲームを実行し、レンダリングし、最終的なストリームをテストのクライアントデバイスに投影できるかどうかを確認することでした。
この確認が出来た後、移植作業を開始しました。
課題3:安定したフレームレートの維持
オンラインマルチプレイヤーシューターである『PUBG for Stadia』は、すべてのデバイスで遅延やフレームレートの問題なくシームレスに動作することが最重要課題でした。
遅延の問題は驚くほど扱いやすいもので、開発プロセスを通してチームを悩ませるような問題はほとんどありませんでした。
実際、ゲーム中にラグを感じるかどうかの決め手となるインターネット環境が整っている日には、何の問題もなくゲームが動作しました。この課題のより複雑な側面は、フレームレートの面にあります。
最高のフレームレートを実現するために、チームはまずソフトウェアのプログラムスレッド内の関数を分析し、占有率の高い関数を知り、
その関数を最適化して占有率を下げました。次に、ゲーム内で使用されているアートアセットのクオリティに注目しました。
ビジュアルエフェクトの設定が高すぎると、GPUの負荷が高まり、フレームレートに影響を与える可能性があります。最適化と忠実さのバランスを取る必要があり、その度合いについては再度協議して決定しました。
しかし、Stadiaの功績は、裏で働いているサーバーの処理能力が非常に高かったため、安定したフレームレートを達成し、入力ラグを減らしながら、グラフィックの品質を維持することが可能だったことです。
課題その4:スタディアの開発キットへのアクセス
今回のプロジェクトを担当したのは、Virtuosの上海スタジオです。これまでのプロジェクトで経験を積んできましたが、現地でStadia Dev Kitsにアクセスできないという問題がありました。
この問題は2つの方法で解決されました。まず、チームの一部が海外に派遣され、パリにあるVirtuosの別スタジオで開発キットを手に入れ、選ばれたスタッフが直接操作できるようにしました。
残りのメンバーは上海に残り、開発キットを使ってリモート接続で仕事を続けました。プロジェクト終了後、Virtuosは開発チームに様々な開発キットへのリモートアクセスを導入し、スタジオの外にいても生産性を維持できるようにしました。
結論と学び
『PUBG』をスタディア向けに移植したチームは、この経験からいくつかの新しい知見を得ることができました。
- プラットフォームとしてのStadiaはまさに革命的です。ダウンロードの必要がなく、ローディング画面もなく、すぐに起動し、携帯電話やテレビを含む複数のデバイスでアクセスできるということは、プレイヤーがどこにいても、これまでにないゲームへのアクセスを楽しむことができるということです。
- Stadiaを最適に動作させるために必要なものは、適切なネットワーク接続のほかにはあまりありません。これはレイテンシーを大幅に削減できるというメリットもあります。良好なネットワーク接続があれば、PUBGでもラグの影響をほとんど感じず、Chromeでもゲームがスムーズに動作します。
- Stadiaの過小評価されている利点の1つは、ゲームが完全にオフサイトで運営されており、ローカルに保存されて操作されやすいファイルがないため、事実上すべてのチートやハックが排除されていることです。
- ネットワーク環境が整っていて、ライブ環境にアクセスできるのであれば、開発者はいつでもリモートでビルドを確認できるので、Stadia用のゲームを作りやすくなります。
- Stadiaに対応した既存のミドルウェアやツールは、他の最新プラットフォームに比べて著しく少ないため(開発時点)、このプラットフォーム向けにゲームを作りたいと考えている開発者にとっては、課題となる可能性があります。
- 開発キットに直接アクセスできない開発者にとっては、将来的には開発キットへのリモート接続が主流になるかもしれませんが、現在のVirtuosではすでに実現しています。
- また、クライアントは、物理的な開発キットを使わなくても、自分の好きな場所でStadiaのゲームのビルドをリモートで確認することができます。この場合、ハードウェアの配送の手間はほとんどなく、他のプラットフォームと比べて控えめな利点があります(特にCOVID-19パンデミックによる世界的な物流の問題を考慮すると)。
Virtuosは、Google Stadia向けのゲーム開発で大きな経験を積んでおり、現在、より多くのゲームをGoogle Stadiaに提供し、
プレイヤーがどこでも「クリック&プレイ」を体験できるようにするために、いくつもの新しい適応策に取り組んでいます。
- Virtuosについての詳細なニュースは、www.virtuosgames.com/en/newsをご覧ください。
- ビジネスに関するお問い合わせは、 [email protected]までご連絡ください。
Virtuos社について
2004年に設立されたVirtuos社は、シンガポールに本社を置き、アジア、ヨーロッパ、北米にスタジオを展開しているゲーム開発のリーディングカンパニーです。
2,000人以上のフルタイムのエキスパートを擁するVirtuosは、AAAコンソール、PC、モバイルタイトルのためのゲーム開発と3Dアート制作を専門としており、
パートナーが高い収益と業務効率を達成することを可能にしています。15年以上にわたり、Virtuos社は1,300以上のプロジェクトに高品質のコンテンツを提供し、
その顧客には世界のトップ20のデジタルエンターテインメント企業のうち18社が含まれています。より詳しい情報は、www.virtuosgames.comをご覧ください。
Sparx*について
Sparx*は、アジアのトップスタジオの一つで、大規模なプロダクションサービスを提供し、最高品質の3Dアート、視覚効果(VFX)、
アニメーションのための優れたソリューションを生み出しています。2011年に世界最大級のデジタルコンテンツプロバイダーであるVirtuosに買収されたSparx*は、
350人以上のプロのアーティストを擁し、あらゆる最新のツール、エンジン、プラットフォームを駆使して作業を行っています。詳細については、www.sparx.comをご覧ください。