2010年05月13日

IGDA日本・関西ゲームAI ラウンドテーブル・レポート

5/8(土曜日)にIGDA日本・関西ゲームAI ラウンドテーブルを開催しました。

IGDA日本・関西ゲームAI ラウンドテーブル
http://o-planning.sblo.jp/article/37451616.html

どれだけの方においで頂けるか、とても不安でしたが、当日には、ほぼ満員という大盛況ぶりで、ご来場頂いた皆様に本当に感謝しております。
今回は、その模様をレポートにまとめて公開します。


【第一部 FPSのAI/日常系のAI】
講師:三宅さん


snapshot20100511170919.jpg

『欧米のゲームAIの系譜』
海外ではGDCをはじめ、実際にゲームで使用されたゲームAIの発表が盛んである。
日本では、ほとんど発表がないため実情が分からない。
GDCでは10年前から実際にゲームで使用されたゲームAIの導入事例を紹介。
近年では、AI SummitとしてGDC期間中に毎日AIセッションが行われるまでになった。

欧米のゲームAIは「キャラクターAI」「メタAI」「プロシージャル」の3つの技術に分けて考えられる。


『Killzone 2の事例』
Killzone 2では「Strategy AI(戦略AI)」「Squad AI(チームAI)」の2つが、コマンドを与え情報をフィードバックさせながら全体のAIとして機能している。

まず「Strategy AI(戦略AI)」であるが、90年代に研究されたHTN Plannerという技術が、Killzone 2には導入されている。
通常のFSMでは、状態の遷移が基本となるが、HTNでは階層的に上位層からゴールを分解して、それに合わせてタスクを生成する。
さらにHTNでは、前後の関係よりタスクを並び替えを行う。
これにより、前後関係が自然なAI行動が実現できる。
Killzone 2をはじめ、最近のFPSでは反射型AIではなく、HTNのように未来の行動をスケジューリングするAIが2004年くらいから主流になりつつある。

次は「Squad AI(チームAI)」について。
Halo 3 では、「状況」に合わせて、その状況に一番ふさわしい「Squad AI(チームAI)」を呼び出す。
この「Squad AI(チームAI)」は、GUIベースの「Desginer UI」で作成されている。
しかし、Killzone 2では、「目的」に応じて「Squad AI(チームAI)」を動的に作成する。
そのため、フィールド上のメンバーを動的に集めたり、削除したりしている。


Killzone 2のマップ解析は、「Strategy Graph(戦略グラフ)」「Waypoint Area」「Waypoint」のように階層的にマップ情報を持って行われている。
ゲームAIは、ポリゴンのマップから、「それが何であるか」という人間的思考・判断をすることが不得意なため、このような方式が導入されている。
「Waypoint」では、マップ上を移動するための経路情報が記録されている。これによりA*などの経路アルゴリズムによって移動することができる。
「Waypoint Area」では、「Waypoint」から自動解析によって、だいたい正方形になるように「Waypoint Area」を作成する。さらに、その正方形同士のつながりを解析する。
この解析によって作られるのが「Strategy Graph(戦略グラフ)」となる。
この「Strategy Graph(戦略グラフ)」を作ることにより、マップの一定のエリアごとに、どこかが危険地域なのか、どのような兵士がいるのかなどを、戦略的情報として扱うことができるようになる。

さらに「Strategy Graph(戦略グラフ)」を使うことで、「Influence Map(影響マップ)」が利用できるようになる。
「Influence Map(影響マップ)」とは、セル分割されたマップに問題とする性質の評価値を記録してい行く方法である。
例えば、占有率を判断するために、敵の通過可能率をInfluence Mapに記録することで、敵がどこに集中しているのかなどを判断することが可能となる。
Killzone 2では、このInfluence Mapを効果的に利用するために、あまりにも情報量の多い「Waypoint」ではなく、「Strategy Graph(戦略グラフ)」を生成することで実現している。
なお、「Influence Map(影響マップ)」は、Age of EmpireやSimCityでも使用されている。


