スクウェア・エニックスの技術者が活用した「感情を揺さぶるメタAI」。二次元感情マップを使った実装例を解説【CEDEC2019】

今月9月4日から6日にかけてパシフィコ横浜にて「CEDEC 2019」が開催された。CEDECはCESAが主催するゲームデベロッパー向けのメジャーカンファレンスで、3日間の開催期間中にはゲーム開発者や関連技術に関わる方向けにさまざまなセッションが開かれた。今回の記事では、株式会社スクウェア・エニックスのAIリサーチャーである里井大輝氏による「感情を揺さぶるメタAI~ゲームへの実装方法とバランス調整への応用事例~」セッションの内容と様子をお届けする。

 

そもそもメタAIとは何か?

ゲームにはさまざまなAIが組み込まれている。NPCの挙動を制御するキャラクターAIなどがその代表例だ。では「メタAI」とはどのようなAIかというと、先程例に上げたキャラクターAIよりもさらにマクロな範囲でゲームをコントロールする、ゲームシステム全体を操作するAIのことだ。セッションでは、プレイヤーのパフォーマンスによってゲーム中の難易度を調整する『ゼビウス』や、敵のスポーンに緩急をつけることでプレイヤーの緊張度を操作する『Left 4 Dead』、マップ上にイベントを自動生成する『Far Cry 4』などがメタAIの実用例として挙げられていた。

里井氏はさまざまな活用法が考えられるメタAIの中でも、特にバトル中に難易度を動的に変化させるメタAIに注目した。プレイヤーが操作するキャラクターと、それぞれキャラクターAIが操作する仲間NPCと敵NPCが登場するバトルで考えてみても、メタAIにできることは非常に多い。メタAIを最大限活用するためにもバトルにおける要素やパラメータをどういう風に操作すればバトルが「おもしろく」なるのか、そのための指針が必要だ。

バトルをおもしろくするといったが、具体的にここで里井氏が目指すべきとしたのは「あらゆるプレイヤーがおもしろく遊べる」というところだ。つまりアクションの得意不得意や、プレイヤーキャラのレベル(ステータス)の高低に関わらずおもしろくバトルができるためにはどうすればいいか。これを達成するためにメタAIの力を借りる。

おもしろいというのは、言い換えれば退屈しないということだ。里井氏は、バトルをおもしろくするためにはプレイヤーの感情を常に揺さぶり続けることが必要だと考えた。こう考えることによって、「バトルをおもしろくするためにメタAIはゲーム要素をどう操作すればいいのか?」という問題は、「メタAIがプレイヤーの感情を揺さぶるためにはどのゲーム要素を操作すればいいのか?」「ゲーム要素はプレイヤーの感情とどのように対応しているのか?」という問題に置き換えることができるというわけだ。このアプローチは、メタAIの実用例として挙げた『Left 4 Dead』などですでに取られている手法でもある。こういったゲームではプレイヤーの「緊張度」という概念が導入されていて、敵NPCのスポーンする数や位置などをリアルタイムに調整することによってこの緊張度が周期的に上下するようにメタAIが操作している。

しかしこの緊張度を扱うモデルの問題点として、プレイヤーの感情を一次元的な尺度に落とし込めてしまっていることがある。プレイヤーが緊張状態にあるか、リラックスしているかという物差しでしか感情を扱えないのだ。より高い精度で、そして飽きさせないようにプレイヤーの感情を揺さぶるためには扱える感情の種類を増やす必要がある。

 

「二次元感情マップ」の導入

そこで里井氏が提唱したのが、プレイヤーの感情を「勝利への期待感(H: Hope of Winning)」と「敗北への不安感(F: Fear of Losing)」の2つの尺度で定義する「2次元感情マップ」モデルだ。このモデルでは、プレイヤーの感情をこのHとFを軸とした二次元平面上のベクトル(EP: Emotion Point)で扱う。たとえば1on1のバトルを想定するとして、敵NPCがプレイヤーキャラクターを圧倒している場合は「勝利への期待感」は低く、「敗北への不安感」は高い。この時プレイヤーの感情はマップ上では左上のナーバス、ストレスの場所に位置している。逆にプレイヤーが敵NPCを圧倒している場合は「勝利への期待感」が高く「敗北への不安感」が低いため、プレイヤーはマップにおける右下、つまり穏やか・リラックスした状態であると考えることできる。

この二次元感情マップモデルを導入することで、緊張度のモデルよりも遥かに多彩な感情を扱うことが可能となる。また、「プレイヤーの感情を揺さぶる」という目的を達成するためにはマップ上でEPを動かせば良いということになる。ゲーム内におけるどの要素が「勝利への期待感」「敗北への不安感」に対応しているかさえ把握できれば、それらの要素を操作することによってEPを自由に動かすことが可能となる。そしてこのモデルでは、例えば「味方が自キャラのHPを回復してくれると敗北への不安感は減る」「敵キャラが隙の多い攻撃を連発すると勝利への期待感が増す」といったように、ゲーム内要素とプレイヤー感情の対応が非常に設計しやすいというメリットがあるのだ。

 

具体的な手法

