Virtuos社のグローバルな開発、アート、VFXチームからの学びとベストプラクティスを紹介する定期的な記事シリーズの第3回目です。
Virtuos社のチームはここ数年、オリジナルコンテンツの開発と既存コンテンツのNintendo Switchプラットフォーム向けリマスターの両方で名を馳せてきました。これまでに、RockStar Gamesとの『LA NOIRE』、ナムコとの『DARK SOULS』、そしてもちろんUbisoftとの『STARLINK』などを手がけてきました。Virtuos社は、これらの素晴らしいタイトルをSwitchに提供するために活動しているプレミア開発者の一人であることをすでに示しており、今後も続々と登場する予定です。
Starlink」の様々な利用シーンに対応したアダプティブな解像度。バトル・フォー・アトラス
開発者の視点から見ると、多くの人が「Switchは、任天堂にとって、これまでで最も簡単にゲームを作れるプラットフォームだ」と述べています。
これは、Switchが単一のコンソール体験を提供するだけでなく、幅広いマルチプラットフォーム機能を提供しているという考えに基づいています。ご存じのとおり、Switchは、ドックに入れてテレビに接続したり、ドックから取り外して、取り外し可能な2つのJoy-Conコントローラを利用して携帯型ゲーム機としてプレイしたりすることができ、自宅でも外出先でもマルチプレイヤーセッションに最適です。
多くの開発者は、自分たちのゲームをテレビの大画面と携帯型の両方に最適化するために、大きな頭痛の種になることを予想していましたが、多くの開発者は、任天堂が面倒な微調整の時間をほとんど省いてくれたと評価しています。自動化とまではいきませんが、マルチスクリーンでの成功を制限する要素ではありません。
Virtuos社のシニアテクニカルディレクターであるジョナサン・ボルディガ氏は、このプラットフォームを扱う上での素晴らしいヒントをさらに掘り下げて語ってくれました。
まず第一に、Switchでの開発がどんどん簡単になってきていることがわかります。これだけしっかりとしたツールチェーン、わかりやすい(そして豊富な)ドキュメント、そして素晴らしいサポートスタッフのおかげで、実際に障害が発生することはほとんどありません。
ハンドヘルド機の画面は720pの解像度で、画面は明るく、色も鮮やかです。テレビに接続すると1080pになります。パフォーマンスを最適化するためには、いくつかのポイントを押さえれば、開発者はGPUの可能性を最大限に引き出すことができます。パフォーマンスを向上させ、メモリ使用量を削減するには、テクスチャ圧縮やテクスチャサイズの縮小などがあります。
また、頂点処理にはコストがかかるため、メッシュのジオメトリを減らす必要があります。 ジオメトリの最適化に優れたSimplygonやInstaLODなどの優れたミドルウェアツールが数多くあります。
開発者のレンダリングパイプラインがディファードレンダリングを使用している場合は、GBuffer内のレンダリングターゲットの数を減らすことで、帯域幅の使用を減らし、パフォーマンスを向上させることができます。 Virtuosでは、GBufferのレイアウトに2つのレンダリングターゲットしか使用していませんが、これはレンダリング機能のトレードオフを必要とする場合があり、良い結果が得られました。
具体的には、他の最新ゲーム機と同様に、SwitchのCPUはマルチコア構成となっており、ハードウェアの性能を最大限に引き出すためには、ゲームをマルチスレッド化する必要があります。 シングルスレッドを主体とするエンジンでは、最適化が難しくなります。
Virtuos社の「Starlink」や「L.A. Noire」では、次のようなスレッディングモデルで成功を収めました。
- メインスレッド(1) – 各ジョブスレッドに作業をディスパッチします。
- Render Thread (1) – レンダリングコマンドを送信します。
- Short Jobs Thread (2) – 1フレームで処理する必要のあるジョブ
- Long Jobs Thread (2) – 複数のフレームで実行可能なジョブ
パイプラインの設定によっては、デプスプリパスの活用が有効な場合があります。 Virtuos社では、あるタイトルではデプスプリパスを使うことで大きな効果が得られましたが、他のタイトルではあまり効果がありませんでした。 ほとんどのエンジンではすぐに実装できるので、少なくとも試してみることをお勧めします。
また、アダプティブ・レゾリューションは、GPUに負荷がかかったときにフレームレートを一定に保つのに非常に有効なので、採用することをお勧めします。 ハンドヘルドモードとTVモードで異なる解像度の「フロア」を試すことは、それぞれのゲームに最適なものを見つけるために重要です。
ストリーミング、ローディング、その他のI/O操作では、優れた圧縮スキームが非常に有効であり、強調しすぎることはありません。 これは、データサイズを小さくして小さなカートリッジに収めるためにも、ストリーミングのパフォーマンスを向上させるためにも有効です。 最近のプロジェクトでは、LZ4という圧縮方式を採用していますが、圧縮率と伸張率のバランスが取れています。
市販のミドルウェアを試してみると、LZ4よりも良い結果が得られることもありますが、今回のタイトルでは、圧縮・解凍のパフォーマンスを高める必要はありませんでした。LZ4、zlib、zstd、および市販のミドルウェアを試してみることは、タイトルによって結果が異なる可能性があるため、強くお勧めします。
以上、Virtuos社のプラットフォームについて、他の開発者にとって参考になると思われる点をいくつか挙げてみましたが、いかがでしたでしょうか。
- ディファードレンダリングを使用する場合、Virtuos社は帯域幅を減らすためにコンパクトなGBバッファを持つことが重要であると考えています。
- 他のプラットフォームと比較すると、全体的にGPUは弱く、CPUはコア数が少なく、当然ながらドッキングモードとアンドッキングモードがあります。しかし、これらはユービーアイソフトとの共同作業の成功には影響しませんでした。
- コアの数が限られているため、CPUの最適化は困難です。
- 特定のエフェクトやマテリアルは、Switch専用にカスタム最適化されたパスが必要です。
- 直感的にはわからないかもしれませんが、フレームレートの目標値を達成するには、携帯モードのほうが簡単です。 これは、ドッキングモードの方が解像度の目標値がはるかに大きいためです。
- 今後の展望としては、プラットフォーム上の非遅延レンダリングモデルがより良いパフォーマンスを発揮できるかどうかを検討する価値があると思います。可能性としては、従来のフォワードまたはフォワード+レンダリングが考えられます。
L.A.Noire』ドッキング&アンドッキングのゲームプレイテスト
Virtuos社のチームは、Switchでの作業を非常に楽しんでおり、既存のIPがSwitchに登場する多くの新しい機会があると考えています。今後数ヶ月のうちに、Switchが提供するすべてのものを活用した新しいプロジェクトを発表したいと考えています。
- ビジネスに関するお問い合わせは、[email protected] までお願いします。
- Virtuosについての詳細は、www.virtuosgames.com をご覧ください。そして私たちのアートステーション: www.artstation.com/virtuosgames
Virtuosについて
2004年に設立されたVirtuos Holdings Pte. Ltd.は、シンガポール、中国、ベトナム、カナダ、フランス、日本、アイルランド、米国で事業を展開する大手ゲームコンテンツ制作会社です。Virtuos社は、1,600人のフルタイムの専門家を擁し、AAAコンソール、PC、モバイルタイトルのゲーム開発と3Dアート制作に特化しており、顧客が追加の収益を生み出し、業務効率を達成できるようにしています。10年以上にわたり、Virtuos社は1,300以上のプロジェクトに高品質のコンテンツを提供しており、その顧客には世界のトップ20のデジタルエンターテインメント企業のうち18社が含まれています。詳細については、www.virtuosgames.com。
Jonathan Boldigaについて
上海のVirtuos Gamesでシニアアドバンスドテクニカルディレクターを務めています。ジョナサンは、AAAゲーム開発の経験を持つベテランのテクニカルディレクターです。堅実な技術的背景に加え、長年にわたって大規模なエンジニアチームを直接管理し、豊富な人事管理、プロジェクトおよびビジネス管理の経験を蓄積してきました。