この連載が書籍になりました!『エンジニアのためのAI入門

AI最前線の現場から【スクウェア・エニックス】デジタルゲームのための人工知能入門

2016年7月20日(水)
三宅 陽一郎

はじめに

今回から全4回にわたって、デジタルゲームにおける人工知能について解説します。デジタルゲームとはゲーム機や携帯電話で動くゲームのことで、その世界は水たまりに虫たちが群れるように、湖に貝や魚が息づくように自律した人工知能が息づく場所です。さまざまなキャラクターたちが意志を持って行動し、目には見えなくてもサポートする人工知能たちもいます。本連載では、そういったデジタル世界の住人や生き物たちの人工知能を紐解いていきます。

第1回の今回は、この分野の入門を解説します。第2回では、この分野の中心的課題である「キャラクターの意思決定」、つまりキャラクターたちがどうやって自分の行動を決定しているかを見ていきます。さらに第3回ではキャラクターの身体や運動をどのように作って行くか、第4回ではゲームAI分野の特有AIである「メタAI」を中心について解説します。

  • 第1回 デジタルゲームのための人工知能入門
  • 第2回 ゲーム・キャラクターはどのように意志決定するか?
  • 第3回 キャラクターの身体と運動を作る
  • 第4回 ゲームそのものを認識するメタ人工知能

