ゲーム開発者向けカンファレンス「CEDEC 2024」の2日目にあたる2024年8月22日,「『ストリートファイター6』初心者から上級者まで対応した人間らしい有機的な行動を行うCPU(AI)のしくみ」と題されたセッションが開催された。
 本セッションは,「ストリートファイター6」(PC / PS5 / PS4 / Xbox Series X|S / AC)の対戦用CPU(AI)がどのように設計され,そしてどうやって初心者から上級者まで幅広く対応できる仕組みが実装できたのかを発表したものだ。


 スピーカーは,カプコンのCS第二開発統括 開発一部 第一ゲームデザイン室の安原直宏氏。格闘ゲームでは,幅広いプレイヤーにゲームを楽しんでもらうため,“適度に歯ごたえがあるAI”が必要だ。それを作るための内幕が語られた講演の模様をレポートする。




「ストリートファイター6」のCPUは何を考えているのか


 対戦格闘ゲーム自体の簡単な解説ののち,まず安原氏は「ストリートファイター6」の対戦用CPUの基本構造について解説を始めた。
 本作のCPUにはレベル1から8までの強さがあるが,これらは「移動」や「攻撃」「ガード」といった行動をどう組み合わせるかによって形作られている。下のスライドを見れば分かるように,行動のバリエーションが増えるほど,そのCPUは強くなっていく。この組み合わせは開発初期のものだそうだが,製品版でもほぼ同じ形で採用されているとのこと。


 次に安原氏は,“CPUそのものの役割”について言及した。大まかに分けて,格闘ゲームCPUには,二つの役割があるという。一つは「一人用アクションゲームの敵役としてのCPU」,もう一つが「対人戦の練習相手としてのCPU」である。

 前者のCPUの目的は,シンプルにプレイヤーに「楽しい」「面白い」と感じてもらうことにある。それと同時に基本操作に慣れてもらい,キャラクターの特性や攻略する楽しさを学んでもらうという主旨である。
 後者はさらに一歩進んで,対人戦の駆け引きを学習してもらうことを目的としている。行動の選択しに「崩し」や「反撃」「コンボ」などが含まれるようになり,ときにプレイヤーのライバルとして,あるいは師匠として振る舞うことが求められる。


 セッションでは,これらの実例を示す動画が上映された。必殺技を見せるため,プレイヤーに届かない場所でCPUが技を繰り出す様子や,キャラクターの特性を見せるため,奇襲で相手を掴みにいく投げキャラ,また反撃のタイミングを掴ませるために,繰り返し同じ技を出すCPUの動きが,ここで紹介されている。


 対人用のライバルとして立ち回るCPUの動きは,さらに高度だ。駆け引きが成立するように,プレイヤーの動きを見てカウンターを繰り出したり,ガードやヒットなどの状況によって行動を分岐させ,様子見したりといった行動をCPUが取るようになる。またチュートリアルで説明された連係を実践するなど,お手本になるような行動も組み込まれているとのこと。


 端的にまとめるなら,「一人用アクションゲームの敵役としてのCPU」は,チュートリアルを兼ねた接待的な挙動をするCPUということだろう。一方,「対人戦の練習相手としてのCPU」はさらなる上達を促し,さらにはオンライン対戦へとプレイヤーを誘う,メンターとしてのCPUということになるだろうか。


