イベント
[CEDEC 2023]「スト6」の対戦を盛り上げる「自動実況機能」は,どのように作られたのか。システム構築や技術を解説するセッションをレポート
「ストリートファイター6」(PC / PS5 / Xbox Series X|S / PS4)で対戦中に使用できる「自動実況機能」を導入した目的や,システム構築,膨大なセリフ量を処理する工夫などが語られた講演の模様をレポートしよう。
そもそもなぜ,実況機能の導入を企画したのか
最初に薮下氏から,「そもそもなぜ,実況機能をゲームに導入したのか」が語られた。
実況機能導入で目指したところには,広い層に格闘ゲームの面白さを知ってもらう足がかりにしたいという思いがあったという。
なんとなく難しそうで,とっつきづらそう。画面で何が起こっているのか分かりづらい。駆け引きのポイントやテクニックが分からない。運の要素がない,ストイックで厳しいゲームに見える。そういった印象を持たれがちな格闘ゲームだが,実際に遊べばその奥深さをきっと楽しめるだけに,そう思われたままにしているのはもったいないと,いち格闘ゲーマーでもある薮下氏は考えていた。
格闘ゲームをそこまで知らなかった人が,ちょっと手に取ってみようと思えるものに。そういった考えのもと,3つの役割を持たせる形で実況機能の実装を目指したという。
1つめは,「今,何が起こっているのかを伝える」。実況として当たり前な部分だが,ゴリゴリでマニアックな実況ではなく,対戦中に繰り広げられるさまざまな展開や場面を,きちんと伝えることが重要だと捉えていた。
2つめが,「盛り上がるポイントを伝える」。目の前で起きている状況を説明するだけではなく,これがどう面白い出来事だったのか,どれだけすごいことだったのかを伝え,エンターテイメント性を高めるという役割だ。
3つめが,「リアル大会の雰囲気,緊張感を伝える」。近年,身近な存在となったeスポーツ大会だが,実際に大会に出たかのような気分になれることは,幅広い層のプレイヤーにとって嬉しい体験になるのではないか。その体験を生むためにも,リアルの大会の持つ雰囲気をなるべく再現することが重要だと考えていたという。
実況機能を実現するための3つのステップ
そういった思いを込めた実況システムは,3つのステップで実装されている。
最初に,開発側の事前作業として,専用ツールを用いて「セリフとその状況データの設定」が行われた。
投げ技が決まったときを例に挙げると,「『通常投げ』というアクションをし,かつそれが『通常ヒット』した場合は『投げる!』というセリフにしよう」というように,さまざまな場面において,“その状況の何を見てセリフをしゃべるのか”の設定と保存を繰り返した。
そして2つめのステップとして,ゲームが実際にプレイされているとき,「今のゲームの状況が,設定したセリフの状況と一致しているか」を内部的にチェックし,「話すことができるセリフ」にマークを付けた。
最後のステップは「実際に話すセリフの選択」だ。前工程でマークが付けられたセリフとして「投げて?」「投げる!」「ここで投げていく!」の3つがあった場合,フレームごとに各セリフの優先度を設定し,もっとも優先度の高いセリフを選ぶ仕組みとなっている。
システム構築の重要なポイントとなった「セリフの条件数」と「セリフ数」
実況システムを構築するうえで重要な項目となったのが,「セリフの条件数」「セリフ数」の2つだ。
セリフの条件数とは,対戦中のあらゆる状況に言及するための,セリフの条件分けの数のこと。例えば技であれば,通常投げ1つとっても「空振り」「通常ヒット」「カウンターヒット」「投げ抜け」という4パターンがある。
体力の状況も,たとえイーブンだとしても,お互いに80%以上という余裕がある場面や,お互いに5%以下でどちらかの一撃で勝負が決まってしまう場面など,いろいろとある。
また,どちらかが少し不利だったり,一方的に押されていたりという場面もあるので,かなり細かく分類できる。
格闘ゲームにはさまざまなテクニックやシチュエーションが存在するため,幅広く対応できるようなセリフを使う必要があるが,それでも限界がある。かなり絞ることはできたものの,リリース時点でも350以上の条件が存在したという。
それらの条件は,実際の大会実況を見て,実況者がよく反応するポイントなどを洗い出して決めたとのこと。
また,ストリートファイターシリーズの根本にある的な駆け引きやルールをベースに,ストリートファイター6の新システムによって,実況者が反応しそうなポイントを予想し,それも書き出した。
とは言えゲーム自体も開発中の段階だ。日々修正や変更が行われるため,開発状況に追従しながら臨機応変に条件を決めていく必要があり,この作業にはなかなかの苦労があったという。
セリフ数はそのまま“各条件に紐づくセリフの量”だ。同じセリフが何度も発生してプレイヤーが飽きてしまうことを避けるため,基本的に各条件には専用のセリフを用意し,とくに重要なシーンやよく起きやすい場面のセリフは多めに設定したという。
リアルな実況を実現する「テンションシステム」
それらの設定をもとに,リアルな実況を実現するため「テンションシステム」というシステムを構築した。
これは,試合の序盤やファイナルラウンド,お互いにギリギリの体力でどちらが勝つか分からないといった,試合の状況に合わせて言葉の強さをコントロールする仕組みだ。
試合の内容によって変動する「テンション係数」という数値を設定し,実況の勢いに応じたセリフをその値に割り振ることで,状況にあったテンションのセリフが選ばれ,ゲーム中の実況音声として届けられる。
テンション係数を割り出すうえで,「体力差変数」と「残体力変数」というパラメータが用意された。「体力差変数」は,体力差によって0.5〜1.0の間で動く変数で,体力差がないときは最低保障値の0.5だ。「残体力変数」は,0.0〜1.0の間で動く変数で体力が少ない側のプレイヤーの体力割合に対応するもの。最初に,この「体力差変数」×「残体力変数」で0.0〜1.0のテンション係数を割り出す検証を行ったという。
その結果,どうなったか。下の図のように,お互いのプレイヤーが体力MAX状態のときは,体力差変数1×残体力変数0でテンション係数は0,プレイヤー2が一方的に減っている状態は体力差変数0.5×残体力変数1で0.5,両方の体力がほぼない(どっちが勝つか分からない)状況だと体力差変数1×残体力変数1で1と,想定どおり実況のテンションには違いが出た。
だが,まだ何か足りない。そう考えた開発チームは,もう一つの軸があることに気がついた。それは残り時間。格闘ゲームは,体力だけではなく残り時間も緊張感ある実況を生む要因となっている。
そこで,「残時間変数」を追加することに。こちらの方針はシンプルで,残り時間が短くなるほど数値が上がる設定にし,最終的にテンション係数は「体力差変数×残体力変数 or 残時間変数」で,残体力変数と残時間変数はその数値が高い方を採用するという形になった。これによって,体力だけではなく,残り時間が短くなった時のデッドヒート感も演出できるようになった。
さらに,意図しないラウンドで急激にテンション値がMAXになるようなことを避けるため,ラウンド別で「テンション値が動けるレンジ」を設定し,ラウンドが進むにつれて自然な流れで盛り上がるよう,ラウンドごとに初期値がリセットされるようにも設定した。
実況のセリフは一つひとつ,5段階のテンションに割り振るかたちで制作された。そのセリフ量は4000以上。用意されたセリフは汎用的なものが80%,技名などのキャラクター固有のものが20%とのこと。
この膨大なセリフをどうやって調整したかというと,ほぼ人力でトライ&エラーを繰り返したのだという。セリフが何回呼び出されたか集計するツールや,大量のデバッグ機能を用意してもらって効率化したものの,セリフ出現のバランス調整に正解はなく,実際の格闘ゲーム大会の実況などを確認しながら,感覚的に調整を行うほかなかったそうだ。
ただ,実況機能の制作チームは小規模だったので,トライ&エラーはかなり早いサイクルで回すことができ,そのぶん長い時間をかけながらクオリティアップを図れたということだった。
システムを構築するうえでぶつかった問題とその解決
プログラマーの岩本氏は,システム面での課題の解決について説明した。
大きな課題は2つあり,その一つがセリフの物量による処理負荷だった。60fpsで動作させながら,4000以上のセリフ量がある実況の制御をリアルタイムで行わなければならないが,仮組みでテストした段階では,60fpsが達成できない状態だったという。さらにクオリティアップのための仕様の追加が見込まれるため,本実装するにはそのぶんの負荷上昇も考慮しなければならなかったそうだ。
2つ目の課題は,対戦中に発生するロールバックとロールフォワードへの対処。ストリートファイター6では,バトル中の通信同期の制御として,特定のフレームまでバトルの状態を巻き戻し,通信相手が相手から届いた入力情報をもとに早回しを行うという同期の制御が行われている。その関係で,実況システムがセリフを再生したあとにバトルが巻き戻り,セリフと異なる状況が発生しその実況の内容がウソになるという,システム上の問題が発生したそうだ。
それら2つをどう解決したのか。まずは,実況システムが約0.3秒ほど前のフレーム情報を参照するように変更したという。
バトル同期の仕組みとしてロールバックがあるストリートファイター6は,もとより現在のフレームから過去数十フレームの情報を保持するようにできている。実況システムは,そのさらに前の情報を参照するように設定したのだ。
巻き戻しの範囲よりさらに前のフレームを見る仕組みにすることで,常に安定した情報を参照可能となり,バトルの状況とズレがない,正確なセリフの再生を実現できた。
過去フレームの情報を参照する形にしたことで,処理時間の部分でもメリットが生まれた。1フレームの処理の流れとしては,バトルの更新を行ったのち,その情報を元に実況システムを更新して音声を再生するという順序だったが,過去フレームを参照する形式に変えたことで,バトルの処理と並行して実況システムの更新を行えるようになったことが理由だ。
また,自動的にセリフ再生に0.3秒ほどディレイがかかるようになり,リアルな実況のクオリティアップにつながったという副次的なメリットもあったという。実際のリアルな実況を聞いていると,何か物事が起きてから0.3秒ほど遅れてその状況が届けられるとのことで,システムに導入するにはタイマーなどのプログラムによる制御が必要だが,今回の対処は自然な形でそれを実現する結果となった。
また,テンションシステムも,処理負荷の解決につながった。全体のセリフ量は膨大だが,テンションシステムによって状況別でセリフのパターンと数が絞られるため,その状況で候補となるセリフしか更新しないよう制御することで,更新処理を約40%ほどに削減できたという。
なお,これはセリフの分布を5つのテンションで均等に分けていることが前提にあり,薮下氏が企画の時点でシステム面の事情も考慮し,セリフの配分をコントロールしていたことが大きな要因だったとのこと。このシステムの実現には,システムを深く理解した企画担当が重要だとも語っていた。
本人として出演する実況者自身の“言葉とテンション”を大切に
続いて,薮下氏から実況者の選定について説明がなされた。実況機能のゴールに,格闘ゲームの面白さを知ってもらう足がかりにしたいという考えがあるのは,序盤に語られたとおり。リアル大会のような生の声を再現するため,架空のキャラクターによるものではなく,実際の実況者であることは重要な条件だったと薮下氏は話す。
膨大なセリフ量に対応でき,どのような場面で実況しても違和感がない人。テンションシステムを生かすうえで重要な,緩急を使った盛り上がりを演出できる人。プレイヤーが自身のプレイを実況してもらえてワクワクするするような現役の実況者。
それが,プレイヤーとしての知識が豊富で個性的なキャラクターのアール氏,アナウンサー出身で的確な状況表現と安定感のある優しい実況が持ち味の平岩康佑氏だったという。
収録は,基本的には実況者がしゃべりたいことを最優先して行われた。事前台本はもちろん用意したが,ゲームに本人として出演してもらううえで,実況者自身の言葉が最も良いと考えたそうだ。
また,セリフっぽくならないようライブ感を重視し,“言葉の勢い”を殺さないよう,多少聞きにくいところなどがあってもそのままで収録を進めたという。
そして,プレーヤーをサゲるような,ミスを指摘するようなセリフは絶対言わないというルールも作った。
そもそも実況でミスだと指摘する必要がないほかに,さまざまなテクニックがある格闘ゲームには,あえて技を受けてリスクを下げるといった戦術があるため,何をもってミスとするかは事前に設定できるものではないという考えもあってのことのようだ。
アンドリュー氏からは,英語版の実況者の選定と収録について語られた。
選定はおおよそ日本の実況者と同じ。4000以上のセリフをさまざまなテンションで,バラエティあふれるワードで収録できるような,大規模大会の実況経験者で,発売後も継続的にアップデートに対応でき,そして日本側のアール氏,平岩氏と並んで遜色のない実力者が絶対条件だったとのこと。
こうして選ばれたのが,落ち着いたテンションのときも,熱く盛り上げるときも,質の高い実況を行うJeremy "Vicious" Lopez氏と,ムードメーカー的なポジションのSteve "TastySteve" Scott氏の2人。どちらもCapcom Cupのレギュラーとしても知られる実況者だ。
台本は,日本語の翻訳ではなく完全オリジナルで収録された。日本語と英語の表現の違いなどがその理由だが,こちらも日本と同じく,実際の実況者にお願いしたのだから,その人の得意な言い回しや名言を使いたいというのが何より大きかったそうだ。
ユーザーの反応をどう受け止めたのか
こうして導入された実況機能のユーザーの反応について,薮下氏は「おおむね想定通りの反響をいただけた」と話す。発売前のトレイラーやクローズドβテストでの評判も上々で,格闘ゲームのプレイヤーだけではなく,カジュアルな層やプレイ動画の視聴が好きな人の興味も引けたと感じたそうだ。
「体力ゲージの状況,新しいシステムや技を教えてくれて,ゲーム理解につながった」「なんとなく盛り上げてくれるから,1人のバトルが寂しくない」といった反響も,SNSなどで見られたとのこと。
そういったさまざまな反響を見て,技名や固有名詞を出すことは,没入感の向上につながるということに気付かされたという。自分が発動させた技に実況者が反応してくれるのは,プレイヤーとして嬉しい部分だ。
これを続けていくと,アップデートでキャラクターを追加する際に,その都度技名や固有名詞を収録する必要が生まれ,それによるコストも発生するわけだが,そういった面があったとしても,導入した価値があったとあらためて感じたそうだ。
まとめとして,実況機能を導入したことで,当初の目標であった,格闘ゲームの「難しそう」という印象をある程度和らげることに貢献できたと語られた。また,実際の実況者を起用することで,プロモーション面でも大きな反響があり,格闘ゲームコミュニティ中心に訴求力が生まれたこともよい結果だと受け止めているそうだ。
最後に,実況機能で一番重要だったこととして「方向性の決定とセリフ数の見積もり」が挙げられた。あれもこれも言わせたいと,セリフの量や発生条件を欲張ると,とんでもない物量となってしまう。実況の方向性をしっかり定め,セリフや条件を取捨選択していくという意識を常に持ち続けることが,実況機能の実現につながると語った。
「ストリートファイター6」公式サイト
4Gamerの「CEDEC 2023」記事一覧
- 関連タイトル:
ストリートファイター6
- 関連タイトル:
ストリートファイター6
- 関連タイトル:
ストリートファイター6
- 関連タイトル:
ストリートファイター6
- この記事のURL:
キーワード
(C)CAPCOM CO., LTD. ALL RIGHTS RESERVED.
(C)CAPCOM CO., LTD. ALL RIGHTS RESERVED.
(C)CAPCOM CO., LTD. ALL RIGHTS RESERVED.
(C)CAPCOM CO., LTD. ALL RIGHTS RESERVED.