
『やり込みの滲む一撃ィ!』『どんな神経してんだ~!』等々、耳に残るフレーズでプレイヤーの対戦を盛り上げてくれる『ストリートファイター6』の自動実況機能。
8月23日にスタートしたゲーム開発者向けカンファレンスイベント「CEDEC2023」では、そんな機能にスポットを当てた【『ストリートファイター6』対戦を熱く盛り上げる自動実況機能の取り組み】と題したセッションが行われました。
本稿ではシステム実装に至るまでの道のりや実況者選定、そして英語版への翻訳などが語られたセッションの内容をレポートいたします。それでは行ってみましょ~!
条件とテンションに合わせたセリフを選定する仕組み
セッションに登壇したのは『ストリートファイター6』において自動実況機能の他、バトルハブモードなどを担当しているプランナーの薮下剛史氏。そして同機能の実装を担当したプログラマの岩本卓也氏と、『モンハン』シリーズなども担当してきたローカライズディレクターのAndrew Alfonso氏の3名です。
セッションはまず薮下氏による自動実況機能の概要紹介からスタート。「難易度が高くとっつきづらい」印象を持たれている格闘ゲームの面白さを知ってもらう足掛かりとしての企画であり、「ゲーム内で起っていること」「盛り上がるポイント」そして「リアル大会のような雰囲気や緊張感」の3つをプレイヤーに伝える役割をゴールとしています。

自動実況機能でセリフが流れるのは以下のような仕組みです。
まず最初に専用のツールで「対戦の何を見てセリフをしゃべるのか」の条件を設定・保存
実際の対戦で設定した状況が発生すると対象となるセリフ群に内部的にマークがつけられる
セリフ群の中から最も優先度の高いものが音声として選択される
まず①のセリフの条件については、既存のシリーズで実際に実況者がよく反応するポイントに加えて、『スト6』の新システムで実況者が反応しそうなポイントを予測して洗い出しが行われました。最新作ではドライブインパクトなど対戦の根幹にかかわる新要素が登場したことで、テストプレイを繰り返しながら仕様変更にも対応していく柔軟さが求められる作業となり、ブラッシュアップを重ねながらリリース時だけでも350以上の条件が設定されているとのこと。


長らくシリーズ、そして大会が展開されてきた『ストリートファイター』シリーズならではのメリットも生かされた形となり、薮下氏も「新たな作品で実装する場合、条件決めの難易度は上がるのではないか」とコメントしました。
続いては、そうして設定された多数の条件に紐づいたセリフの準備。1つの条件に対応するセリフの数はバラバラで、重要なシーンや起きやすい場面については同じ言葉が頻出しないようセリフも多めに設定されています。
そして最終的なセリフ数の決定に大きく関与したのが「テンションシステム」です。これは試合内容によって「言葉のつよさ」を変動させるために生み出されたシステムで、同じ「通常投げ通常ヒット時」の言葉ひとつ取っても、序盤の『投げる!』と試合が決着する『投げる!』では、求められるテンションが変わります。

そこで制作チームは試合の盛り上がりを数値化・コントロールすることに。ここで注目したのが格闘ゲームの勝利条件に直結する「残り体力」であり、体力が少なくなるほど、そして体力差が小さいほど重要な局面だと判断する「テンション係数」を作成。さらにテストプレイを重ねた結果、試合が重要な局面になりやすい「残り時間」についても係数化し、式に組み込むことで試合の白熱度を数値化するシステムが生まれました。

また、この「テンション係数」はファーストラウンドから急激に最高潮を迎えてしまわないよう、ラウンドごとに変動可能なレンジも設定されており、終盤になるほど自然と盛り上がる仕組みに。5段階のテンションで収録されたセリフの中からその時のテンションに最も近いセリフを呼び出すよう設定されており、最大の「テンション5」ではまるで大型大会の決勝戦のようなシャウトも収録されています。

そうして5段階分用意されたセリフは最終的には約4000もの数に上り、うち80%が汎用セリフで、残りが技名を叫ぶなどキャラ固有のものに。これだけ膨大な条件とセリフ量のはなんとトライ&エラーの繰り返しで人力で調整されており、集計ツールなどによる効率化は行われつつも、最終的には実際の格闘ゲーム大会の実況をイメージした感覚頼りの作業に。
これには薮下氏も「あまりCEDECらしくない紹介になってしまいますが」と苦笑していましたが、自動実況の実装に取り組んだユニットが企画、プログラマー、サウンド、ローカライズ担当と少人数だったことで早いサイクルで回せ、クオリティアップに繋がったと振り返りました。
約0.3秒のディレイが自然な実況と負荷軽減のポイント
続いてはプログラマーの岩本氏がマイクを取り、システム面で直面した課題とその解決法についての解説に。
ここまでで作成された4000ものセリフの制御はリアルタイムで行うと負荷が大きく、仮組みの段階では60fpsの動作を担保できない課題にぶつかることに。また、通信同期に使用するロールバック/ロールフォワードの制御によって「実況機能がしゃべった内容が、巻き戻りによって嘘になってしまう」問題も発生していました。

