Greak:のためのコントロール、メモリ、ビルドサイズの最適化:Memories of AzurのAndroidポート

2021年8月、NaveganteはGreak:Memories of Azurを次世代コンソールとPCプラットフォーム向けに同時にオンラインおよび店頭で発売しました。過去4年間、チームはコミュニティを大切にし、ゲームを超えてIPを拡大するのに役立つ受賞ニュースやライセンス機会を共有してきました。
昨年、ラテンアメリカのスタジオがGoogle Play Passにゲームを持ち込むためのサポートを受けられる素晴らしいプログラムを見つけました。
私たちは、Naveganteの共同クリエイティブディレクター兼リードプログラマーのRodrigo Fernandez氏、スタジオのリードプロデューサーのAnahit Fernandez氏、シニアプログラマーのNestor Gomez氏と話をしました。3人は、タイトルをAndroidに移植する際に経験した苦労をどのように克服したかについて話しました。
Greak:の発売おめでとうございます。Memories of AzurがGoogle Play Passで利用可能になりました。チームはなぜ4年後にゲームをモバイルに移植することを決定したのですか?
Rodrigo Fernandez:数年前からモバイルゲームのエコシステムがどれほど成熟したかを考えると、特に多くの素晴らしいインディーのモバイルゲームが新しいオーディエンスに届くのを見た後、非常に興味がありました。そこで、私たちは機会を探し始め、Googleの素晴らしいプログラムを見つけました。
ゲームをモバイルに持ち込む最大の課題は何でしたか?
Rodrigo:最大の課題は、タッチスクリーンのコントロールと小さい画面サイズの制限を再設計することでした。修正しなければならない小さなシェーダーの問題がありました。私たちは、最適化をより詳しく見て、ゲームにパフォーマンスオプションを追加することにも取り組んでいます。
Nestor Gomez:できるだけ多くのデバイスでゲームがうまく動作することを確認し、最小および推奨スペックサイズを決定することが最も難しかったです。素晴らしいプレイヤー体験を提供しつつ、リーチを最大化するための良いバランスを見つけなければなりませんでした。
アナヒット・フェルナンデス:商業面では、モバイルストアがPCやコンソールのものとは異なることが難しいと感じました。ストア資産の作成や説明文の作成から、価格設定やその他の詳細を考えるまで、非常に大きな学びの経験でした。

タッチスクリーンコントロールの再設計のアプローチは何でしたか?
Rodrigo:フルコントローラーにできるだけ近い体験を保つようにしました。ただし、アクションを実行するためにボタンを組み合わせたり、より器用さを必要とするメカニクスを実行するための特定のボタンの組み合わせは、非常にうまく再現できません。その場合、ゲームの特定の側面を再構築して、よりアクセスしやすくするか、完全に再構築する必要がありました。
ネストル:他のモバイルゲームをプレイして調査を行い、コントロールのデザインを反復して、快適で直感的に感じられるようにしました。プレイヤーが楽しめる良いレイアウトを見つけたと思います。外部コントローラーをサポートして、プレイヤーにコンソールのような体験を提供できることを非常に誇りに思っています。タッチスクリーンと外部コントローラーの間をいつでも切り替えることができます。プレイヤーがそれを楽しんでくれることを願っています。

チームはモバイルでスムーズな戦闘パフォーマンスをどのように確保しましたか?
ロドリゴ:利用可能なモバイルデバイスの幅広い範囲により、プレイヤーがレンダリング品質とターゲットフレームレートを調整できる追加設定を追加しました。したがって、低スペックのデバイスでも、プレイヤーはスムーズで楽しい体験を得ることができます。
ネストル:CPU、GPU、メモリ、ビルドサイズの最適化にかなりの時間を費やしました。Unityプロファイラーや他の利用可能なツールを使用して、いくつかの最適化を行い、異なるデバイスでゲームをテストして進捗を測定しました。異なるデバイスでFPS、メモリ使用量、ビルドサイズを常に測定することで、現在の状態とどれだけの追加最適化が必要かを把握できました。