では具体的にメタAIはどのような手順で目的を達成するのか。まず、ゲーム内の各種パラメータやログ、変数を読み取ることによってプレイヤーの現在の感情、すなわちCurrent EPの推測を行う。ここで再び1on1のバトルゲームと、そのゲームにおける「HP」と「攻撃ヒット率」という2つの要素を例に考えてみる。この時、自キャラの攻撃ヒット率と敵キャラのHPは「勝利への期待感」を増減させる要素であり、敵キャラの攻撃ヒット率と自キャラのHPは「敗北への不安感」を増減させる要素である。事前に対応したカーブデータを用意しておき、これらの数値から評価値を算出することでCurrent EPを推測しマッピングすることができる。

次に行われるのは「プレイヤーの感情をどう動かしたいか」、すなわちGoal EPのプランニングだ。Goal EPをどのように設定するかは非常にゲームデザインに依存する部分で、プロジェクトに応じて柔軟に設計する必要がある。言い換えれば「プレイヤーの感情をどのように揺さぶるか」というのを決める部分でもあり、ユーザーのプレイ体験に大きく影響するのだ。ここの工夫では、例えばバトルの進行度に応じてGoal EPの範囲を徐々に感情マップの右上側に狭めていくことで、バトルの終盤になるべくプレイヤーが「興奮、幸せ」の状態になるように狙ったプロジェクトなどがあったという。

最後に行われるのが「Next EPの更新」という作業だ。Current EPをGoal EPに近づけるための中間地点を計算し、そこをNext EPとする。このNext EPを設定することで、徐々にプレイヤーの感情をGoal EPへと誘導することが可能となる。そして、大切なのはメタAIがこのNext EPに基づいてゲーム内の要素やパラメータを操作するということだ。1on1バトルの例で言えば、Next EPがCurrent EPの左側にある時はすなわちプレイヤーの「勝利への期待感」を減らさなければいけないということになる。「勝利への期待感」に対応するゲーム内要素は自キャラの攻撃ヒット率と敵NPCのHPであるが、ゲームデザイン上敵NPCのHPという要素をメタAIが自由に弄るのは無理がある場合が多いため、「敵が隙の大きい攻撃を控えるようになる」「プレイヤーの攻撃に対する反応速度が向上する」などといった調整により自キャラの攻撃ヒット率を減少させることで、「勝利への期待感」を減らすことができる。

このモデルにおいてはゲーム内要素が「勝利への期待感」「敗北への不安感」にどう対応するかをゲームデザイナーが把握しておくことが重要となる。これはある程度は経験則で考えるしかない側面もあるが、基本的には「自キャラのHPはFear、敵キャラのHPはHope」というように対称的な関係になっているものが多い。シューターやカードゲームのようなゲームでも、同じようにゲーム要素を設計することができるだろう。

 

1on1バトルデモへの組み込み

里井氏は実際にこの二次元感情マップを利用したメタAIを今まで何度も例に使ったシンプルな3D1on1バトルに組み込み、さらにゲームプレイ分析ツールを導入してプレイヤーの感情とゲーム内要素をトラッキングしている。二次元感情マップ上では「ナーバス・ストレス」「緊張・警戒」「興奮・うれしい」など8つの感情分類がマッピングされているが、そのエリア内にEPがあるからといってプレイヤーの感情が完全にその状態にあると考えるのは難しい。里井氏はEPに対して、これらの8の感情分類にそれぞれどれくらい近いかを0~1の類似度で評価するシステムを導入した。例えばEPが二次元感情マップ内の第一象限に存在する時、プレイヤーの感情は「緊張・警戒」「興奮・うれしい」「幸せ・満足」の3つがミックスされた状態であると考えることができる。

ゲームプレイ分析ツールでは、8つのタイプに対するこの類似度の数値がタイムラインで表示されている。さらに、このタイムライン上にHP・MPなどのパラメータや攻撃のヒット・空振りなどのイベントを表記することにより、どのようなゲーム内要素が強く感情に作用するか(=EPを動かすか)の分析を容易にする工夫などが行われていた。このデモでは初心者も上級者も概ね楽しめており、ほぼ全員が0〜2回のリトライでクリアすることが出来たと里井氏は述べた。ただし、感情の長期的な変化や細かな変化がゲーム内要素とどう対応しているのか分析することは、まだ困難であったというフィードバックもあった。

今後の課題としては、まずCurrent、Next、Goalの3つを扱うメタAIの仕組みそのものに改善の余地があるとのことだ。Current EPの測定精度はゲーム内要素だけではなくプレイヤーの入力パターンなどからも推測することが可能だと考えられる。キー入力が非常に多く複雑な操作の最中にあるプレイヤーがリラックスした状態にあるとは考えづらいだろう。また、Next EPに関しても単純にGoal EPに近づけていくのではなく、最適なパスを計算するようにするべきであるし、Goal EPの設定に関しても位置検索システムを利用するなどの工夫を考えることができる。また、このメタAIモデルはバトルだけではなくAIによる会話やレベル・クエスト生成などにも幅広く使えるはずであり、そういった分野への応用も今後目指していくと里井氏は語った。

キャラクターAIなどと違ってメタAIはその働きがプレイヤーの目には直接見えないということが特徴のひとつではあるだろう。そして、プレイヤーにその作為を意識させずにより優れたゲーム体験を提供することがメタAIの強みであり、またゲームデザイナーの腕の見せ所でもある。プレイヤーとしてその存在を直接意識することがなくても、影でゲームのおもしろさを支えるメタAIの今後の進化にもぜひ注目していきたい。

ニュース

Indie Pick

インタビュー

レビュー・インプレ

Devlog