イベント
ゲームAIを5日間に分けてみっちり学ぶ「スクウェア・エニックス AIアカデミー」開催
ご存じの人も多いと思うが,スクウェア・エニックスは同社のテクノロジー推進部が中心になって,ゲームの技術情報を発信するスクウェア・エニックス オープンカンファレンスを開催してきた。
7月23日から開催されているスクウェア・エニックス アカデミーもテクノロジー推進部が主催しており,ゲーム技術が主題だが,従来のオープンカンファレンスとは少し毛色が違う内容を目指しているようだ。初回の模様を取材してきたので,スクウェア・エニックスの取り組みの様子やイベントの概要を紹介してみたい。
事前審査で絞りこまれた30名弱が参加,参加者は学生が中心
スクウェア・エニックス AIアカデミーは,7月から9月にかけ,隔週で5回に分けて開催されているイベントだ。スクウェア・エニックス アカデミーは,同社による学生の啓蒙に向けた活動の一環だが,まずはテーマをゲームAIに絞った「AIアカデミー」という形で始められている。今回のカリキュラムは,5日間合計で15時間に及び,このことからもかなり濃い内容を目指していることが分かると思う。
参加者は30名弱。参加希望者が少なかったわけではなく,実際にはきわめて多数の応募があったという。そのため,希望者に事前に小論文を提出してもらい,その内容をもとに30名弱に絞り込んだそうだ。そういうわけで,自ずと参加者はAIに興味がある大学生や大学院生が中心となっている。
ゲーム技術のカンファレンスというと業界関係者を対象としたものが中心だが,スクウェア・エニックス アカデミーは学生が中心ということで,いつもとは雰囲気が少し違う感じである。1日3時間という長丁場だが,前半が講義,後半は講義の内容を踏まえて頭と手を動かすワークショップという内容で,大学のゼミに近い感じだろうか。一般向けで,ゲームAIをテーマに,これだけみっちりとカリキュラムが組まれた例はないと筆者は記憶しているので,かなり貴重なイベントといえるかもしれない。
現実にも応用できる可能性を持つゲームAI
「ゲームAI入門」と題された初回の7月23日は,ゲームAIの紹介と残る4回のガイダンスという内容で,各論に入る前の総論という位置づけである。少し面白い内容もあったので講義の内容をかいつまんで紹介しておきたい。
多くの人は,ゲームAIというと敵キャラなどを行動させるAIを思い浮かべると思うが,ゲームにおけるAIはもう少し幅が広く,主に三つのAIがゲームをゲームとして成り立たせているという。
スライドに示されている三つのAIのうち,分かりやすいのはキャラクターAIだろう。先に述べたキャラクターを動きを決定するAIのことで,エージェントAIなどと呼ばれることもある。キャラクターAIはゲームAIの中でももっとも初期からあるもので,ある意味コンピュータゲームが誕生したときから存在したAIといえるかもしれない。
初期のゲームのキャラクターAIはごくシンプルなもので,例えば,あらかじめマップ上に設定しておいた範囲にプレイヤーが入ったら,敵キャラがプレイヤーに近づいて攻撃を加える,といったようなものである。今でもこの手のシンプルなAIが使われているゲームは結構あるので,その実装内容は読者も想像できるだろう。
この種のキャラクターAIは「ゲームデザイナーの頭のなかに思考があり,それを敵キャラに実装したAI」(三宅氏)で,ゲームデザイナーがスクリプトを使って敵キャラクターの動きを実装したことから「Scripted AI」とも呼ばれるそうだ。
このような古典的なScripted AIに対して,現在のゲームでは「自分自身で知識を持ち,自分自身で考える自律型のAIが使われている」(三宅氏)という。
知識というのは,例えばマップの地形であったり,あるいはキャラクターが装備している武器であったりという情報のことである。これらの知識をもとに,敵キャラクターが地形を考慮した行動を取ったり,持っている武器に応じてプレイヤーに対するアプローチを変えたりといったことが自律型のAIで実現できる。敵キャラの行動がより複雑になり,ゲーム性も増すわけである。
二つめのナビゲーションAIは,マップから移動経路を算出するAIで,一般的にはマップ上に設定された通過点(Waypoint)を使って最短経路を決めるグラフ理論の応用になる。
三宅氏は「ファイナルファンタジーXIV: 新生エオルゼア」(以降,FF XIV」で使われたナビゲーションメッシュの実例を紹介していたが,このタイトルのナビゲーションについては,2012年に開催されたスクウェア・エニックス オープンカンファレンスでかなり詳しく紹介されている(参考記事)。
FF XIVでは,ナビゲーションAIによってモンスターが橋を渡ったり岩を避けて移動したりする姿が見られる。「それを見たプレイヤーは,モンスターに賢さを感じるが,実際に行っているのはネットワークグラフ上の検索であり,そこに(実際にやっていることとプレイヤーの印象との間に)ギャップがある。それがゲームAIの面白いところ」と三宅氏は述べていた。
この例に限らず,人間というのは,意外に単純なことに賢さを感じるようで,よく知られているのは「ELISA」に元祖とする“人工無能”の類だろう。人工無能はきわめて単純なプログラムだが,多くの人が何かしらの賢さ(?)を感じるようだ。
最後のメタAIというのは高度に抽象的な存在であるが,ゲーム性を演出するゲーム全体を支えるAIという感じだろうか。三宅氏が古典的なメタAIの例として紹介したのが,ナムコの歴史的な縦スクロールシューティングゲーム「ゼビウス」だった。
ゼビウスは,プレイヤーの腕前に応じて敵の出現パターンを変える仕組みが組み込まれていた。上級者には強い敵が出現し,初心者には比較的弱い敵が多く出現するという具合に,ゲーム側で調節することで上級者から初心者まで長く楽しめる工夫が施されていたのである。
その現代的な例として三宅氏が紹介したのは「Left 4 Dead」(以降,L4D)だった。L4Dはプレイヤーの操作パターンなどをもとに,プレイヤーの緊張度を一種の数式を使って算出して,プレイヤーが緩んだときには多数の敵(L4Dの敵はゾンビである)をぶつけ,緊張が最高に高まるとゾンビを減らすという仕組みが組み込まれているという。プレイヤーは適度に緊張と緩和の繰り返しを体験でき,それがゲームの楽しさにつながるわけである。
このようなメタAIの機能によって「敵が同じところに出現する(かつての)覚えゲーを超えるゲームが実現できる」(三宅氏)。そういう意味はゲームAIはゲームの楽しさを左右するきわめて重要なAIといえるだろう。
ちなみに,L4Dでは,操作パターンからプレイヤーの緊張度を推し量る手法が使われているようだが,最新のMicrosoft KinectやIntel RealSenseでは,プレイヤーの血流のような情報から生理的な緊張度がより正確に推定できるとされる。この種のセンサーがゲームでも重要とされるのは,プレイヤーの状態をメタAIでゲームに反映させられるからでもあるわけだ。
三宅氏は最後に,ゲームAIがゲーム以外にも応用される可能性に言及していた。「環境に応じてキャラクターを行動させる“キャラクターAI”の分野は,ゲームが一歩先んじている。今後,ロボットのAIに応用できるのではないかと思っている」と語っていたが,冒頭で紹介したように,このアカデミーに参加しているのはAIに興味を持つ現役の学生だ。このアカデミーがゲームAIの応用が広がるよい機会になることを祈りたい。
ロールプレイで三つのAIを体験するワークショップ
という具合に,ゲームを支える三つのAIについて前半の講義で説明されたのだが,なるほどとは思うものの,それぞれのAIがどう機能するのか具体的に思い浮かべるのは結構難しい。説明を聞いて分かったような気になっても,実際のゲームに落としこんでいくとなると容易ではなさそうだ。
そこで後半のワークショップは,三つのAIの役割の理解を深めるロールプレイ風の実習が行われた。参加者は4人一組のチームを組み,プレイヤー,2体の敵AI,全体を制御するメタAIになりきって迷路ゲームをやってみようというものだ。
題材にされたゲームは古典風の迷路ゲームだが,ルールは少々複雑だ。おおまかに紹介しておくと,迷路の中には9個のクリスタルがある。プレイヤーは,それを拾い集めて2か所ある祭壇のどちらかに持っていけば勝利となる。一方,2体の敵はそんなプレイヤーを襲ってゲームクリアを阻止するのが任務である。
また,プレイヤーと敵AIがお互いの存在を認識できるのは,自分のタイルに隣接する8タイル内に入ったときだけだ。周囲8タイル以内に互いがいないときには敵やプレイヤーは相手の位置を推測することしかできない。
2体いる敵の役割はプレイヤーを邪魔することだが,自分が進む経路を「ナビゲーションAI」に問い合わせないと動けない制限がある。今回のワークショップではメタAIがナビゲーションAIの役割を兼任していて,敵AI役の人が自分が今いるタイルと,これから向かいたいタイルの座標をメタAIに知らせ,メタAI役の人がマップを見て最短経路のうち6マス分を敵AIに教える仕組みだ。
敵AIはメタAIに教えてもらった経路を辿らなければならず,それ以外の経路に変えたいときには改めてメタAIに経路を問い合わせななければならない。
このように移動に制限がある敵AIだが,2体の敵同士が「コミュニケーションカード」を使って互いに連絡を取ることができるというアドバンテージも与えられている。コミュニケーションカードには「自分はどのマスに向かっている」「お前はどのマスに向かえ」という2種類の情報を記すことができ,互いに連携してプレイヤーを追い詰めることが可能だ。
一方,プレイヤー側には自分が通ったあとに仕掛けられる爆弾で,敵AIの動きを1ターン分止められるというギミックが用意されている。爆弾の座標は敵に知らされないので,敵AIはプレイヤーが通った道から爆弾が仕掛られた座標を推測しつつ行動する必要があるわけだ。
このゲームでは,メタAI役がかなりの大忙しで,プレイヤーや敵AIが申告してくる座標を把握し,敵AIの経路探索のリクエストに答えたりと,各ステップで仕事が用意されている。メタAIという名前ながら,ゲームを進行するゲームシステムの役も担っているので,仕事が多くなっている格好だ。
このようなゲームが実習として進められたが,各人がプレイヤーや敵AIの役目を実演することで,例えばAIがどう機能すればゲームが面白くなるのかといった具体的な感触を得ることができたようだった。通り一辺の講義だけに終わないあたりも,これまでにない密度が濃いアカデミーと言えるだろう。
ちなみに,前半に講義,後半がワークショップというスタイルは2回め以降のアカデミーでも継続されるしそうで,今後のワークショップにどのような課題が出されるのかも興味ある点だろう。次回以降の内容も機会があればレポートしてみたい。
スクウェア・エニックス アカデミー公式サイト
- この記事のURL:
キーワード