こんにちは。B4の東川です。
最近はコロナ禍の影響もあり、ゲームを新しく始めた人も多いのではないでしょうか。
そこで今回はゲームに使われる人工知能ゲームAIについて、実際どんなものなのかなど詳しく見ていきたいと思います。
ゲームAIという言葉を聞くと皆さんは何を思い浮かべますか?
きっと多くの人がNPC(ノンプレイヤーキャラクター)を思い浮かべるのではないでしょうか。
実はNPC=ゲームAIではなく、NPCはゲームAIの一種なんです。
実際にはゲームAIは大きく以下の3つの種類に分類することができます。[1]
キャラクタAIは、ゲームのキャラクタであるNPCの脳にあたる部分です。ゲームの中にある物体や環境を認識し、意思決定を行うことで自律的に行動します。
キャラクタAIのデザインはゲームによって異なり、それぞれ設計されるのでゲームによってキャラクタAIのアーキテクチャは異なります。
キャラクタAIが用いられている有名なゲームとして、1980年代に発売したパックマンがあります。
今でこそ、多くのゲームにキャラクタAIが実装されていますが、当時のゲームAIのほとんどはパターン化された動きしかすることができませんでした。
しかし、このゲームで、パックマンの敵キャラクターに世界で初めて独立した存在でステージ内をそれぞれ独自のパターンで動くキャラクタAIが導入されたそうです。
メタAIは、ゲーム全体を管理し、プレイヤーの動きを見てその動きから敵キャタクターを出現させたり、いいアイテムを出したりと、ゲーム環境を状況によって変化させます。
マリオカートを例にすると、1位がめっちゃ離れていると3位でもスターとかが出たりしますよね。あれはメタAIの仕業なんです(笑)。
ナビゲーションAIは、ゲーム内の地形を認識することでキャラクタAIやメタAI、プレイヤーに対して経路をナビゲーションするAIです。
人間や動物は感覚的に経路や動ける範囲を予測することができますが、キャラクタAIがある地点Aからある地点Bに移動するためには、その経路を正確に計算する必要があります。
またメタAIにとっては、ゲーム全体を管理・進行する上でキャラクターが障害物や通れない場所を避けて最短で目的地に行くルートに進んでいるか、逆に遠回りをしているかといった判断をする際の指標にもなります。
そのため、ナビゲーションAIはキャラクタAI、メタAIにとって無くてはならない存在で、ゲームAIを実装する上で必須のAIになっています。
ここまでゲームAIの種類について見てきましたが、ここからはゲームAIに関する研究についても簡単に紹介していこうと思います。
キャラクタAIに関連する研究として、森、角による「状況に応じた動作を制御するキャラクタAI」[2]という研究があります。
この研究ではオープンワールドな環境に着目し、オープンワールドの環境でキャラクターが環境に応じた行動を自動的に選択できるキャラクタAIの開発を目的としました。
従来のキャラクタAIでは、環境に付与されるタグを認識するか、環境に対して行われる動作のパターンをあらかじめ全て記憶させる必要がありました。
しかし、オープンワールドのゲームではこの方法を用いると作業コストが大きくなってしまいます。
そのため、この研究ではキャラクタAIにランダムフォレストというアンサンブル学習アルゴリズムにより機械学習することで事前に全パターンを記憶させることなく自動的に行動を選択させるキャラクタAIを開発しました。
実験では、さまざまな材質・形状・大きさ・位置情報の物体がキャラクターに飛んでくるゲームにおいて、キャラクターが「ジャンプ」「小ジャンプ」「スライド」「しゃがみ」「キック」「パンチ」「体当たり」の7種類のアクションを行い、飛んでくる物体に対してキャラクターのサイズが変わっても適切な行動が取れるかを調べました。
結果としては、ほとんどのアクションで適切に行動できていたことがわかりました。しかし、「しゃがみ」や「小ジャンプ」といったアクションは「スライド」や「ジャンプ」のアクションの条件に含まれてしまって高い精度で判断できなかったということがわかりました。
メタAIに関連する研究として、宋、三宅による「メタAIを用いたFPSゲーム難易度の自動チューニング」[3]という研究があります。
この研究ではメタAIを用いてFPSゲームにおける難易度を自動で調整することを目的としました。
実験では、水野ら[4]が提案したスコアベース動的難度低減パターンに基づいて、難易度を調整する「GBMーAI」を構築し、それを筆者らが作成したオリジナルFPSゲーム「MetaFPS」に実装して難易度とプレイスキルがマッチするかを調べました。
結果としては、「GBMーAI」を用いることでゲームの難易度をコントロールすることができていましたが、「MetaFPS」に搭載されたキャラクタAIの強さが強すぎたため、「GBM-AI」の難易度調整が効く前にゲームオーバーになってしまうなどでクリア状況は改善しませんでした。
またFPSゲームやPCゲーム初心者はそもそも操作自体が難しいといった問題やFPSゲームの能力を表す指標の再検討などまだまだ改善の余地があることがわかったそうです。
ここまでゲームAIの種類や研究について簡単に紹介しましたが、いかがだったでしょうか?
ゲームAIはキャラクタAI、メタAI、ナビゲーションAIがうまく作用してできているため、ゲームをしている中でこのAIはどのゲームAIが動いているのかなとちょっとでも考えてもらえたら嬉しいです(笑)。
また研究分野では、ゲームAIの強さというよりかは、ここで挙げた研究も含め、ゲームAIを用いてどのように人を楽しませるかであったり、人のような振る舞いをするAIの開発といった研究が進んできています。
私自身もゲームに関連した研究をしようと思っているので、人のような振る舞いをするAIや人を楽しませるAIといった論文により焦点を当てて読んでいきたいと思います。
最後まで読んでいただきありがとうございました。