現在、スクウェア・エニックスでは「FINAL FANTASY XV」(http://www.jp.square-enix.com/ff15/)というロール・プレイング・ゲーム(RPG)を作っています(図1)。本ゲームでは、ふんだんに人工知能技術が導入されています。本連載では、ところどころFINAL FANTASY XVの実例を題材にしながら解説していきます。

「FINAL FANTASY XV」では活気のある街と住人の中を主人公と仲間が駆け抜けていく

図1:「FINAL FANTASY XV」では活気のある街と住人の中を主人公と仲間が駆け抜けていく

デジタルゲームの人工知能とは

人工知能は日々進化し、「インターネット革命」や「情報革命」といったいくつかの変革のあとに「人工知能革命」とも言うべき時代が到来しています。その大きな流れは、科学計算から始まったコンピュータが概念や意味、感情といった、より人間に近い次元へ進出していることを意味しています。それは人間に期待と怖れが絡み合った感情を引き起こします。

「人工知能」という分野は60年の歴史がありますが、「デジタルゲームの人工知能」は後から発展した分野で、特にこの15年の間に急速に発展し、1つの独立した分野として形成されました。その半分はデジタルゲーム特有の技術であり、もう半分はアカデミックな伝統的な人工知能技術をゲーム開発向けに改良したものです。しかし、現状ではその新しさゆえにまだ解説が少ないため、ここで全体像を紹介したいと思います。

デジタルゲームの人工知能の大きな仕組み

デジタルゲームの人工知能には3つの種類があります(図2)。1つは前述したキャラクターが持つ頭脳である「キャラクターAI」です。2つ目は「ナビゲーションAI」で、地形について思考する専用の人工知能です。目的地までのパス(経路)や地形の使い方を思考します。3つ目は「メタAI」と呼ばれる人工知能です。メタAIはプレイヤーの行動とゲームの進行を監視しながら、プレイヤーのスキル(どれぐらい上手か)やその経路を予測して敵キャラクターの強さを調整したり、予測経路上に敵を配置したりします。つまり、ユーザーに応じてゲームを柔軟に変化させます。

現代のデジタルゲームのAIは、この三者が独立しつつ協調するシステムなのです。こういったシステムを人工知能では「分散人工知能」と言います。

現代のゲームAIの全体像。3つのAIが分散協調する

図2:現代のゲームAIの全体像。3つのAIが分散協調する

キャラクターAIの作り方

ゲームに登場するモンスターや人物をまとめて「キャラクター」と言います。デジタルゲームの人工知能は、この「キャラクターの知能」を作ることが主な仕事となります。FINAL FANTASY XVでは起伏に富んだ平原や草原、森、山脈の中を3人の仲間と一緒に旅をするゲームです。そこには野原や洞窟、湖に生息するモンスターや長い旅を共にする仲間キャラクターたちがいます。さらに都市や街にはそこで暮らしている住人キャラクターや動物たちがいます。当然ながら、このすべてのキャラクターがAIで動いています(図3)。デジタルゲームでは地形や背景の制作と共に、その場所で生活し、息づいているキャラクターたちの知能がゲームに深みを与えるのです。

FINAL FANTASY XVの仲間、敵、すべてのキャラクターが人工知能で動いている

図3:FINAL FANTASY XVの仲間、敵、すべてのキャラクターが人工知能で動いている

FINAL FANTASY XVでは、時に戦い、時に協力して物語を進めていきます。前述したように、プレイヤー・キャラクター以外のキャラクターは完全に人工知能で動いていますが、プレイヤー・キャラクターもまた人工知能がアシストする形で動かしています。同じ旅をする仲間、敵モンスター、ボスキャラクター、街の人々、キーとなる役目を持つキャラクターたちは、知能の中身は違いますが、同じ知能の仕組みで動いています。この「違う知能を同じ仕組みで作る」というところが人工知能技術と呼ばれる部分です。

次に、すべてのキャラクターに共通する人工知能の仕組みを説明しましょう。

エージェント・アーキテクチャ

建築に設計が必要なように、ゲームの人工知能を作るにもソフトウェアの「アーキテクチャ」が必要です。特にキャラクターAIの知能アーキテクチャを「エージェント・アーキテクチャ」と言います。ここで言う「知能」は身体と知的能力を含めた全体を指します。

現代のキャラクターAIを読み解くキーワードは「自律性」です。自律性とは自分で感じ、考え、行動することを言います。そこで「自律型AI」を作るためにロボット工学から発展したエージェント・アーキテクチャを用います。エージェント・アーキテクチャの基本的な発想は「まず世界と知能を明確に分けて考えましょう、そして、その上で世界と知能の結びつきを考えましょう」というところにあります。この結びつきのうち、世界から知能に情報を取り入れる部分を「センサー」(感覚器)と言います。逆に、知能から世界に影響を及ぼす部分を「エフェクター」(効果器)と言います。

知能の内部は「認識」「意思決定」「運動生成」という機能モジュールと、「記憶」「身体」という記憶モジュールを組み合わせて作ります。「モジュール」とは部品のことです。このように部品を組み上げて全体を構成するデザインの手法を「モジュラーデザイン」と言います。モジュラーデザインの優れているところは、それぞれの部品を独立して変更できるため多様性をもたらすこと、開発の最後まで変更しやすい、という点にあります。

エージェント・アーキテクチャは、次のような4つの性質を持ちます(図4)。

  • 身体と世界を明確に分ける
  • センサー(感覚)によって環境世界から情報を取得する
  • 身体(エフェクター)によって世界に影響を与える
  • 役割を持ち、自分自身でそれに基づいた意思決定を行う
キャラクターの人工知能の基盤となるエージェント・アーキテクチャ

図4:キャラクターの人工知能の基盤となるエージェント・アーキテクチャ

そして、これらの性質は次の3つの部分からなります。

  • センサーから入って来た情報を「認識する部分」(cognition、knowledge-making)
  • それを元に「意思決定」する部分(decision-making)
  • 最後に「運動生成」する部分(motion-making)

これに記憶と身体を合わせた5つのモジュールがエージェント・アーキテクチャの主要な部品となります。そして、それぞれのモジュールはゲームやキャラクターによってかなり違った実装になります。もちろん再利用できるモジュールもありますが、全体としての構成はどのキャラクターでも同様です。

環境世界からセンサー、認識、意思決定、運動生成、エフェクターを通って再び世界へ流れる情報の流れに注目しましょう。この流れを「インフォメーション・フロー」(情報の流れ)と言います。水の流れが水車を回すように、環境世界から流れ込む情報の流れが知能を駆動します。つまり、各モジュールは流れ込む情報を解釈して貯め込む、次のモジュールに渡すという役割を持ちます。こういった設計を「データ・ドリブン」と言います。

我々が食べたものは内臓を渡りながら分解され、エネルギーとして獲得して発散されます。このエージェント・アーキテクチャも情報を食べる内臓のようなものだと思ってください。各モジュールは内臓のように流れ込む情報を解釈して次のモジュールに渡し、最終的に行動としてアウトプットされます。詳細は次回以降に各モジュールを見ていくので、ここではエージェント・アーキテクチャ全体とそこに流れるインフォメーション・フローのイメージを覚えておいてください(図5)。

エージェント・アーキテクチャとインフォメーション・フロー

図5:エージェント・アーキテクチャとインフォメーション・フロー

まとめ

さて、今回は第1回ということで、以下のようなことを見てきました。

  • ゲームAIには3種類「メタAI」「キャラクターAI」「ナビゲーションAI」がある
  • キャラクターAIとは、キャラクターの頭脳のことである
  • キャラクターの頭脳はエージェント・アーキテクチャを基本に作る
  • エージェント・アーキテクチャは認識、意思決定、運動生成、身体、記憶の5つのモジュールからなる

次回は、今回に引き続きキャラクターAIの意思決定について解説して行きます。お楽しみに!

【第1回参考文献】
三宅陽一郎「ディジタルゲームにおける人工知能技術の応用の現在」(人工知能学会誌、2015)
http://id.nii.ac.jp/1004/00000517/

株式会社スクウェア・エニックス

テクノロジー推進部 リードAIリサーチャー。京都大学卒。「FINAL FANTASY XV」リードAIアーキテクト。2004年よりデジタルゲームにおける人工知能の開発・研究に従事。国際ゲーム開発者協会日本ゲームAI専門部会チェア、日本デジタルゲーム学会理事、芸術科学会理事、人工知能学会編集委員、CEDEC委員会委員。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています