イベント
キャラクターの学習から,自然なアニメーション作りまで。さまざまな分野で活躍するAIの魅力を伝える「スクウェア・エニックス AIアカデミー」レポート
2014年7月から9月にかけ,全5回,各回3時間のカリキュラムが組まれており,講義のあとにワークショップを行うという構成となっていた。第1回の様子はこちらの記事ですでにお伝えしているので興味のある方は参照されたい。
9月24日の第5回講演は,少し趣を変えて講義が中心となっており,「ゲームにおけるキャラクターの学習」,そして「制作途中のゲームにAIを導入した際の変化」というテーマで語られた。
ゲームにおけるキャラクターの学習,二つの手法の組み合わせ
昨今は,コンピュータの発達により,計算に使えるリソースは増加していく傾向にあるため,AIによるキャラクター学習は,今後の発展が見込める分野だという。
これまでのキャラクターは,「あらかじめ用意されたスクリプト(筋書き)に基づき,決められた振る舞いをする」ものが多かった。しかし,今後は「ゲーム内でキャラクターが学習し,振る舞いを変化させていく」ものが増えていくという。近年のRPGにおけるオート戦闘では,キャラクターが闇雲に攻撃するのではなく,戦いを通して効果的な攻撃法を学びとり,より効果的な攻撃パターンを使うようになっていくが,これなどは学習するキャラクターの良い例だろう。こうした進化により,ゲーム体験はより充実したものになっていくというわけだ。
ゲームキャラクターにおいて学習を表現していくうえでは,「学習アルゴリズムによるプロシージャル的アプローチ」と「データドリブン的アプローチ」という二つの手法が採られることが多い。
プロシージャル的(ここでのプロシージャルとは,柔軟に変化していくという意味)アプローチは,学術的な意味での学習ではあるが,適用範囲が狭いという弱点がある。
先に述べたような,RPGのオート戦闘における学習などはプロシージャル的なアプローチの好例だ。さまざまな戦法が敵にどれくらいのダメージを与えたかを評価していくと,より効果的な(与えるダメージが高い)戦法を選択する可能性が高くなっていく。
行動(戦法)と,その結果(ダメージ)から,次の行動を決定する意思を変化させていく(より高いダメージを与える戦法へ切り替えていく)というプロセスは学習といってよいものだが,このアルゴリズム自体は,戦法を学習することにしか使えない。さまざまな状況に応じた専用のアルゴリズムを用意しなければならないというわけだ。
ここでいうところのデータドリブン的アプローチとは,簡単に言えば「あらかじめ用意されたさまざまな行動パターンを状況に応じてアンロックしていき,キャラクターの行動を多様化していく」仕組みである。
例えば,最初はモンスターを見ても逃げ隠れしかしなかったキャラクターが,特定の色のモンスターなら戦いを挑むようになる,といった具合だ。あらかじめ用意された「特定の色のモンスターを見たら戦う」という行動パターンがアンロックされ,キャラクターの振る舞いが多彩になったというわけだ。真にキャラクターが賢くなっているわけではないため,学術的な意味における「学習」ではないが,技術的には難しくない。あらかじめさまざまな行動パターンを用意しておくことで,柔軟な振る舞いが可能になるというのも利点だ。
今後のゲーム作りにおいては,データドリブン的アプローチとプロシージャル的アプローチを併用すべきであり,まずは技術的に難しくない前者を検討したうえで,適切に後者の手法を導入すべきだ,と三宅氏は語った。
既存タイトルにおけるAIの活用,敵の個性付けからマッチングまで
続いては,既存のゲームタイトルでAIがどのように使われているかが三宅氏から説明された。
RTS「スプリームコマンダー2」では,多数のキャラクターが,それぞれの性格に応じて動く。こうした個性豊かな振る舞いをさせるために,開発段階において,敵キャラクターのAIに対する教育が行われたという。
開発段階における敵キャラクターのAIは,人間の脳を模したニューラルネットワークで構成されており,周囲の状況からどんな振る舞いをするかを決定する。AIの方向性をある程度調整したうえで実際のゲーム上で動作させると,AIが学習を行い,その振る舞いが変化していくという。製品版の敵キャラクターには,こうした実践教育で成長したAIのパラメータが使われているそうだ。
「ブラック&ホワイト」は,「ポピュラス」「テーマパーク」で知られるピーター・モリニュー氏が手がけたゴッドシムの一つだ。神となったプレイヤーが,僕(しもべ)となる「クリーチャー」を教育し,自らの民族を発展させていくという,AIを応用したゲームになっている。
クリーチャーはBDIモデル(信念,欲求,意図をパラメータ化し,行動を決定する)のAIにより制御されており,「空腹」や「疲れ」といったパラメータで振る舞いが変化する。
また,きまぐれに岩を投げたり,人を食べたりすることがあるが,こうした行為をプレイヤーが褒めたり叱ったりすると,クリーチャーが学習し,褒められたことを繰り返し,叱られたことはやらないように行動が変化していく。AIの振る舞いの見本のようなゲームと言えるだろう。
「Forza Motorsport 5」では,「Drivatar」でAIが活用されている。Drivatarはプレイヤーの癖を学習し,プレイヤーそっくりの運転を見せてくれるアバターだ。
特定コースにおけるプレイヤーの走行ラインを覚えるのではなく,プレイヤーの癖を数値化するのが特徴となっている。例えば,コーナリング一つとっても,「コーナーへの突入スピードとブレーキタイミング」「コーナーを抜けるときのスピードとコーナーを回るときのスピード」「コーナーの頂点にどれぐらい近づくか,どれぐらいの速度でそこを抜けるか?」などのポイントを学習しているため,プレイを繰り返すことでDrivatarはよりプレイヤーに近い走行をするようになるのだ。
「Halo 3」においては,実力の近いプレイヤー同士をマッチングさせるために「TrueSkill」という技術が使われているが,これも広義にはAIに含まれるものだそうだ。
TrueSkillは,一言でいえばプレイヤーの強さを数値化したものである。単に勝率を見るのではなく,統計における標準偏差を使うことにより,試合を繰り返すことで正確な強さが割り出せるのが特徴だ。勝てば加算,負ければ減算し,この数値が近いプレイヤー同士をマッチングさせることで,バランスの良い対戦を可能とする。TrueSkillの比較を繰り返すことで,差があるプレイヤーがマッチングされなくなっていくが,これがAIの学習に当たるというわけだ。
AI技術が,アニメーションの開発段階で使用された例もある。「HITMAN: ABSOLUTION」がそれで,より自然なアニメーションを実現するため「強化学習」という手法が使われているという。
ここでの強化学習とは,AIがさまざまな行動を取り,その際に返ってきた報酬をチェックし,より報酬が多いものへと行動を最適化していくというものだ。例えば「スロットとルーレットにそれぞれ金を賭け,より儲かった(報酬が多い)ほうへとシフトしていく」過程や,「迷路の中をさまざまなルートで進み,より短時間で到着できる経路を探す」過程などは,強化学習と呼ぶことができる。
HITMAN: ABSOLUTIONの開発段階では,キャラクターが姿勢を変えたり動いたりといった過程を,より自然に見せるために強化学習が使われた。
「自然な動きとは,キャラクターが回転する角度や速度が小さいということである」と定義し,あらかじめ用意された動きをAIがさまざまな形で組み合わせ,より自然に見える動きを見つけ出すという,一種の自動化が行われたわけだ。
懐かしの「アストロノーカ」(ENIX,1998)では,開発元であるムームーの森川幸人氏による「遺伝的アルゴリズム」に基づくAIが使われている(参考URL)。
アストロノーカとは,バブーという害獣から野菜を守るゲームだ。野菜を食べにくるバブーに対し,プレイヤーはトラップを仕掛けて応戦する。しかし,日が経つごとにバブーは進化し,トラップにかかりにくくなっていくのだ。
遺伝的アルゴリズムは,自然界における淘汰と遺伝子の働き,つまり「より環境に適応したものが子をなし,遺伝子を後につないでいく」という過程をモデル化したものだが,アストロノーカでは,この手法でバブーの進化を表現している。バブーがあらかじめ用意された段階を踏んでパワーアップするのではなく,プレイヤーの行動に適応したバブーが出現するため,バブーとの戦いにリアリティが生まれているのだ。
バブーの「身長」「体重」「トラップへの耐性」といった特徴は遺伝子コード化されており,この内容はそれぞれの個体で異なったものとなっている。
バブーが襲撃してくるとき,バックグラウンドではバブー20体分のシミュレーションが行われており,おおまかにいえば「どれだけ畑の奥へ侵攻できたか」で点数が付けられていく。
点数が低いバブーは環境に適応できなかったということで削除され,上位のバブー同士の遺伝子コードを掛け合わせて新世代が生成される。このようにしてバブーという生物種集団における進化がゲームで表現されるというわけだ。
最後に三宅氏は,今後のゲームに学習AIを導入していくためには,ゲーム空間の厳密なルールと法則を決めていくことが大事である,と受講者達にアドバイスした。
AIを取り入れることで,ゲームは豊かになっていく
新人プログラマである小松氏は,研修の一環としてシューティングゲームを作る際に,敵の動きにAIを取り入れることにより,プレイヤーの動きや周囲の地形に応じた動きをするようにしようと考えた。
「パス検索」AIにより,敵が障害物を回り込むといった行動は実現できたものの,動きが不自然なうえに,一か所に固まった敵が同一のルートを辿ってプレイヤーを追いかけるなど,その結果は納得のいくものではなかったという。
そこで小松氏は,障害物や敵が互いに反発力を持つ「ステアリング」を導入した。これにより,敵同士が重なったり,障害物にぶつかることがなくなったうえ,障害物を回り込む際の動きも自然なものになったとのこと。
さらに小松氏は,地形の陰に隠れる楽しさを表現するため,敵がただプレイヤーに向かってくるのではなく,プレイヤーを探すAIを追加した。
これは「影響マップ」という考え方に基づくもので,マップを碁盤目に区切り,そのそれぞれに「プレイヤーがここにいるかもしれない」という期待値を表す「確信度」が設定されている。敵がマップを動き回ると,それにつれて確信度は変化していく。具体的には,敵が「プレイヤーはいない」と確認した場所の確信度は低くなるため,より確信度が高い(探索していない)場所へと向かっていくようになる。
また,敵には視線が設定されており,障害物の向こうを見ることはできない。これらの変更により,プレイヤーを探してマップ上を動き回る敵と,地形に隠れる楽しさが実現されたというわけだ。
小松氏は「AIを導入すると,ゲームの世界は豊かになり,新たな楽しみが生まれます。つまり,AIはゲームの可能性をどんどん広げるものなのです」と,ゲームにおけるAIの可能性を語り,講演を締めくくった。
スクウェア・エニックス AIアカデミー公式サイト
- この記事のURL: