コンピュータエンターテインメント協会が2023年8月23日(水)から25日(金)まで、パシフィコ横浜ノースならびにオンラインにて開催する“CEDEC2023(Computer Entertainment Developers Conference 2023)”。初日に実施されたセッション“『ストリートファイター6』ワールドツアーモードにおける2D格闘システムと3Dレベルデザインの関係”の模様をお届けする。
広告
講演者はカプコン所属のゲームデザイナーであるレーベボリ・テオドール氏だ。
『ストリートファイター6』(以下、『スト6』)のワールドツアーモードの特徴である“3D状態からシームレスに2D格闘バトルへ切り替えるシステム”の説明と、そのシステムが3Dマップを制作するうえでどのように影響したのかが紹介された。
ワールドツアーモードのレベルデザインを担当したレーベボリ・テオドール氏。
『ストリートファイター6』の購入はこちら (Amazon.co.jp)
CEDEC2023関連記事一覧
マップから2D格闘バトルへとシームレスに移行するために
ワールドツアーモードはシングルプレイの没入型ストーリーモードで、3Dで表現された『ストリートファイター』の世界を冒険できる。
世界の探索、歴代キャラクターとの接触によるストーリー、ストリートファイト(バトル)が楽しめる“2D格闘バトルありのRPG”とも言えるモードとなっている。
ワールドツアーの探索では、カメラを360度回しながら見える場所を自由に歩くことができる。その中で、街に存在するNPCと2D対戦が可能だ。
そんなワールドツアーでは、暗転や異空間に飛ばされることなく、その世界に留まった状態でどこでもNPCとシームレスなバトルが行えることが大きな特徴。
これを実現するために、バトルのスペースをリアルタイムで計算するシステムが実装された。バトルが確定したときに周囲のスペースを計算し、NPCとの直線状の空間が生成される。これを“バトルライン”と呼び、このスペースにプレイヤーたちを移動させることでバトルが可能となる。
バトルを成立させるためには、7×12×5メートルのスペースが必要となる。
ファイターが2D軸でバトルを行う範囲を示したファイター領域、バトルの様子を映すカメラ領域(7×12メートル)、バトルの観戦者たちが集まる観戦者領域(高さ5メートル)で構成される。
ファイター領域のスペースを決める際、ワールドツアーでは背景の都合上、高さを12メートルから減らす必要があったため、どのファイターでも行える基礎のジャンプ2.5メートル×2倍の5メートルに調整。
奥行きは、当時もっとも大振りな技であるザンギエフのダブルラリアットをもとに必要な数値を割り出したという。幅は、画面のスクロールが対戦における駆け引きの一部になっているため、それを保った最短の数値が設定されているそうだ。
また、地面が水平(±15センチ以内)であることもバトルを成立させるために必要となる。
ワールドツアーでは、プレイヤーモデルの中心座標を基準に地面に接地させている。エリアの高低差に合わせてプレイヤーモデルの位置も変化するが、ここで発生するのが喰らい判定や攻撃判定をずらせないという問題。高低差がある場合、判定と見た目がずれてしまうことになる。
これを解決するため、地面を水平(±15センチ以内)にするというルールが決められたとのことだ。
3Dで透過できるものは2Dでも透過して見た目を一致。狭いエリアではオブジェクトを削除してスペースを確保
3Dと2Dの見た目が一致した状態でシームレスなバトルを実現するためには、7×12×5メートルのスペースを確保すること、地面が水平(±15センチ以内)であること、そして3Dと2Dの両方に適用できるコリジョン(当たり判定)を用意する必要がある。これを踏まえて、実際にどのような背景(マップ)作りが行われたかが語られた。
ワールドツアーのカメラにはストップ、通る(透過)のふたつの判定があり、ひとつのオブジェクトに対してそれぞれのコリジョン領域が存在している。これにより、キャラクターの移動に応じて背景をスムーズに映し出すために特定のオブジェクトが透過されたり、カメラが引っかからないようになっている。
オブジェクトを透過させるか否かの判定は先のコリジョン領域が関係しているが、ここをしっかり設定していない場合、オブジェクトが消えすぎたり、消えなさすぎたりする問題が発生する。
そのため、オブジェクトごとにのカリング処理(表示しない処理)範囲を上書きしたり、処理範囲を合体させたりといった作業を行ったそうだ。
つぎに、横幅と奥行きの確保について。これについては、ざっくり各エリアを広く作れば解決しそうなところだが、そうした場合、各エリアでプレイヤーが歩く距離が増えたり、オブジェクトが遠くなったり、似たような空間ばかりになってしまう。
そこで、あえてギリギリを攻めた狭い場所も作ることになったそうだ。
しかしながら、狭いエリアではバトルスペースの確保が難しくなるため、ピンポイントでオブジェクトを削除してバトルができるスペースを作ったそうだ。
もちろん、各所に存在する狭いエリアすべてに個別で対応したため、なかなか大変だったという。
前述の通り、もともと本作の2Dバトル時の高さは12メートルで想定されている。しかし、ワールドツアーでこの設定を適応してしまうと屋内の各階層の高さが12メートルになり、建物全体が巨大化して不自然な見た目となってしまう。そのため、背景の高さを5メートルに調整したカバーしたという。
しかし、5メートルではキャラクターが天井に貫通してしまうことも。それゆえ、建物の中ではキャラクターが天井を貫通しないような設定を行ったとのことだ。
最後に、地面の整備について。バトルの成立には地面が水平(±15センチ以内)である必要があるが、1段あたりの高低差を15センチ以内に抑えることで、バトルが成立するエリアを確保したという。
なお、エリアによっては意図的、もしくはやむを得ず高低差が15センチを超えているところがあり、その場合はバトル可能なエリアを分けて対処しているそうだ。
どこでもシームレスなバトルを行うための探求
しかし、ここまで紹介した事例だけでは、まだ解決しない問題がある。それは、
バトルできない場所ではどうするか
バトルの見た目を固定化したいときはどうするか
のふたつだ。バトルできないエリア(坂、階段など)ではこれまでの処理は適用できないし、シナリオ上で発生するバトルや過去作をオマージュしたバトルなどを用意したいときには新たなシステムが必要となる。
この問題を解決するために開発されたシステムのひとつが、事前に作成したデータを使う“固定バトルライン”だ。
リアルタイムでバトルラインを計算しないことで、カットシーン発生後、カットシーンと同じ場所・見た目でバトルさせることができる。
もうひとつは、“テーブル式バトルライン”。
バトル不可の場所でバトルが発生しても、事前に用意されたバトルラインに飛ばすシステムだ。
このふたつのシステムによって、バトルできない場所でもバトルがしたい、バトルの見た目を固定化したいというふたつの課題が解決された。
最後に、ここまでの取り組みが実例とともに改めて紹介された。
3Dと2Dが同時に存在するシステムを作り上げるには膨大な量の作業が必要で、そこが開発において苦労したそう。しかしながら、そんな苦労の甲斐あって、なかなかユニークに綺麗なものができあがったのではないかと振り返った。
テオドール氏がともに開発した橋本裕介氏、水間康夫氏へ感謝の意を示し、講演は締めくくられた。
『ストリートファイター6』の購入はこちら (Amazon.co.jp)
CEDECリポート記事一覧
...以下引用元参照
引用元:https://www.famitsu.com/news/202308/25314508.html