ゴール指向プランニング


~ 「ゲームAI連続セミナー第2回」レポート ~






■はじめに

長久さんや三宅さんがやっている「ゲームAI連続セミナー」 の第2回に行ってみました。 今回のテーマは、ゴール指向アクションプランニングです。
今回から、5人ぐらいで話し合う、グループ討論が始まりました。

基本的にセミナー中にメモったものを起こし直したので、 聞き漏らしたり、勘違いしているところがあると思います。すいません。


■1回の反省点

発言機会が少ない->グループディスカッションを追加
まとまりが無い->テーマを先に選出
事前に知りたい->事前に資料配布(ただし本番まで変更する)


■ゲームAIの概要

ゲームAIがゲームデザインを進化させたり、逆も起きる。
アメリカではゲームAIが発展してるが、日本はまだまだ
アメリカではFPSが人気があり、ユーザーの目が肥えてきたので発展した
日本はオリジナルのゲームが多いので、そこが狙い目


■プランニング技術の紹介

知性とは?
内部状態と環境との間の調整機関(インターフェイス)
知性を持った者は、どうして行動しているか。
 現在の状況を解析して動く->単純反射AI
  目標を見つけて、目標を立てて解析して行動
 目標設定して行動する->ゴール指向AI
  一般のレベルでAIが目的を見つけることはできない->人間が設定(ゲームデザイナー)
  目標を達成するために行動するのがゴール指向
  ゴールを抽出するのが大切
 AIが目標を達成するために細かく計画を練る。->プランニング
  目標を検索する人のことをプラナーと呼ぶ(内実はグラフ検索をする人)
  行動が階層化するのを階層化プランニングと呼ぶ
  コンピュータにプランニングをさせるには?
   連鎖による方法(F.E.A.R.)
    前提条件+振る舞い+効果で記述して表現する
    ゴールからそれを効果として持つプランを見つけて、その前提条件から次の効果を連鎖的に見つけていく
    効果が同じならどのプランでもOKなので、多彩な振る舞いが可能
   人手による方法(クロムハウンズ)
    連鎖を使わない。
    ある行動のときに、どの行動を呼び出すか記述しておく。
 ゴール達成にプランニングを用いる->ゴール指向プランニング


■F.E.A.R. の紹介

FPS(公式サイト,Wikipedia)
マップが複雑なのが特徴(屋内でも窓を飛び越えて行き来できたりする)
ゲームAIのいろいろある分野の中でもゴール指向プランニングに特徴があると分類される。


■F.E.A.R. のゴール指向アクションプランニング

同じ会社が作ったゲームからの発展はどうなってきたか。

F.E.A.R.の目指したAI

ただし、これらは分離して考えることはできない。

ゴール指向型エージェントとは?
 ゴールを決めて、その結果に応じた行動を行うAI

NOLF2との違い
 知識表現が人間的な概念(F.E.A.R.は統一知識表現、シンボル)
  昔は、「所有権」とか概念的な情報を埋め込んだ
  今は、レイキャスト、パス探索などから情報を集めておき場所や信頼度、情報所得時間などの情報に統一化して溜め込む(統一知識表現)
  シンボルとは高速化のために、統一記述表現から、もっと単純な情報(どのノードにいるか)として世界を集約する。
 FSMからプランニングへ
  昔は、ゴールを決めたらFSMで行動を制御していた(ゴール単位で設定)
  今は、目的と行動は分離さていて、その途中をプラナーが(連鎖的に)つなぐ
   レベルデザイナーがやっていた仕事をプラナーが勝手にやる

情報を取ってくるAI->エージェント
プランニングの欠点は、プランに従わなくてはならない(状況が変わっても対応しない)。状況が変わったときにプランを立て直すことをリプランニングという
いろいろなプランがあるときの選び方は?
 行動に対してコストを考えてコストが一番小さな行動を選ぶ(A*)
 これによって、キャラクタの個性として、異なるプランが生成される。


■クロムハウンズのゴール指向アクションプランニング

特徴
 戦略、戦術、行動のゴールを設定することができる。
 スクリプトで行動を規定する
 フィールド全域で行動
 知識表現はナビゲーションメッシュによる簡略的な表現

階層型ゴール指向プランニング
 大きなゴールは小さなゴールから組み立てられる
 最後はAIが実行できる簡単な行動に落とす
  戦略層、振舞い層、戦術層、戦略層
  下から作っていく
  ゲームテスト80回

長い時間にわたる制御が可能になった。
短い時間に渡る状況の変化への対応も可能である。


■Q&A

Q.クロムハウンズのデバッグ画面に出ている「寿命」って何?
A.無限ループ防止用の保険
Q.行動の粒度は?
A.キャラクタごとに決まる。ユーザーからどう見えるか(おっ賢いな)を気にして行動を決めている。
Q.BlackBoard は協調行動用?
A.Yes.行動を皆に告知する。
Q.なぜ、スクリプトを選んだ?
A.必ずしもシンボル形式の簡単なところまで落とせるわけではなかった。柔軟性を持たせるため。階層型のときは有利だった。スクリプト書くのは最初は手間だが後で楽になっていく。


■今後の発展

「実際にゲーム開発に応用するには」がテーマ。
ある行動をつなげると、単純な構造から複雑なことができる。というのがゴール指向プランニング。
以下のような応用が考えられる。


■Q&A

Q.企画とプログラマの場合わけは?
A.企画->三宅->プログラマで橋渡し。三宅さんが階層を気にして設計。普通は技術者が分けるのが良いでしょう
Q.スクリプトは企画でもかけるんじゃない?
A.戦術、戦略は企画が書いても良いでしょう。できればその下でも企画が書いて良いと思います。
Q.連鎖を追っていって、プランに達しないときは無いの?
A.止まることが良くあった。しつこくデバッグした。特別なデバッグ技法を使ったわけではない。デバッグしきれないからといって、導入しないのは間違っていると思う。特別な技法を開発しなきゃいけないとは思っている。
Q.階層型AIとFSMの違い?
A.階層の中でFSMが動いてるんじゃない?単にスケジューリングされたものが時間軸で線形に並べられているだけ。


■グループ討論(グループ3)

参加者

ゲーム(ジャンル)の選択

ようするにネタ出し

と、紆余曲折ありまして…
生活系SLGでいこう。
人間関係シミュレーション。

プランニングの実現するCOM

このゲームのCOMとは?

あいだにいろいろ脱線して…

生活者に何させたい?

プランニングの導入

どんなCOMが実現できそう?

プランニングの実現するゲームデザイン

いままで無理だったことから何ができるようになるの?

ゲームデザインの提案

このゲームをまとめて見ましょう。

生まれたときから始まる?高校生ぐらい?

企画会議シミュレーション

企画の出すイメージに対して、技術者が解決方法を提案するように実現性を考える。

プランニングの実現のためには

実際に作る時に、何が問題になる?


■さいごに

グループ討論は初めてだったので、 話についていくのがやっとで大変でした。





もどる

imagire@gmail.com