『The Sims 3の事例』
The Sims 3のAIでは、「自動物語生成」「Simsたちをもっと個性的にする」ことに重点が置かれている。
FPSと違いThe Sims 3では、AIの一部が「オブジェクト」に仕込まれている。
例えば「お風呂」では、お風呂に入る条件のパラメータや行動などが、お風呂という「オブジェクト」に設定されている。これはアフォーダンス的アプローチであると言える。
キャラクターは幸福度(Mood)のパラメータが一番アップするような行動を選択するように作られている。
The Sims 3のAIは満たされていないものが満たされるようになったときに、最大の幸福度が得られるように工夫されている。そのため、空腹状態では最初に冷蔵庫に向かうが、空腹が満たされると、それ以上、冷蔵庫に向かっても幸福度の上昇率が悪いため、次に幸福度を最大にしてくれる行動を選択する。
また、The Sims 3では、街全体の管理をメタAIが行い、男女比や雇用率などを調整している。

さらに、The Sims 3では、さらなるキャラの個性化を目指すために、キャラは80ある特性のうち5つをピックアップしている。特性は、歩き方、しゃべり方などのアクションの仕方を変化させる。
また、これらの調整をデザイナーがやりやすいようにデータドリブンの方式を用いて実現している。


『メタAI』
Left4Deadでは、繰り返しゲームを遊べるようにするためにゲーム全体を管理するディレクターAIというメタAIが実装されている。
このメタAIを活用するために、Left4Deadでは、ステージでのプレイヤー死亡頻度マップを統計的手法とデータマイニング的アプローチで行っている。
また、それらの情報を活用することで、プレイヤーの「緊張」と「リラックス」を、メタAIで判別し、リラックス状態の後で敵を出現させて驚かせるなど、何度繰り返しても遊べるゲーム性を実現している。



『まとめ』
Killzone 2とThe Sims 3のAIより、FPSのAIと日常系のAIの比較をしてみた。
FPSのAIと日常系のAIは、対局の位置にあり、AI技術はひとつの軸で区分できるような技術ではなくなっている。
今後、ゲームAIの製作において「認識の階層化」が知能を構築するコツとなる。
Killzone 2のような「空間階層化」、そして「時間階層化」である。
特に「時間階層化」は、人間の思考でも同様に行われていることであり、3秒後の思考、今日1日の思考というように階層化することで、より自然なAIを作るポイントとなる。

これまで2000年代のAIは、キャラクターAIのフレームが荒削りできた状態であり、今後は、FPSのAIと日常系のAIなど、様々な軸のAIが融合して強化されるであろう。



『ラウンドテーブル』
これらの話の内容を元に、下記の議題でディスカッションが行われた。

・議題@キャラクターAIのコンセプト
・議題AキャラクターAIのアーキテクチャ
・議題Bパス検索
・議題C意思決定(思考)
・議題DメタAI
・議題Eプロシージャル

ディスカッションでは、企画とプログラマーでのAI開発の問題から、パス検索システム開発のコスト問題まで幅広く活発な議論が繰り広げられた。
また、実際にこのような勉強会で得られた知識や技術を、開発スタッフに認めてもらい、どう組み込んでいくのかという具体的なディスカッションも行われた。





【第二部 企画から見たゲームAIの潮流】
講師:大野(自分です)


snapshot20100511172759.jpg

『AIとは?』
最初に、一般人から見たAIについて考えるために、「ハリウッド映画」と「日本アニメ」におけるAIの違いについて推察してみた。
ハリウッド映画では、2001年宇宙の旅やターミネーターなど、社会システムを管理するコンピューターとして登場し、人間に反乱するというストーリーが多い。
それに対して、日本のアニメで登場するAIは、「鉄腕アトム」や「ドラえもん」など、人を助けるための「個(キャラ)」としてのAIが目立つ。

これは、一般的な「AI研究」や「ロボット研究」も同様で、欧米では無人偵察機やロボットカーの研究開発が主流なのに対し、日本では第5世代コンピューターやASIMOなど人間に近いAI研究が盛んである。

ゲーム開発でも、同様の流れが見られ、欧米とはFPSを中心にメタAIなどの開発が積極的に進められているが、国内では「がんばれ森川くん2号」から「ラブプラス」まで、キャラに特化したAIのゲームが開発されスマッシュヒットすることがある。


これは欧米が、AIおよびその周辺技術の研究開発が国策で行われており、国(軍)・産業・学術が共通の目的を下に連携が取れているためではないかと思われる。また、その技術がゲームにも応用されるようになったと考えている。

一方、日本では、国・産業・学術において、連携が欧米ほど密ではなかったために、各々が独自開発をするという形になってしまった。
これら研究開発を取り巻く環境の違いが、AI研究開発の方向性の違いや開発スピードの違いに影響を及ぼしていたのではないかと考えている。