ゲームの品質を維持しながらサイズを縮小することができたのはどうしてですか?
Rodrigo:モバイルデバイスは小さな画面サイズに制限されているため、アートアセットやビデオクリップの解像度を下げることに注力しました。これらの変更が目立たずに小さなダウンロードサイズを実現できることを確認するために、多くの内部テストを行いました。
ネストル:ゲームは大きな画面用に構築されていたため、ほとんどのテクスチャに余分な解像度があることを知っていました。数百のテクスチャを確認し、それらを縮小できるかどうかをチェックしました。メモリとビルドサイズを節約するために、各テクスチャに適切なフォーマットを選びました。その結果、ビルドサイズをほぼ50%削減することができました。

さまざまなデバイス向けにゲームを最適化するためにどのような手順を踏みましたか?
ネストル:最初のステップは、すべてを測定することでした。Unityプロファイラー、フレームデバッガー、メモリプロファイラー、Android Studioやアセットスタジオなどの外部ツールを使用しました。私たちの技術のいくつかには、オブジェクトプールの使用、ETC2圧縮テクスチャフォーマットの使用、マルチスレッドレンダリングの有効化、不必要な描画呼び出しの削減、ゲームプレイカメラの描画のスケーリング、リソースフォルダーの整理が含まれました。
最も役立ったUnityのツールや機能は何ですか?
ネストル:このポート中に多くのツールや機能を使用しました。Unity Remoteは、新しいビルドをデバイスにデプロイすることなくタッチ入力をシミュレートするのに役立ち、Patch and Runオプションによりビルド時間を大幅に短縮できました。
Unity Profilerは、追加のパフォーマンスを得るための機会を特定するのに役立ちました。タイムラインビューが大好きで、各フレームで何が起こっているのかを素晴らしく表示してくれます。Memory Profilerを使用して、読み込まれている不要なリソースを特定し、貴重なメモリを節約しました。迅速なメモリ使用量の読み取りには、Android Logcatパッケージを使用しました。これはデバイス上のメッセージを確認するのにも最適です。
Frame Debuggerは、バッチ処理を壊しているものを特定するのに役立ちました。デバイスとエディターの両方で実行することが重要です。Visual Studioから直接デバイスでデバッグできることは、エディターで再現できない問題に対しても役立ちました。
C# Job Systemを思ったほど広範囲に使用しませんでした。しかし、パララックスシステムをIJobsParallelForTransformを使用するように変換し、数百のスプライトに対して並行してコードを実行してCPUのミリ秒を節約しました。今後のプロジェクトでパフォーマンスの向上を活用するために、より広範囲に使用する予定です。

モバイルにPCおよびコンソールゲームを移植しようとしている開発者への最大のヒントは何ですか?
ネストル:できるだけ早く、できるだけ頻繁にデバイスでテストしてください。これは、タッチコントローラー、フォントレンダリング、UX、パフォーマンス、メモリ使用量、ビルドサイズ、ツールの互換性など、すべてを指します。サポートする予定のデバイスに基づいて、低価格帯および中価格帯のデバイスをテスト用に用意しておくべきです。
アナヒット:まずは主要なプラットフォームに焦点を当ててローンチし、チームに帯域幅があるときに他のプラットフォームに拡張してください。私たちの場合、コミュニティは非常にサポートしてくれました。Greak:が最初に登場してから数年が経ちましたが、今回のAndroidリリースに対する興奮はこのプロセスを価値あるものにしました。Azurの思い出。
今、Greak:Memories of AzurがAndroidでリリースされました。次は何ですか?
アナヒット:私たちは、今年後半に発表する予定のスタジオの2作目のゲームに取り組んでいます!
Unityで作られたプロジェクトについてもっと読むには、リソースページを訪れてください。