人間らしく行動させる3つのポイント


 続いて安原氏は,CPUを人間らしく行動させるための具体的な手法を,カードゲームに例えて紹介した。

 まずCPUは,自分が実行可能な動作――例えば攻撃や前進,必殺技といった行動を手札として持っている。そして特定のシチュエーションで使えるカードをまとめてデッキを作り,これを「戦術」とする。例えば“地上戦”や“起き上がり”といった具合である。

 そして,さらに複数の「戦術」をまとめて「作戦」とし,CPUのレベルごとにこれを持たせていく。例えば「地上+対空+反撃」といった具合である。そしてCPUは,対戦の状況に応じて「戦術」の中からカードを選択し,操作コマンドとしてアウトプットするわけだ(これを「実行能力」と呼ぶ)。


 氏は,この「戦術」「作戦」「実行能力」の3つが,人間らしく動かすキモだと語った。


 まず小さい単位の「戦術」だが,これは“キャラクターの特性(個性)を重視”して構成される。キャラクターそれぞれにキーカードと呼ばれる重要な行動があり,例えば特徴的な飛び道具があるキャラクターならそれを,投げ技が得意なら投げ技を優先して組み込んでいく。要するに“キャラのイメージどおりの行動セットを作る”ということだ。


 次の「作戦」は,“キャラクターの特性を組み立てる”ためにある。例えばザンギエフなら当然,特徴的なスクリューパイルドライバーを狙いたい。しかし,いきなり掴むことはできないので,前進やフェイントのジャンプ,あるいはドライブゲージを使って近づくなど,掴むまでの道筋を用意しておくのだ。


 最後の「実行能力」は文字どおりだが,実はここに“ゆらぎ”を持たせているのが重要なのだという。例えば先の「作戦」が見事にハマたったとしても,その攻撃が確実に成功するわけではない。例えば前出のザンギエフなら,掴むのに絶好のタイミングが作れたとしても,コマンドミスでジャンプしてしまうことがあるそうだ。人間がミスするように,CPUもミスをする。これが“人間らしさ”の一つなのだとか。


 整理すると,CPUは「戦術」と「実行能力」のベクトルの違う2つの能力を持っていることになる。レベルの低いCPUは,「戦術(知識)も不十分で,実行能力(行動成功率)も低い」のである。一方,強いCPUは「戦術が充実しており,実行能力も安定」している。そして弱いCPUと強いCPUの間には,「戦術は乏しいけど,行動は安定している」や「戦術は充実しているが,挙動が不安定」といったCPUが存在しているのである。


 また氏は,このパートの最後で講演タイトルにもなっている“有機的”という言葉について補足を行った。この言葉には,CPUのレベルによって知識表現――状況理解の解像度が変化するという意味が込められているそうだ。

 例えばある攻撃がヒットしたとき,CPUは今が有利か不利か,それとも分からないかといった判断を行っているが,CPUのレベルが上がると,この判断がより正確になるという。つまり強いCPUは「攻撃が当たったからなんとなく有利」ではなく,「○○の状況で××が当たったから△△フレーム有利」と正確に把握し,適切に次の攻撃を繰り出すようになるのである。
 知識が増えれば状況判断が正確になり,それがさらに次の選択肢へとつながる。これに実行能力の高低が掛け合わさって,人間っぽい挙動が演出されるというわけだ。



対人CPUを長期運用に対応させるには


 最後に,ゲームを長期運営するにあたって注意すべき点について,CPUデザインの観点から解説が行われた。氏の結論としは,それは「データへの依存度を下げる」ことだという。

 例えば各技のダメージやフレームなどのデータは,大きなアップデートがかかると変更される可能性がある。なので,こうしたデータに依存していると,アップデートのたびにCPUにも大きく手を入れなくてはならなくなる。その管理コストは莫大だ。
 なのでCPUの判断材料は,基本的にはアップデートでも変化しない情報を元にするべきだ。「ストリートファイター6」では,勝利ラウンドや体力,位置や距離といったものがこれにあたる。


 氏は最後に,「作戦」「戦術」「実行能力」の3つをCPUのレベルに合わせて実装し,プレイヤーにマッチした形で組み合わせることが,幅広いプレイヤーに対応する方法だと語り,講演を締めくくった。

安原氏は,「作戦」「戦術」「実行能力」という本作のCPUの仕組みは,動作や思考時間を調節することで,そのままほかのジャンルにも転用できるのではないかとも話していた

鄭重声明:本文の著作権は原作者に帰属します。記事の転載は情報の伝達のみを目的としており、投資の助言を構成するものではありません。もし侵害行為があれば、すぐにご連絡ください。修正または削除いたします。ありがとうございます。