8月21日(水)から8月23日(金)まで開催されたゲーム開発者向けカンファレンス「CEDEC2024」の2日目にて、株式会社カプコン・安原直宏氏の講演『「ストリートファイター6」初心者から上級者まで対応した人間らしい有機的な行動を行うCPU(AI)のしくみ』が行われた。
本記事では講演のなかで語られた、『ストリートファイター6』(以下、スト6)のCPUが担う役割や人間らしい行動の論理について紹介する。
本講演ではジャンルを問わずさまざまなゲームで、『スト6』のようなCPU動作をお手軽に組み込むことを目指していると安原氏は語っていた。
※本記事は「CEDEC 2024」運営事務局の方針を順守し、9月2日10時以降の掲載としております。
『スト6』CPUレベルによる行動の変化と役割とは
安原氏は5年ほど前にカプコンに入社しており、『スト6』ではCPUと戦いながらキャラクターのストーリーを楽しむストーリーモードと、CFN(CAPCOM FIGHTERS NETWORK)モードを担当。本講演ではストーリーモードの内容が中心に語られている。
自己紹介がおわると、「相手の体力ゲージを0にしたら勝ち」、「残り時間が0になると、体力ゲージの多いほうが勝ち」といった格闘ゲームの簡単なルールと、通常技、投げ、必殺技などの攻撃手段の説明が行われた。
その後、本講演の小テーマとなる3つの項目が挙げられた。そのひとつ目が“対戦格闘ゲームのCPU”だ。安原氏ははじめに、CPU行動の草案を1枚の表にて紹介した。この表は各レベルのCPUが取る行動の指針を示したもので、レベルが上昇するにつれ、段階的に行動が解放されていく形となっていることが分かる。
講演内で公開された映像では、レベル1ではほぼ移動のみで、技も「必殺技が出そうで出ない」行動。レベル3では時々飛ぶ(ジャンプ)が追加され、技も「必殺技は出るが、出すぎる」行動に変化。さらにレベル5ではプレイヤーに2択をかける行動が追加し、技は「必殺技は出すがフェイント付き」の行動になり、最大レベルの8では師匠のようなポジションとなり、行動も「間合いを測りつつスキには反撃」となっている。
この表からは、CPUのレベル上昇における行動の変化が一目で読み取れる。実際の製品版においても少しの調整のみが行われ、ほぼこちらの草案通りの仕組みで実装されているとのこと。
続けて安原氏はCPUの役割について大きくふたつにわけて紹介した。役割のひとつ目が“一人用アクションゲームとしてのCPU”、ふたつ目が“対人戦としてのCPU”だ。
前者の目的は『スト6』に登場する様々なキャラクターの特性・魅力を伝えること。ここでいう魅力とは、単純にキャラクターを動かす楽しさや、見ているだけでも面白いといった部分である。
一方後者は、CPUをライバルと感じてもらえるような“思考や操作の揺らぎ”を表現することにくわえ、プレイヤーがより高みに到達するための案内役として、お手本のようなプレイを見せることが狙いだという。
ゆくゆくはオンラインの前哨戦としての役割を期待しつつ、プレイヤーに各キャラクターの強みや、システム・駆け引きの理解を深めてもらうことが目的であるとのこと。講演内では各項目ごとに具体的な動画での説明がされており、非常にわかりやすい内容となっていた。
CPUの行動を決定づける3つの要素。あえて“失敗”することで人間らしさを表現
ふたつ目に挙げられたのが、本題である“人間らしく行動させるための3つの観点”だ。安原氏は、CPUの取りうる行動をカードゲームのカードのように例えて紹介した。そこから「相手のジャンプに対空を出す」といったように、状況ごとの行動を“戦術”としてカードゲームのデッキのようにまとめていると語った。
続けて映像を用いた具体的な解説が行われた。映像内では、バトル開始時、相手がジャンプを仕掛けてきたときの対空、起き上がり時といった、CPUの「リュウ」が取りうる行動をカードとして列挙。そこから相手の体力や選択時間の猶予などを考慮して、行動を決定するという。
実際に映像では、起き上がり時に相手の体力がわずかなことを考慮し、通常はガードを選択する場面で高威力の技を放つ“ぶっ放し”で勝利するシーンも見られた。
各キャラクターには「キーカード」と呼ばれる、弾を撃ったり、自分を強化したりするといった技が用意されている。これらをバトル中に発動させることで、キャラクターの面白さや強さを示しているという。ここで語られた“戦術”とは、キャラクターの特性を発揮した行動を行うことのようで、CPUのレベルが上がるほど「キーカード」の技を活用するために行動が複雑になっていく。
また『スト6』では、CPUといえども技を“ミス”することがある。具体例として紹介されたリュウ対ザンギエフの映像では、CPUのザンギエフが通常技を出してリュウにガードさせ、ガード硬直のスキを狙ってスクリューパイルドライバーの発動を試みるシーンが見られた。しかし、なぜかCPUザンギエフは技を発動することができず、後方にジャンプしてしまっていた。
スクリューパイルドライバーを出すため、通常のクラシック入力であれば、レバーを一回転させる必要がある。実際のコマンドログを見てみると、一回転させた後のボタン入力が遅れてしまっていることがわかる。
実は『スト6』では、バトル中の状況によって生じるプレッシャーを係数として数値化して技の成功判定を行っている。その上でCPUもコマンド入力を実際に行うからこそ、このミスのような現象が発生するそうだ。まるで“人間”のようなありがちなミスが、CPU戦でも表現されているのが分かるだろう。
さらに安原氏は、CPUのレベル別に戦術と実行能力の習熟度をまとめた表を紹介した。この表によると、レベル1~5までは初心者の方が操作に慣れてもらうためのチュートリアルとしてのCPU。レベル6、レベル7ほどになるとある程度操作に慣れてきた方や知識を持った中級者の方に向けた難度となっており、最大レベル8ではワールドツアーの師匠のような上級者向けのCPUに設定されていることがわかる。
くわえて安原氏はCPUが人間らしい行動を行うための補足として、レベル別の知識表現について説明を行った。
『スト6』では、レベルによって攻撃をヒットさせたときの有利状況の分解能(解像度)が変化するという。これは攻撃を当てた後、“有利かどうかわからない”、“有利なのはわかる”、“+何フレーム先に動ける”という3つの段階で知識表現が行われるということのようだ。
攻撃が当たらなければ基本的に不利になるというのは変わらないが、ヒットした際の具体的な有利時間が判明していれば、その後につながる技もおのずと見えてくる。このように技の解像度が上がることで技が動的に繋がり、より複雑な動きが可能になっていくとのこと。