デジタルゲームAIの基本技術(空間軸の認識技術)
前回まで述べたデジタルゲームAIの基本技術についてまとめる。参考とする図書は「デジタルゲームの教科書 知っておくべきゲーム業界最新トレンド」より。
デジタルゲームキャラクタAIのクオリティは「そのAIが時間と空間をどれだけ支配しながら活動できるか」によって決まる。これはどれくらい周囲の環境を認識し、どれくらいの時間幅と時間スケールの中で行動を組み立てることができるかということでもある。このそれぞれについて対応する技術を述べる。
まず空間とモノの認識について。デジタルゲームのフィールドは囲碁や将棋と比べて飛翔に複雑となる。一般的にはこのような空間を表現する為に場所の指標となるポイントを敷き詰めるか(ウェイポイント(WayPoint))、三角形(凸角形)を敷き詰める(ナビゲーションメッシュ(Navigation Mesh))という手法を用い、これら要素を繋いでネットワークグラフとして処理を行う。
ネットワークグラフの処理で最も行われているものは、最短経路を求めるパス探索で、アルゴリズムとしてはダイクストラ法、A*探索法がある。
一般的に、ある世界に存在するAIがその世界を認識する時には、その世界を解釈できるように「もの」「世界」「事象」についての知識の形を与える必要がある。これを知識表現(Knowledge Representation:KR)と呼ぶ。AIが世界から何を切り出して、それをどう解釈するかを自ら行うことは非常に困難で、ゲームAIの場合は開発者がAIに与えている。
デジタルゲームAIの知識表現で最も大切なものが、マップ全体の対極的な知識表現である世界表現(World Representation)となる。前述のネットワークグラフはAIにとっての地形を表現した世界表現となる。AIをより賢明にする為には思考のアルゴリズムより、この知識表現と世界表現を充実させることが必要となる。たとえばネットワークグラフの中にポイント間の位置関係だけでなく、「そのポイントの明るさ」「どれくらい遠くまで見渡せるか」等の付加情報を加えることでAIの認識そのものを豊かにし、様々な思考を展開する土壌になる。
ゲームAIでは、知識表現の決まった形はなくそれぞれのゲームにおいて適した知識表現の形を探索することから設計開発が始まる。たとえば、空間情報のリッチ化の場合、一つの層として敷き詰めただけでは、位置単位の細かな思考しかできず、位置を一定の大きさでまとめてクラスターかすることで一つのまとまった領域を表現することができる。(空間をスケールで階層化する技術)
また空間(オブジェクト)で可能な行為の情報はアフォーダンスと呼ばれる。そのアフォーダンス情報で空間を満たすことで、Aiはそのマップに入った時になしうる行動のリストを作ることができ、そこから最適な行動を選ぶことができる。
コメント
[…] 前回に引き続き、デジタルゲームAIの技術について述べる。今回は時間軸の認識技術について。 […]
[…] 内容としては本稿で、2000年代までの初期の古典的ゲームAIについて、次項で2000年以降の自律型AIを含むゲームAIについて、更に個別技術の解説として空間認識タイプのゲームAI、最後に時間認識タイプのゲームAIについて述べる。 […]
[…] デジタルゲームAIの基本技術(空間軸の認識技術) […]
[…] デジタルゲームAIの基本技術でも「デジタルゲームキャラクタAIのクオリティは「そのAIが時間と空間をどれだけ支配しながら活動できるか」によって決まる。これはどれくらい周囲の環 […]
[…] “デジタルゲームAIの基本技術(空間軸の認識技術)“で述べられているようなゲームエンジンは、ゲームの開発においてグラフィックスや物理シミュレーションだけでなく、AIの実 […]