そこで解決法として行われたのが、実況機能が約0.3秒過去のフレームを参照するように変更すること。するとロールバックによる齟齬は発生しなくなり、現在フレームで発生している対戦情報を元に実況システムを並列して更新していくことも可能になりました。加えて、実際の実況でも事象が起こってから発生に至るまでは約0.3秒程の遅れが存在していることが分かり、タイマー等で敢えて制御せずとも「自然な実況」を生み出せるようになったとのこと。

また、盛り上がりの演出のために作られた「テンションシステム」の「現在のテンションに近いセリフのみ選ぶ」仕様を利用し、発生し得るセリフのみ更新を行うことで40%ほどの負荷軽減にも成功。
本機能の実装に際し、ロールバック対策によるディレイが自然な発声タイミングに繋がっていたり、テンション分けが負荷軽減に繋がったりと、意外にも「実況システム」は「ロールバックによる同期形式のゲーム」との相性が良いとの発見があったと振り返った岩本氏。しかし、これが実現したのは企画の薮下氏がシステム部分も考慮して全体的なセリフのコントロールを行えたことを要因として挙げ、「バトルと実況のシステムを深く理解した企画担当が必須」との見解を述べました。

個性ある実況を実現する選定&ローカライズの工夫
再びスピーカーは薮下氏へと戻り、ここからは本システムの重要なファクターである「実況者の選定」と「英語版への翻訳」についての話題に。
冒頭で紹介した「伝えたいこと」を達成するためには、リアル大会のような「生の声」をゲームに取り入れたいとの意向があり、加えて膨大なセリフ数収録に耐えられ、緩急を使った演出が可能であり、現役で実況者として活躍して認知を得ていることが条件に。これら全ての条件を満たすのが本作で自動実況音声に収録されているアールさんと平岩康佑さんの2名であり、コアなファンから新しい層まで取り入れたいという狙いにもピッタリの人選になったと振り返りました。

台本作成や収録にあたっては「実況者の喋りたいことを最優先」や「ライブ感の重視」などのポイントがあり、あくまで実況を演じるのではなく本人が発するであろう自然な言葉を優先して採用し、多少聞き取りづらい面があってもOKとしたセリフも多いとのこと。
「テンションシステム」については制作スタート時は3段階だったところから、検証を進めるうちに綺麗なグラデーションをかけるために5段階に増えたこと、そしてプレイヤーを下げるような否定ワードについても、プレイがミスであったかどうかをシステムで検知するのは難しく、言わせる必要がないと判断したことなども明かされしました。

続いてはAndrew氏が英語版へのローカライズについて紹介。英語版の実況機能でも将来のアップデートへの対応などさまざまな条件を加味した人選が行われ、ストリートファイターリーグの実況者も務めるJeremy“ Vicious”LopezさんとSteve“TastySteve”Scottさんの担当に。

また、英語版の台本作りは日本語版を翻訳するのではなく完全オリジナルで作成されています。アールさんの印象的なセリフである『パニッシュカウンター、一閃!』も英語に翻訳してしまうと意味が伝わらないため、TastySteveさんバージョンでは『Punish Counter to save the Galaxy!(パニッシュカウンターが宇宙を救う!)』として収録するなど、実況者が言いそうな言葉選びをポイントとして紹介。

日本語版の台本やセリフの長さや発生条件を参考に作成した英語版台本を本人に監修してもらう事で完成しており、海外では飛び道具・弾を「plasma」と呼ぶ文化なども台本へ取り入れています。収録では日本語の長さにピッタリ合わせることは難しいので0.5秒のセーフゾーンを用意し、自然な演技に聞こえるよう短いブレスや各セリフの前に『Ah~』などの「Pre-Life」を入れるなど、英語版実況の完成に至るまでの多彩な工夫が紹介されました。
セッションのまとめには、薮下氏はリリース後の反響がおおむね好意的であり、アップデートの大変さはあるものの、技名や固有名詞を呼ぶことが没入感アップに繋がっていることを紹介。また、予期せぬ発見として「対空を意識していた」と実況されると実際の意識の有無に関わらず嬉しさに繋がることや、集中している対戦中に間を埋めてくれる役割にもなりワードチョイスの面白さが楽しまれることもあって配信との相性が良いことなども挙げられました。

一方で「実況の中身が薄い」との意見があることにも触れ、システム的には高度な内容を盛り込むことは可能ではあるものの、アップデートによって駆け引きの内容が変化していくと「間違った発言」になってしまうリスクもあることから、最初から言及しないと決めていると述べられました。
自動実況は当初の目的である「難しそうな印象を和らげる」ことに貢献しており、キャスターを起用することでプロモーション段階から大きな反響が得られるなど、大きな成功を収めています。
薮下氏はシステムの要点であるセリフへの条件付けが無限に可能であることから、制作スタート時の「方向性の決定」と「セリフ数の見積もり」が重要であるとコメントし、セッションの結びとしました。

皆さんも『スト6』プレイ時には自動実況のテンションにも注目しつつ、最大テンションを引き出すプレイを目指してみてはいかがでしょうか。