ゲームAIラウンドテーブル・オン・ツイッター第20回 「AIの環境認識」
ありがとうございます。今日のテーマはAIの環境認識です。デジタルゲームでは、AI が含まれる環境を認識するために、特有の仕掛けを施すことが多くあります。それは、AI がデジタル空間に含まれているから可能なことです。 #gameai_rt20
2011-12-23 01:18:37たとえば、オブジェクトにタグをつけたり、地形をあらかじめ解析しておいたり、いわば実際の生物が何万年もかけて得た認識能力を即席で作るために、あらかじめ環境を咀嚼したデータを用意しておいてあげるのです。 #gameai_rt20
2011-12-23 01:18:54もちろん、そのための「環境の咀嚼の仕方」はたくさんあります。でも、それがどういうことか、具体的にイメージがわかない方がおられるかもしれません。そういう方のために、あらかじめ、Web で閲覧できる参考文献を挙げておきます。 #gameai_rt20
2011-12-23 01:19:09まずはこの資料を見てみます。Webで見れるのでさーと絵本みたいに見てくださいAutomatic Annotations in Killzone3 and Beyond http://t.co/IgXgDteN #gameai_rt20
2011-12-23 01:21:08みんなが資料を見る間に、ここで文字で説明します。Killzone シリーズ1~3では、一環して、地形やオブジェクトがAIに対して持つ意味情報を事前計算によって抽出し、ランタイムで用いることで、リアルタイムでは単純な計算で高度な知能を実現してきました。 #gameai_rt20
2011-12-23 01:23:51ここでは、Killzone 3 (紹介した資料)に特化して見ていきましょう。Killzone 3 では、ステージ上に置かれているオブジェクトを自動的に解析します。 #gameai_rt20
2011-12-23 01:26:42まず、そのオブジェクトの周囲で隠れることができる場所、そこから狙撃できる境界、飛び越えられるか、這い上がれるか、など、AIの動作にとっての情報です。このように、AIの動作から解釈したオブジェクトの情報を「アフォーダンス情報」と言います。 #gameai_rt20
2011-12-23 01:27:43さて、詳しいアルゴリズムは資料に譲るとして、結果として、Killzone 3 では、開発中に、各オブジェクトについて、隠れる面、狙撃する点、飛び越えられか、這い登れるか、ジャンプして降りれるか、という情報を持つことになります。 #gameai_rt20
2011-12-23 01:29:35さて、実際のゲーム内では、そういった情報を使って、周囲にあるオブジェクトについて、どのような動作ができるかを瞬時にリストアップすることができます。 #gameai_rt20
2011-12-23 01:31:23オブジェクトA、B、C ... があれば、その付属情報を見ると、可能な動作とその動作のためのヒントが付属されているのです。もし、これをゲーム内でオブジェクトの解釈を計算しようとすれば、まずリアルタイムでは間に合いません。 #gameai_rt20
2011-12-23 01:32:07わりとさきほどその存在を知った『JudeaPearlのdo演算子』、つまり統計的に因果関係を扱う考え方は、AIと環境というテーマにかなり肉薄してる気がするんだが、詳細を学んでなくて説明不能だ。残念。#gameai_rt20
2011-12-23 01:32:24つまり、Killzone 3 では、オブジェトや地形についてAI がどのようなアクションを取ることができるか、可能であれば、具体的なアクション位置はどこか、という情報を事前計算(開発内)しておくことで、ゲーム内で軽い負荷で高度な知性を実現しているのです。 #gameai_rt20
2011-12-23 01:34:41Killzone 3 の AI についての詳細は、先の資料を読んでください。 Automatic Annotations in Killzone3 and Beyond http://t.co/IgXgDteN #gameai_rt20
2011-12-23 01:36:01さて、ここまでが議論の前提です。このように、ゲームステージを先に解析しておくこと、或いは、可能ならリアルタイムに解析しておくことで、AIの環境認識はより深いものになります。 #gameai_rt20
2011-12-23 01:37:10では、今回は、Killzone 3 のような FPS に限らず、さまざまなゲームで、AIの環境認識を深めて、ゲーム性に活かすことを考えてみましょう。 #gameai_rt20
2011-12-23 01:38:53皆さんがキャラクター=AI がゲーム内で認識して欲しい環境とは何ですか? そして、その認識をどうゲームに活かしますか? という議題に沿って、ここからは、参加者全員で議論して行きましょう。自由に発言してください。 #gameai_rt20
2011-12-23 01:39:57お願いしますー。俺としてはプレイヤー間の関係性とかですかねー。みんなでワイワイやってる所にはガンガン入ってくるけど、親友や恋人同士でプレイしてる人やあえてソロプレイしてる人には話しかけていかないみたいな。 #gameai_rt20
2011-12-23 01:45:30たとえば、ステージ上のオブジェクトがあって、そのオブジェクトが動かせるか、どうか、というフラグだけでも、それはアフォーダンス情報になります。そういった情報があるおかげで、キャラクターは利用可能なオブジェクトを認識することができます。 #gameai_rt20
2011-12-23 01:45:32