『ゲームデザインの変遷』
ゲームデザインの変遷を、「外遊び」から「デジタルゲーム」まで、プレイヤー(人間)の位置・向きなど、これまでにない視点で振り返る。
鬼ごっこや、かくれんぼなどの「外遊び」では、プレイヤーの位置と向きは、近かったり遠かったり、向き合ったりと様々である。
しかし、これが「スポーツ」になると、プレイヤーの向きは対面する形が多くなる。
さらに「ボードゲーム」になると、プレイヤーが注目する対象が「人」から「ボード(ゲーム版)」へと移り変わった。また、そのプレイスタイルも「座って対面する」というように大きく変わった。
さらに「デジタルゲーム」の初期では、ファミコンを代表するように、プレイヤーはお互いが並んで座りTVだけを見るというスタイルに変わる。
これ以来、多くの「デジタルゲーム」は、人と人が対面してプレイすることが皆無となった。

さらに「オランラインゲーム」や「モバイルゲーム」「ソーシャルゲーム」などが登場すると、プレイヤー同士はネットを中継してゲームをプレイするようになったため、もはやプレイヤーの位置・向き自体がデジタルゲームにとって意味をなさないものとなった。

しかし、近年大ヒットとなったWiiは、この状況に大きな変化をもたらした。
これまで「座る」姿勢でプレイすることが主流だったデジタルゲームを、「立った」姿勢でプレイするという方向性に大きく変化させた。
これにより、一般人にも「デジタルゲームが変わった」ということをプレイヤーのプレイスタイルで提示することに成功している。

次世代のゲームデザインでは、さらにプレイヤーとプレイヤーを物理的に対面させ、その中間にデジタルゲームが介在するというデザインが出てくるのではないかと予想した。
このプレイスタイルのゲームには、人と人を繋ぎサポートするためのAIが不可欠である。


『次世代のゲームデザインに求められるAIとは?』
次世代のゲームデザインでは、「人と人をサポートするAI」「人と人とを繋ぐAI」がキーとなると思われる。

「人と人をサポートするAI」とは、「人の成長を助けるAI」である。
例えば、格闘ゲームにおいて、これまでのゲームAIでは、ゲームAI側の難易度レベルを上下させることで調整されてきた。
しかし、これからは、ストWなどであれば、サポートAIを実装したサポートキャラが「そのタイミングで昇竜拳を出して!」のように、プレイヤーの戦法に合わせた的確なヒントを提示する。これは、友達で集まってゲームをしたときに、ゲームをうまくなるための方法を共有するのと同じである。
これにより、プレイヤーが成長することで、ゲームの楽しさを知ってもらうのだ。
また、サポートAIによって、チュートリアルなども強化され、一般人にもゲームの窓口を広げられるのではないかと推察する。

もう一つ、「人と人とを繋ぐAI」は、プレイヤー同士のマッチング自体をAI化するなど、コミュニケーションの潤滑剤となることを目指しものである。
すでに、facebookやLinkedInなどでは「この人、知り合いでは?」というマッチング機能が提供されている。今後、このような機能がゲームAIにも応用されるであろうと考える。
これは、「人と人の出会いを助けるAI」とも言える。


『ラウンドテーブル』
このセッションでは幅広い定義のAIを取り扱ったため、ラウンドテーブルでは「そもそもラブプラスのキャラクターはAIなのか?」など、「AIとは何か?」というディスカッションからスタートした。
現在でも、「何がAIか?」というテーマは学術でも議論がされており、特にゲームにおいてのAIの定義は難しい。
話は広がり、第一部の内容と合わせて、AIについての広いディスカッションが行われた。




以上です。
今回のラウンドテーブルでは、非常に積極的な方が参加されており、近年希にみるほどの内容の濃いディスカッションが行われました。
その後の懇親会でも、皆さんの熱意が伝わるお話を聞かせて頂きました。

これらの活動が、さらなる新しいゲーム、面白いゲームを誕生させる切っ掛けとなれば幸いです。
参加者の皆様、そして当日、会場運営をお手伝いいただいたスタッフの皆様、本当にありがとうございました。
posted by 企画屋一号 at 17:39| Comment(0) | TrackBack(0) | 勉強会(MTG)
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/38012354

この記事へのトラックバック