イベント
[CEDEC+KYUSHU]「『ソニックフロンティア』においてオープンゾーン実現に向けて取り組んだこと」講演レポート
スピードという個性を生かしつつ,ゲームを遊びやすくする
「ソニック」シリーズは,“世界最速のハリネズミ”である「ソニック」が超高速で走り回るスピード感が特徴のアクションゲームだ。シリーズにはゲームシステム的に2つの転換点がある。
1つが1998年の「ソニックアドベンチャー」における3Dアクションゲームのリリース。そしてもう1つが2022年の「ソニックフロンティア」(PC / PS5 / Xbox Series X|S / Nintendo Switch / PS4 / Xbox One)で「オープンゾーン」に挑戦したことである。オープンゾーンとは,広大なフィールドを自由に駆け巡りつつ,3Dアクションとしての体験をコアとしたプレイを楽しめるというものだ。シリーズ初となるオープンゾーンを実現するための取り組みについて,同作のリードプログラマーである徳永宇輝氏と,リードグラフィックスプログラマーの猪熊裕司氏が語った。
ソニックフロンティアは,ゲーム設計において直近の「ソニックフォース」と大きな違いがある。
ソニックフォース
・基本的に一本道で全長1〜5km
・コース型のプラットフォームアクション
・周囲の環境が固定
ソニックフロンティア
・広い空間のオープンゾーンで,一本道でなく空間上に目的地が点在し,フィールドは4km×4km
・プラットフォームアクションに加えて謎解き要素がある
・周囲の環境は時間や天候が変化する
これまで作ってきた作品とは別物といえるソニックフロンティアの開発のためには,新たな取り組みを行わなければならなかったわけだ。
●地形制作
ソニックフォースの地形は1〜5kmの一本道で,デザイナーが手動でレイアウトを行っていた。しかしソニックフロンティアのオープンフィールドは4km×4kmとソニックフォースより広大なため,同じ手作業では実現が困難であると予想された。
ソニックフロンティアでは地形のコリジョンにHeight Fieldを追加し,地形については手動で配置するのではなく,Height MapとHeight Fieldで表現されるようになった。Height Fieldは1m×1mのグリッドで構成されており,Height Mapを編集すればリアルタイムでHeight Field側も更新されていく。少しの変更であれば,プレイしながら作業を行うことも可能で,こうした手法の転換により,広大な空間をより低コストで作れるようになったそうだ。
●キャラクター制御
ソニックフォースのコース型から,ソニックフロンティアのオープンゾーンへ。この変更を成し遂げるには,ソニック自身の動きも変える必要があった。ソニックフォースの一本道マップにおいて,ソニックの速度と旋回力は一定に保たれており,緩やかに曲がっていく。綺麗に見えるカーブを描き,走りながらアクションするのに適していた。
一方,ソニックフロンティアのマップにはあちこちに目標が点在する。ソニックフォースと同様の緩いカーブでは,目標を見てから旋回操作すると曲がるのが間に合わず,目的地にたどり着けない。これはオープンゾーンの実現において「致命的な問題」(徳永氏)であったという。だからといって,単純に旋回力を上げてクイックに曲がれる(きついカーブを描ける)ようにしても,問題は解決しない。ソニックが走るスピードが速すぎるため,今度は曲がりすぎてしまう。プレイヤーはこれを補正しようとして逆に曲がり,またこれを補正するため逆に曲がり……と制御が困難になってしまう。要するに,速すぎて小回りが利かなくなってしまうのだ。
整理すると,旋回中は減速したいが,ソニックらしい直線移動は速いままで,軌道としてはクイックに曲がりたい。しかしソニックにはアクセルやブレーキが存在しない。そうなると,旋回と速度が自動で連動すればいいことが分かってくる。
こうして,ソニックフロンティアにおけるソニックの動きは,旋回で減速,減速で旋回力アップというものになった。流れとしては,「トップスピードを維持する直線移動→旋回操作による自動減速→減速によるクイックな旋回→旋回終了(旋回方向と入力方向が一致)で再加速→加速することで旋回力が低下」というものになっている。
この改善は,移動だけではなく攻撃の操作性も向上させている。それがソニックフロンティアで特徴的な「サイループ」だ。ソニックが走った軌道で相手を円状に囲むと,ダメージを与えられるというものだが,改善前は速度を落として円を描いていると相手が移動していなくなってしまうし,素早く囲もうとすると通り過ぎてしまう……と,開発スタッフの誰も使いこなせないものだった。現在のサイループは高速で近づき,囲む際は自動で減速,円で囲み終えたら自動で加速して離脱できるという,操作性の良さとソニックらしさを両立させたものになっている。
●エネミー制御
エネミー(敵)の制御についても,オープンゾーンに合わせたものを開発しなければならなかった。これまでのエネミーは,特定の位置に留まったり,決められたルートを往復したりするというシンプルな動きをしていた。これは,ソニックのスピードが速すぎて,複雑な動きをさせてもプレイヤーが理解する前に通り過ぎてしまうという事情もあったそうだ。固定の一本道マップでは地形との判定も不要で,処理も軽量化できるメリットもあった。
しかし,オープンゾーンではエネミーも自由に動き回って欲しい。そのためソニックフロンティアでは,キャラクターを自動で移動させるのに使うNavMeshを導入。NavMeshはコリジョンの形状からベイクされ,地面の属性情報も含まれているため,「このエネミーは水に入らない」といった性質付けもできるようになった。
とはいえ,4km×4kmのオープンゾーンは広大だ。ここにエネミーやオブジェクトを配置していくと,その数は10万以上になり,ロースペック環境ではパフォーマンスが落ちてしまったという。そこで開発チームは,Character ControllerにHigh,Middle,Lowのバリエーションを付け,これを切り替えることで負荷を軽減していったとのこと。
●ロード
ロードについては,高速移動が楽しさにつながるシリーズだけに,「オープンゾーンで移動中にロードしない」「ファストトラベルでもロードを挟まない」という目標が決められた。
すべてのモデルとコリジョンをオンメモリとし,ストリームロードをしないことにより,I/Oをテクスチャに集中。テクスチャについては,ゲーム進行を止めないことを優先し,近くにあるものについてだけ高解像度テクスチャをロード,ロースペック環境ではテクスチャの解像度を落とすといった方法により,前述した目標が達成できたという。また,長かったロード時間の最適化も行われ,あるシーンで25秒かかっていたロード時間を14秒まで短縮する成果も得られたそうだ。
こうした取り組みについて,徳永氏は「挑戦の積み重ねが大切」であると総括する。一歩一歩積み重ねていくこと,そして挑戦に際しても一般的な技術を使うことが大事であると語った。
開発においては,アセット管理やコンバートを行う「Asset Studio」,ゲーム内と同じシェーディング,ライティングモデルをMaya上で再現できるプラグイン「Needle Viewer」,MayaとゲームをMCSサーバー経由でつなぐ「Scene Sync」など,さまざまなツールが使われている。例えば,コース生成ツールでは,Maya上でメッシュを選択してコースを作るとScene Syncによってコリジョンが付いた状態でゲーム側に送られるため,すぐにテストプレイができるという。また,開発の中期以降はコロナ禍によるリモートワークへの移行を強いられ,開発環境のさらなる最適化を行わなければならないという困難もあったそうだ。
猪熊氏はこれらの取り組みについて,特別なことをしたわけではないと語る。適切な技術の評価と選定,単純作業の自動化,プロファイルを取ってボトルネックを特定し,集中的に対策を行うという,当たり前の積み重ねを行っていったと,開発を振り返った。
スピードという強烈な個性を持つソニック。新しいオープンゾーンに挑戦するためには,これを生かしつつもゲームとして遊びやすくするためのさまざまな工夫が必要だった。2023年9月29日には無料大型アップデート第3弾(関連記事)も配信され,エミーやナックルズ,テイルスがプレイアブルになったばかりのソニックフロンティア。本講演で語られたところを意識しつつ,改めてプレイしてみるのも面白いのではないだろうか。
「ソニックフロンティア」公式サイト
「CEDEC+KYUSHU 2023」公式サイト
4Gamerの「CEDEC+KYUSHU 2023」記事一覧ページ
- 関連タイトル:
ソニックフロンティア
- 関連タイトル:
ソニックフロンティア
- 関連タイトル:
ソニックフロンティア
- 関連タイトル:
ソニックフロンティア
- 関連タイトル:
ソニックフロンティア
- 関連タイトル:
ソニックフロンティア
- この記事のURL:
キーワード
(C)SEGA 株式会社セガ Privacy Policy & EULA