パシフィコ横浜 会議センターにて開催中の「CEDEC 2011」において、9月6日、「2体から4体!? ~鉄拳タッグトーナメント2における描画システムと負荷削減について~」の講演が行われた。
本講演では、バンダイナムコゲームスから近日には稼働予定の格闘ゲーム「鉄拳タッグトーナメント2」(以下「TAG2」)における描画システムと、その負荷削減についての説明が行われた。講師は同作で描画プログラムのリーダーを担当している堂前嘉樹氏である。格闘ゲームそのものの面白さもさることながら、そのハイクオリティなビジュアル面でも人気を博しているシリーズだけに、講演内容が気になるファンも多いことだろう。本稿では講演内容から特に興味深かった点を掻い摘んで紹介しよう。
1VS1から2VS2へ進化することによる問題
講演の中心となる「TAG2」に関してだが、「タッグ」と名前が付くようにこのゲームは基本的に2対2のタッグマッチで遊ぶ格闘ゲームだ。言葉にするとなんてことはないが、これが堂前氏たちプログラマーにとっては大問題で、これまでは1対1の2人分で済んでいたメモリ容量が一挙に倍の4人分も必要になるのだ。「TAG2」で採用している基盤システム「SYSTEM369」は、シリーズ最新作である「鉄拳6」で使用されている「SYSTEM357」のパワーアップ版だが、メモリ容量自体は変わらないため、いかにしてメモリ容量を確保するかが重要になってくる、というわけである。
メモリ確保の秘策が思い浮かばなかった堂前氏は、ここで「TAG2」の前作にあたる「鉄拳タッグトーナメント」(以下「TAG」)の開発チームのもとへ行き、どうやってメモリ容量を確保していたのか直接尋ねてみたところ、「TAG」では2人が協力して1人に攻撃を仕掛ける「タッグ技」を仕掛ける際にはカメラアングルを変えて、つねにキャラクター2体分しか表示させないことでメモリを節約していたそうだ。
「TAG」をプレイした方なら分かると思うが、確かに「TAG」では「タッグ技」を仕掛ける際にキャラクターが入れ替わりながら攻撃を行うため、画面内にキャラクターが3人同時に表示されることはほとんどなかった。この秘策を聞いた堂前氏は、「『TAG2』でも同じように対処すれば問題は解決するだろう」と安心していたそうだが、これがまったくもって甘い考えであったことをすぐに思い知ることになる。
メモリ確保に立ちはだかる2つのハードル
解決の糸口を見出した堂前氏であったが、そこへ「TAG2」のプランナーから「前作以上にキャラクターを画面内に表示してほしい」と注文される。さらに追い打ちをかけるように各キャラクターのグラフィックもパワーアップさせることが決まり、果たしてそれらの条件を満たして、データをメモリ容量内に収めることができるのか。また、それに伴う描画負荷による処理落ちの発生を防げるのか、この二点に頭を悩ませることとなった。
最初に課題となるのがメモリの確保だ。堂前氏が担当した家庭用の「鉄拳6」では、多少メモリに余裕があったため、「メモリの断片化」と呼ばれる無駄な空きスペースが発生しても問題なく動かせていた。しかし、今度の「TAG2」で同様のことをやると明らかに容量不足になってしまうため、この「メモリの断片化」を発生させないための工夫が必要となった。堂前氏はこの問題をメモリ領域を使用するカテゴリごとに仕分けすることで対処を試みる。
言葉だけではイメージしにくいので画像を参考にしてもらいたい。左側の長方形が「TAG2」で使えるメモリ領域(VRAM)で、この中にゲーム中の必要なデータを配置していくことになる。堂前氏はこのデータの配置する場所を背景やキャラクターなどのカテゴリごとに分けて対処したのだ。こうすることでデータのやりとりがスムーズになり、不具合なども発生しにくくなった。これにより、メモリ確保が容易になっただけでなく、豊富なアイテムによるキャラクターのカスタマイズにも対応でき、不具合の特定も容易になったそうだ。
3人、ときには4人が入り乱れるタッグ戦での描画負荷問題
続いて描画負荷問題についてだが、「TAG2」は最大4人のキャラクターが同時に画面内に出現するため、システムにかかる負荷が大きく、処理落ちが起こりやすいと予想された。「TAG2」で予想されるシチュエーションとしては、基本となる1対1の2人表示の他に、2対1となる3人表示、さらに2対2の4人表示の3パターンがある。当然ながら表示する人数が多いほど描画負荷が大きくなって処理落ちなどが発生しやすくなってしまうので、堂前氏はこの解決策として、画像解像度を状況に応じて切り替えることによる対処することを思いつく。
早い話が、2人表示のときは解像度を高く、4人表示のときは解像度を低くするのだ。解像度が低いといっても、ゲーム中で4人同時に出現するシチュエーションは全体的に動きが大きく、多少解像度を下げても目立ちにくいということもあり、この手法を取り入れることとなった。
描画の負荷はプレイヤーの対戦中にだけ発生するわけではない。次に考えなければならないのは、対戦が終わった後の勝利演出での描画負荷だ。
当初、堂前氏は家庭用の「鉄拳6」に収録した「シナリオキャンペーンモード」に搭載していたフレームスキップ機能を使ってフレームレートを下げ、描画負荷を軽減しようと考えていたそうだ。しかし、これもプロジェクトリーダーである原田氏の一言であっさり打ち砕かれる。
田氏から突きつけられた無情なる一言。60fpsとは対戦時のフレームレートと同じ値である。これにより堂前氏は別方面からのアプローチを模索することとなる。
いちばん大事なのは「考えすぎないこと」
こうして、さまざまな無理難題をクリアし、どうにか製品化へとこぎつけた堂前氏。最後に、まとめとして力強く宣言していたのは「あまり考えすぎないこと」だそうだ。
開発中は深く考えすぎて夜も眠れず、体調に支障をきたしたこともあったとか。そうしたときにこそ「考えすぎない」ことが大事なんだとか。何かとハードなゲーム業界ではそういうポジティブな考え方も大切なのだと堂前氏は語っていた。今回の講演を聞いて、改めてプレイヤーが伺い知れない部分での開発者の苦悩というのが少し理解できた。難産の末にようやく産声を上げた「TAG2」において、課題となったキャラクター4人同時表示や勝利演出がどのように表現されているのか、実機が稼働したらさっそく自らの目で確かめてみたい。そう思わせるだけの実に興味深い内容の講演であった。