MOREゲームAIってなんだろう2016.12.01約1年半ぶりくらいのでしょうか。皆様お久しぶりです、吉行です。村人からラスボスまでゲームを盛り上げるキャラクター達がどのような仕組みで動いているか、ゲームAIについて紹介していきたいと思います。ゲームAIとはゲームAIはキャラクターAI、メタAI、ナビゲーションAIの3つに分けることが出来ます。管理するキャラクターの頭脳です。メタAプレイヤーの行動、ゲームの進行を監視し、ゲーム性を調整するものです。ナビゲーションAI環境情報を認識して、行きたい場所の経路等を提供してくれるものです。環境と知性をつなぐ情報の流れことをインフォメーションフローといいます。記録する部分この4つのモジュールの設計と連携が一つの知性を形成しています。知性は環境から情報を得て、環境に影響を与える動きを行います。知性から環境に作用する部分を「効果器」と言います。以下のような処理を行なっていることとなります。行動はパラメータ(今回だとプレイヤーの座標)の変化により行われます。エージェントアーキテクチャの6つの型エージェントアーキテクチャとは、環境以外の環境に対してどう反応するかを定義したアーキテクチャとなります。エージェントアーキテクチャには以下の6つの型が存在します。ルールベースステートベースビヘイビアベースタスクベースゴール指向ユーティリティベースという6つの型を定義しています。今回はルールベースのAIを紹介したいと思います。ルールベースルールを一つの単位として「もしAがBだったら」の条件式の集合で動作するAIです。ルールとは条件式のことで、例えば以下のような感じです。{ランダムに動き回る}ただし、条件が増えると、いずれ競合という問題が発生します。上記1.と2.のルールは、同時に満たすことが可能でかつ動作が共存できないため競合が発生しています。競合を解消するためには、以下のどれかを行う必要があります。条件を同時に満たさないようにする動作を共存できるようにするプライオリティをつけるプライオリティプライオリティにて解消する場合はいくつかのパターンがあります。ルールにプライオリティをつける(静的プライオリティ)各ルールにプライオリティを付け、プライオリティが高い動作を選択するものです。状況に合わせてプライオリティを計算する(動的プライオリティ)状況に応じてプライオリティを計算して、プライオリティが高い動作を選択するものです。ランダムランダムで動作を選択するものです。交互に選択する動作が競合した場合は交互に動作を選択するものです。まとめルールベースは分かりやすく、要素の少ないゲームでは有効に思えます。要素が増えるとルールが複雑になり、優先度付けも難しくなってしまいそうです。ルールベースの本質はルールを基本単位とする考えを忘れないように。プライオリティについて、駆け足での説明となってしまいましたので次回、AIでよくある動きの例を交えながら説明していきたいと思います。ご期待を!採用情報クラウドクリエイティブスタジオでは絶賛エンジニア募集中でございます。