No.021 特集:デジタルテクノロジーが拓くエンターテインメント新時代

No.021

特集:デジタルテクノロジーが拓くエンターテインメント新時代

Expert Interviewエキスパートインタビュー

7つの意思決定モデルがカギ

── キャラクターAIはどのようなしくみで行動しているのでしょうか。

人間の意思決定は非常に高度で複雑なプロセスです。そこでゲームでは以下の7つの意思決定モデルに整理します。ルール(規則)ベースAI、ステート(状態)ベースAI、ビヘイビア(行動)ベースAI、ゴール(目標)ベースAI、タスク(仕事)ベースAI、ユーティリティ(効用)ベースAI、そしてシミュレーションベースAIです(図2)。

[図2]7つの意思決定モデル
出典:株式会社スクウェア・エニックス
7つの意思決定モデル

例えばステートベースは、キャラクターのステート(状態)間の「遷移」によって制御する方法です。状態とは「歩く」「走る」などキャラクターの行動状態です。それぞれの状態には「キャラクターにどのようなアクションをさせるか」が定義されており、状況が変わる(遷移条件が満たされる)と現在の状態から遷移条件を満たす状態に遷移します。例えば、敵を見つけていないうちは「警戒」状態にいますが、敵を発見すると「追跡」状態に移るといった具合です。

これらに加えて、ゴールを最初に決めて、そのやり方を後で決めるというプランニング思考にはゴールベースやタスクベースを使います。さらにユーティリティベースでは、敵がA、Bといた場合、どちらを先に倒すべきかという評価を行います。Aは強そうだから90点、Bはやや劣るから80点と採点して、80点のBから先に戦うという具合に評価します。シミュレーションベースは、例えばサッカーゲームなら、センタリングが上がったので、それに向けて走ってきたものの、途中で間に合わないと判断して別の想定を考えるというストーリーを想像するような場合です。

小さなゲームだと、これらの内の一つを選んでキャラクターAIを作ります。大きなゲームだと2〜3種類を組み合わせる場合もあります。

ビヘイビアツリーで行動を決める

ビヘイビアベースでは、ビヘイビアツリーという構造を作り、順番通りに行動します。例えば図3に示すように、ツリー構造の根本(ルート)から始まり、プライオリティ層、シークエンス層、さらにランダム層へと行く場合、プライオリティ層で「バトル」を選ぶと、シークエンス層で「攻撃」「隠れる」を順次実行します。「攻撃」を選び、さらに「弓を放つ」「攻撃魔法」「剣を振る」が順番に実行されます。「攻撃魔法」を選べばランダム層で「水系」か「風系」なのかを乱数で決めます。ここでビヘイビア(行動)へ移る訳です。このツリーはゲームデザイナーが作ります。

[図3]ゲームのビヘイビアベースのAI
出典:株式会社スクウェア・エニックス
ゲームのビヘイビアベースのAI

ツールを作るまでは、われわれエンジニアの仕事ですが、キャラクターAIの頭の中身はゲームデザイナーが作ります。例えば、兵士の頭の中は状態が遷移するステートベースで表現します。例えば、1層目はステートベース、2層目はビヘイビアベース、3層目はステートベース、というように組み合わせることができるようにしています。

ゲームAIが他の分野のAIと違うところは、身体を持っているという点です。一般的なAIは身体を持っていません。それに対して身体を持つゲームAIは、いわば人造人間やロボットとしてリアルタイムで動き、相手や周囲の状況に反応します。60フレーム/秒で行動しますのでリアルタイムといってよいでしょう。

── キャラクターAIはどのようにして自律的に意思を決定できるのでしょうか?

人間は自分の歩幅やジャンプできる高さを知っています。でも生まれたばかりのキャラクターAIには、それがわかりません。自分の身体の大きさもわからないため、それをキャラクターに教える必要があります。そこでキャラクターが生まれると、どのように動けるか、自分の右腕がどこまで届くか、といった行動範囲を教えます。届いた距離を赤い線で描き、それを記録していくことで覚えさせることになります。

これが従来の学習なのかどうかは何とも言えませんが、結果的にゲームAIは人間っぽいAIになります。体の動く範囲を覚えるわけですから。

身体が知能の形をある程度決めるわけで、しっぽのあるキャラクターにはそれを動かして到達距離を記録させていく訳です。いわば子供のころから試して失敗して決めていく、ということになります。

将棋や囲碁では、最善手を見つけるのが目的ですが、ゲームのキャラクターAIには最善手というものはありません。

ゲームの3次元世界では、それなりの解さえあればよく、より良い解を重ねていって全体の流れを作るのです。何が正解なのかは明快ではありません。ゲームでは主役やその仲間のほかに、わき役とでもいうべきやられ役や、コーヒーを飲んでいるだけの町の人のように、プレイヤーを楽しませる役者に近い存在も必要なのです。プレイヤーのことを理解して、自分を倒したがっているなら倒されてやろうと考え行動します。人間が不確定な情報をもとに、アバウトな試行を積み重ねながら意思決定することと似ています。

TELESCOPE Magazineから最新情報をお届けします。TwitterTWITTERFacebookFACEBOOK