
2022年もオンラインでの開催となったゲーム中心の開発者向けカンファレンス「CEDEC 2022」。「助けて!実機でFPSが1しか出ないの!グローバルモバイルゲームのためのパフォーマンス最適化にチームで向き合う方法」のセッションレポをお届けします。
今回登壇したのはワンダープラネットのCTO・吉谷幹人氏。普段は社内の技術課題マネージメントや標準化に従事している人物です。このセッションでは、「フレームレートが1しか出ない」ことが実際に起きてしまったことを題材としていますが、パフォーマンスチューニングなど技術的なテクニックを紹介するものではありません。どちらかと言えば、「プロジェクトなかで問題にどうやって対処したのか?」や、「新規にプロジェクトを立ち上げるには何に気を付ければいいのか?」などにフォーカスした内容です。

なおワンダープラネットは、世界中の幅広いユーザーに遊んでくれることを目指した、どんな時でもストレス無く遊べるというパフォーマンスを重要視した会社。同社が開発運営するパズルRPG『アリスフィクション』は、ゲームエンジン・Unityで動作し、7カ国語に対応した、パズルとハイスピードバトルを組み合わせたタイトルです。
「CEDEC 2022」他の講演レポートを読む
「フレームレートが1しか出ない」とはどんな開発状況だったのか?
『アリスフィクション』は、2021年にベータ版を開発すると共に、体制が急激に拡大します。吉谷氏とUnityエンジニア1名からなる技術課題チームが合流したのは2021年4月ころ。吉谷氏は合流した直後にスタッフから話を聞いたところ、描画量の多さから発生した端末の熱問題と、特定のAndroid機種でフレームレートが4にしか届かない状況で、操作時のカクツキや、メモリだけでなく原因不明のクラッシュも発生していた状況だったそうです。そのため、見えるところを修正/回収しながらプロジェクト全体の分析を進めました。

さらに、パーティクルやボーン数が多いだけでなく、psdファイルそのままを幾重にも表示するというキャラクターのスキルエフェクトがゲーム開発に適さない作りに加え、本格的な開発が始まっていたことも問題でした(CPU負荷が高い状態だったそう)。これらの問題に粛々と対応し、バトルの見栄を向上させる施策も実施するも、Androidの特定の端末でフレームレートが30を維持していたものの1へとなってしまったそうです。

また、ベータ開発後半でパーティクルが驚く量発生し端末の熱問題が再発したことや、バトル画面のカメラワークダイナミック化計画の影響からレンダリング状況が変わってしまい発熱の状況が変わることもありました。他にも、必要の無いアセットをロードしたことなどのメモリ使用量の問題や、さらに一部のUI用プラグインが大量のテクスチャを確保する問題もあり再度計画し直しています。開発後半では、チューニングをしていたもののバトルロードに30秒以上かかる問題が出てくるなど、1年間計画を立てて多種多様な問題に対処してきた結果、理想的な状態にはならなかったものの、リリースレベルには到達したと振り返ります。

特にパフォーマンス問題を軽視してしまうと、開発がストップしてリリース不可となり、作り直しが大量に発生してしまうこと、特定端末のアクション性が低下してしまう事が挙げられます。ここまでが『アリスフィクション』で発生したトラブルでした。

グローバル展開でのパフォーマンスマネジメントでは、ハイエンドだけでなくローエンドなモデルなど様々なスペックを持つ多様なモバイル端末が存在し、グローバル展開となると日本で販売されていない端末やネットワーク環境を考慮する必要があります。
世界同時運営に対応することでパイプラインも増えて複雑化し、ローカライズチームの参加や翻訳スケジュールの関係から様々なものが2~3ヶ月早く企画されます。加えて、当然のことながら大規模チームになると小規模チームで出来ていた「暗黙の了解」も機能しません。

また外注量産アセットでは、納品完了後の修正と作り直しができず、そして検修作業の難しさも存在することに加え、発注と受注側での認識のすり合わせも必要です。また、パフォーマンスはユーザーに直接価値を与えるものでないために、曖昧になりがちで明文化されにくい存在です。グローバル展開では、1端末で全体を見越せるわけでないために意図的に検証・考慮しないとフォローされません。そのため、パフォーマンスに関してもチーム全体で開発初期から意識して取り込むことが必要と述べました。他にも、時折異様なほど高い解像度を持つ端末が存在するために、解像度に制限をかける前提で決めておいたほうが良いといいます。
