Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~

3,111 views

Published on

現在キャラクターを前面に出したエージェント指向のサービスが拡大している。デジタル サイネージで目の前の人を認識して対応する、携帯電話のスクリーンで対話するなどである。ゲーム産業はキャラクターの作成に対し長い歴史を通じて探究して来た。本講演では、「FINAL FANTASY XV」を事例としてキャラクターのリアルタイムの意思決定、アニメーション、ユーザーの行動特性を抽出してコンテンツを変化させるメタ AI 技術などを解説する。

受講対象: AI のプロジェクトへの適用の実態を知りたい開発者の皆様。また、全てのゲーム開発者の皆様は是非ご参加ください。

製品/テクノロジ: AI (人工知能)/Deep Learning (深層学習)/Machine Learning (機械学習)

三宅 陽一郎
株式会社スクウェア・エニックス
テクノロジー推進部
リードAIリサーチャー

Published in: Technology
  • Login to see the comments

[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~

  1. 1. ゲーム キャラクターのための人工知能と社会への応用 - FINAL FANTASY XV を事例として - Microsoft Conference de:code 2017 株式会社スクウェア・エニックス 三宅 陽一郎 FFXV リードAIアーキテクト 2017.5.23 @The Prince Park Tower Tokyo ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  2. 2. • Chrome Hounds (SEGA, Fromsoftware, 2006) • Demons’ Souls (SIE, Fromsoftware, 2009) • ぽかぽかアイルー村(CAPCOM、Fromsoftware, 2010) • Orgarythm (AQUIRE, NEILO, 2012) • ARMORED CORE V (Fromsoftware, 2012) • FINAL FANTASY XIV (SQUARE ENIX, 2010-2017) • FINAL FANTASY XV (SQUARE ENIX, 2016) Works (2006-2016) AI for Game Titles Books ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  3. 3. FINAL FANTASY XV AI Teams • 株式会社スクウェア・エニックス • 三宅 陽一郎 (AI Graph)白神 陽嗣 、横山 貴規、下川 和也 (モンスターAI)並木 幸介、小松 智希、 (アニメーション)今村 紀之 (ナビゲーションAI)Fabien Gravot、Hendrik Skubch、 Ingimar Holm Gudmundsson、Matthew W. Johnson (仲間AI、メタAI)Prasertvithyakarn Prasert,上段 達弘 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  4. 4. 本日のコンテンツ(参考文献) • FINAL FANTASY XV におけるキャラクターAIの意思決定シス テム • FINAL FANTASY XV -EPISODE DUSCAE- のアニメーション ~ 接地感向上のためのとりくみ~ SQUARE ENIX PUBLICATIONS • http://www.jp.square-enix.com/tech/publications.html ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  5. 5. 参考文献 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 三宅陽一郎 「大規模ゲームにおける人工知能 ─ファイナルファンタジーXV の実例をもとに─」 (17ページ) (人工知能学会誌、2017年 3月 Vol.32 No.2) ※PDFをダウンロードできます。 http://id.nii.ac.jp/1004/00008567/
  6. 6. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  7. 7. FINAL FANTASY XV とは? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  8. 8. FINAL FANTASY XV とは ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • リアリティに基づいた ファンタジー • RPG • 車(旅)、仲間、自然
  9. 9. 仲間、自然、モンスターたち ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  10. 10. 仲間、自然、モンスターたち ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  11. 11. FINAL FANTASY XV AI Overview 登場するAIキャラクターとメイキングの映像 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  12. 12. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  13. 13. ゲームの知能化 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  14. 14. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 産業革命 情報革命 ネット革命 知能革命 機械化・自動化(オートメーション化) 電子情報化 オンライン化 知能化 第二次産業革命 電動化 現代は「知能化」の時代に 入りつつある。
  15. 15. ゲーム全体の知能化 ゲーム・ソフトウェア 知能化された ゲーム・ソフトウェア ゲームも知能化の時代を迎えようとしている。 では「ゲームの知能化」とはどういうことだろうか? それを見ていこう。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  16. 16. ゲーム全体の知能化 ゲーム・ソフトウェア 知能化された ゲーム・ソフトウェア かつてゲームでは人工知能は独立した部分ではなく、 ゲームシステムの中に含まれていた。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  17. 17. AIの分化 ゲームシステム メタAI キャラクターAI ナビゲーションAI 3つのAIシステムは序々に分化して独立して行った。 では、今度はナビゲーションAIについてさらに詳しく見てみよう。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  18. 18. フィールド 3つのAIの連携の例 ナビゲーション AI メタAI キャラクターAI 状況を監視し、キーとなる役割を 適切なタイミングでエージェントに 指示する。 自律的な判断。 仲間同士の協調 地形を解析する 目的に応じた点を見つけ出す 目的地までのパスを計算する Support エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが 戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  19. 19. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • FINAL FANTASY XV とは? • ゲームの知能化 • Luminous AI の全体設計
  20. 20. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  21. 21. LUMINOUS AI の全体設計 LUMINOUS AI のめざすもの ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  22. 22. Luminous Studio • Luminous AI Luminous Studio(スクウェア・エニックスのオリジナル エンジン)のAI部分のことを指す。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  23. 23. Game Engine • ゲームエンジン = 社内の全ての技術を結晶させる場所 • Luminous AI = 社内のAI技術を結晶させる場所 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  24. 24. レベル ナビゲーション AI メタAI キャラクター AI エージェントを動的に配置 レベル状況を監視 キャラクターに指示 ゲームの流れを作る 自律的な判断 仲間同士の協調 時にチームAIとなる メタAI, キャラクターAIの為に レベルの認識のためのデータを準備 オブジェクト表現を管理 ナビゲーション・データの管理 パス検索 / 位置解析 Support 敵キャラクタ- プレイヤー 頭脳として機能 情報獲得 コントロール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  25. 25. レベル Luminous AI Navigation メタAI Luminous AI Graph Support 敵キャラクタ- プレイヤー 頭脳として機能 情報獲得 コントロール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  26. 26. ゲームの要件に沿って ゲームの流れを作る 社内のあらゆる ナビゲーションを 集積させ組み合わせる 場所 社内のあらゆる 意思決定技術を 集積させ組み合わせ る場所 レベル Luminous AI Navigation メタAI Luminous AI Graph Support 敵キャラクタ- プレイヤー 頭脳として機能 情報獲得 コントロール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  27. 27. Luminous AI Tool Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Tool Luminous Navigation Tool
  28. 28. Luminous AI Tool Luminous AI Runtime (In Game) Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Tool Luminous Navigation Tool Luminous AI Graph Runtime Luminous Navigation Runtime
  29. 29. Luminous AI Tool Luminous AI Runtime (In Game) Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Tool Luminous Navigation Tool Luminous AI Graph Runtime Luminous Navigation Runtime
  30. 30. Luminous AI Tool Luminous AI Runtime (In Game) Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Tool Luminous Navigation Tool Luminous AI Graph Runtime Luminous Navigation Runtime キャラクターの頭の中
  31. 31. Luminous AI Tool Luminous AI Runtime (In Game) Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Tool Luminous Navigation Tool Luminous AI Graph Runtime Luminous Navigation Runtime キャラクターの頭の中を、 GUIツールによってプランナ-、デザイナーがグラフで作る。
  32. 32. Luminous AI Tool Luminous AI Runtime (In Game) Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Tool Luminous Navigation Tool Luminous AI Graph Runtime Luminous Navigation Runtime キャラクターの頭の中を、 GUIツールによってプランナ-、デザイナーがグラフで作る。 エンジニアと非エンジニアの仕事をツールで分化する。
  33. 33. Luminous AI Tool Luminous AI Runtime (In Game) Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Tool Luminous Navigation Tool Luminous AI Graph Runtime Luminous Navigation Runtime
  34. 34. Luminous AI Tool イン・ゲーム Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Tool Luminous Navigation Tool Luminous AI Graph Runtime Luminous Navigation Runtime Luminous AI Graph Luminous Navigation
  35. 35. Luminous AI Tool イン・ゲーム Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Luminous Navigation ステート(状態)ベース思考 ゴール(目標)ベース思考ルール(規則)ベース思考 ビヘイビア(振る舞い)ベース思考 シミュレーションベース思考 ユーティリティ(効用)ベース 思考 タスク(仕事)ベース 思考 知識表現 ナビゲーション(パス検索) (Navigation) ステアリング(回避・挙動) (Steering System) 戦術位置検索システム(PQS, Point Query System) ヒートマップシステム(Heat-map System) 学習・進化 知識表現・世界表現 隠れるポイントシステム ターゲット選択 3次元移動制御 破壊対応 記憶 センサー ブラックボード
  36. 36. Luminous AI Tool イン・ゲーム Luminous AI アーキテクチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Luminous Navigation ステート(状態)ベース思考 ゴール(目標)ベース思考ルール(規則)ベース思考 ビヘイビア(振る舞い)ベース思考 シミュレーションベース思考 ユーティリティ(効用)ベース 思考 タスク(仕事)ベース 思考 記憶 知識表現 ブラックボード ナビゲーション(パス検索) (Navigation) ステアリング(回避・挙動) (Steering System) 戦術位置検索システム(PQS, Point Query System) ヒートマップシステム(Heat-map System) 学習・進化 知識表現・世界表現 隠れるポイントシステム ターゲット選択 3次元移動制御 破壊対応 センサー
  37. 37. Luminous AI Graph はAI技術を結ぶ AI Graph をあらゆるAI技術を結ぶ中継点とする ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. AI Graph PQS パス検索 Heat-map Animation Target Selection Steering
  38. 38. Luminous AI Graph はAI技術を結ぶ AI Graph をあらゆるAI技術を結ぶ中継点とする ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. AI Graph PQS パス検索 Heat-map Animation Target Selection Steering ゲームのあらゆる意思決定の要件をツール上で構築できる。
  39. 39. 方針 単一の意思決定では十分でない。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 複数の意思決定を組み合わせる。
  40. 40. Luminous AI Tool イン・ゲーム ステートマシンとビヘイビアツリー ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Luminous Navigation ステート(状態)ベース思考 ゴール(目標)ベース思考ルール(規則)ベース思考 ビヘイビア(振る舞い)ベース思考 シミュレーションベース思考 ユーティリティ(効用)ベース 思考 タスク(仕事)ベース 思考 知識表現 ナビゲーション(パス検索) (Navigation) ステアリング(回避・挙動) (Steering System) 戦術位置検索システム(PQS, Point Query System) ヒートマップシステム(Heat-map System) 学習・進化 知識表現・世界表現 隠れるポイントシステム ターゲット選択 3次元移動制御 破壊対応 記憶 センサー ブラックボード
  41. 41. 環境世界 認識の 形成 記憶 意思の 決定 身体 制御 エフェクター・ 身体 運動の 構成 センサー・ 身体 意思決定 モジュール 意思決定 モジュール 意思決定 モジュール 記憶体 情報処理過程 運動創出過程 身体部分 情報 統合 運動 統合 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステート(状態)ベース思考 ビヘイビア(振る舞い)ベース思考 戦術位置検索システム(PQS) ナビゲーション(パス検索) ステアリング(回避・挙動 ヒートマップシステム 記憶 ブラックボード
  42. 42. Luminous AI Tool イン・ゲーム これからの Luminous AI の未来 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Luminous AI Graph Luminous Navigation ステート(状態)ベース思考 ゴール(目標)ベース思考ルール(規則)ベース思考 ビヘイビア(振る舞い)ベース思考 シミュレーションベース思考 ユーティリティ(効用)ベース 思考 タスク(仕事)ベース 思考 知識表現 ナビゲーション(パス検索) (Navigation) ステアリング(回避・挙動) (Steering System) 戦術位置検索システム(PQS, Point Query System) ヒートマップシステム(Heat-map System) 学習・進化 知識表現・世界表現 隠れるポイントシステム ターゲット選択 3次元移動制御 破壊対応 記憶 センサー ブラックボード
  43. 43. フィールド 3つのAIの連携の例 ナビゲーション AI メタAI キャラクターAI 状況を監視し、キーとなる役割を 適切なタイミングでエージェントに 指示する。 自律的な判断。 仲間同士の協調 地形を解析する 目的に応じた点を見つけ出す 目的地までのパスを計算する Support エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが 戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  44. 44. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  45. 45. メタAI ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  46. 46. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. メタAI メタAIの機能 ピンチの主人公(左下)にメタAIが仲間(右)にピンチを知らせて 助けるように命令する
  47. 47. メタAI • 仲間同士で協調して動作させたい ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 仲間全体を統括管理するAI(メタAI)からの指示で 行動を切り替える
  48. 48. メタAI メタAIからの指示によって、 仲間同士が協調動作する様子 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  49. 49. メタAI • 戦闘の調整 • 各キャラクターは普段は「AI グラフ」で動いて いるが、インタラプトする。 • プレイヤーと各仲間の状態を監視して、プレイ ヤーがピンチの時には、一番近くて都合が良 い(別の敵に攻撃している最中でないなど)仲 間を選んで、最優先で駆けつけるように指令 を出す。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  50. 50. メタAI 戦闘中メタAIが仲間に与える指示としては、 • プレイヤーや仲間のピンチを助けよ • プレイヤーが敵に拘束されているから助けよ • プレイヤーが逃げているから追従せよ • 作戦が発動したのでそれに合わせた行動をせよ • など。このような指令によって、戦闘を引き締めて、戦 闘全体に緩急を与える。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  51. 51. フィールド 3つのAIの連携の例 ナビゲーション AI メタAI キャラクターAI 状況を監視し、キーとなる役割を 適切なタイミングでエージェントに 指示する。 自律的な判断。 仲間同士の協調 地形を解析する 目的に応じた点を見つけ出す 目的地までのパスを計算する Support エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが 戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  52. 52. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  53. 53. キャラクターAI ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  54. 54. AIキャラクタ制作に求められたこと • 合理的で説得力のある行動選択 • 多彩でリアリティのある挙動 • イベント演出とのシームレスな融合 • 多くの種類のキャラクタを作れる量産性 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 柔軟な意思決定ツールが必要!
  55. 55. 知能と身体 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 身体と知能は不可分である。
  56. 56. 知能と身体 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  57. 57. キャラクター全体のアーキテクチャ 抽象的な意思決定を行う ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  58. 58. キャラクター全体のアーキテクチャ 身体の状態を大きく定義 - 「走っている」「ジャンプしている」 「梯子を登っている」のか、などをステートで管理 - 状態ごとに行える行動を制限 - 反射的に行った行動(ダメージリアクションなど) による身体の状態変化を、知能に知らせる 抽象的な意思決定を行う ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  59. 59. キャラクター全体のアーキテクチャ 身体の状態を大きく定義 - 「走っている」「ジャンプしている」 「梯子を登っている」のか、などをステートで管理 - 状態ごとに行える行動を制限 - 反射的に行った行動(ダメージリアクションなど) による身体の状態変化を、知能に知らせる 抽象的な意思決定を行う アニメーションデータの再生を管理します。 アニメーション同士のブレンドをアーティストが調整 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  60. 60. AnimGraph ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. アニメーション同士のブレンド時間やブレンド方法をアーティストが調整
  61. 61. 身体制御との連動 • BodyステートマシンとAI Graphの連携 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. AIから直接アニメを再生するのではなく、身体 制御層(Body)のステートマシンを介してアニメと やりとりする 射撃処理、ダメージ処理などは、Body FSMに 組み込んでおいた制御をAIから呼び出す こうすることで、思考と身体を役割分担し、 AIの肥大化を回避
  62. 62. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  63. 63. キャラクターAI:意思決定 知能とは何か? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  64. 64. 知能とは? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 環境
  65. 65. 知能とは? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 環境 身体 (内部構造)
  66. 66. 環境 知能とは? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 身体 (内部構造) 知能 知能=環境と自分(=身体)を動的に調和させる機能を持つ。
  67. 67. 環境 人工知能とは? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 人工知能=人工的な存在(=身体)を環境の中で活動させる 知能 身体 (内部構造)
  68. 68. 環境 人工知能とは? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 身体 人工知能=人工的な存在(=身体)を環境の中で活動させる 入力(センサー) 行動(アウトプット) 知能
  69. 69. 知能の内部世界 環境世界 エフェクター・ 身体 センサー・ 身体
  70. 70. 知能の内部世界 環境世界 エフェクター・ 身体 センサー・ 身体 エージェント・アーキテクチャ =世界と知能を分けて考える。
  71. 71. 思考 環境世界 エフェクター・ 身体 センサー・ 身体 記憶
  72. 72. 思考 環境世界 エフェクター・ 身体 センサー・ 身体 記憶
  73. 73. 環境世界 認識の 形成 記憶 センサー・ 身体 記憶体 情報処理過程 情報 統合 記憶 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  74. 74. 環境世界 認識の 形成 記憶 意思の 決定 センサー・ 身体 意思決定 モジュール 意思決定 モジュール 意思決定 モジュール 記憶体 情報処理過程 情報 統合 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 記憶
  75. 75. 環境世界 認識の 形成 記憶 意思の 決定 身体 制御 エフェクター・ 身体 運動の 構成 センサー・ 身体 意思決定 モジュール 意思決定 モジュール 意思決定 モジュール 記憶体 情報処理過程 運動創出過程 身体部分 情報 統合 運動 統合 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 記憶
  76. 76. 知能の世界 環境世界 認識の 形成 記憶 意思の 決定 身体 制御 エフェクター・ 身体 運動の 構成 センサー・ 身体 意思決定 モジュール 意思決定 モジュール 意思決定 モジュール 記憶体 情報処理過程 運動創出過程 身体部分 情報 統合 運動 統合 エージェント・アーキテクチャ =世界と知能を分けて考える。
  77. 77. 知能の世界 環境世界 認識の 形成 記憶 意思の 決定 身体 制御 エフェクター・ 身体 運動の 構成 センサー・ 身体 意思決定 モジュール 意思決定 モジュール 意思決定 モジュール 対象・ 現象 情報の流れ(インフォメーション・フロー) 影響を与える影響を受ける ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 記憶
  78. 78. 意思決定モデル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI 意思決定というものは非常に高度で複雑なプロセスです。 でも、ゲームで用いるいくつかの簡易モデルが存在します。 シミュレーションベース AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI 「○○-based AI」とは、○○をAIを構築する基本単位として採用したAIということ。 タスク(仕事)ベース AI Task-based AI 意思決定 Simulation-based AI
  79. 79. 参考文献 三宅陽一郎 「ディジタルゲームにおける 人工知能技術の応用の現在」 (19ページ) (人工知能学会誌、2015) ※PDFをダウンロードできます。 http://id.nii.ac.jp/1004/00000517/ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  80. 80. 意思決定モデル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI 意思決定というものは非常に高度で複雑なプロセスです。 でも、ゲームで用いるいくつかの簡易モデルが存在します。 シミュレーションベース AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI 「○○-based AI」とは、○○をAIを構築する基本単位として採用したAIということ。 タスク(仕事)ベース AI Task-based AI 意思決定 Simulation-based AI ステート(状態)ベースAI
  81. 81. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  82. 82. キャラクターAI:意思決定 ビヘイビアツリー入門 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  83. 83. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  84. 84. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール この層の中で実行可能なうち、 最も優先度の高いノードを実行する ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  85. 85. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  86. 86. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール この層の中で実行可能なノードを 順番に実行する。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  87. 87. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  88. 88. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  89. 89. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  90. 90. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  91. 91. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  92. 92. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール この層の中で実行可能なノードを ランダムに一つ実行する。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  93. 93. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  94. 94. root バトル 撤退 休憩 攻撃 隠れる 逃走する 足止めする 立ち止まる 回復する トラップ 眠る 回復薬を飲む 弓を放つ 剣を振る 森に潜む 穴を掘る 建物に隠れる 攻撃魔法 氷系 風系プライオリティ プライオリティ シークエンス シークエンス ランダム プライオリティ ランダム プライオリティ ランダム ビヘイビア (末端ノード) 層 層 選択ルール 選択ルール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  95. 95. 1. 視覚センサとターゲットサーチ • AI Graphでターゲットを登録しているところ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  96. 96. 意思決定モデル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI 意思決定というものは非常に高度で複雑なプロセスです。 でも、ゲームで用いるいくつかの簡易モデルが存在します。 シミュレーションベース AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI 「○○-based AI」とは、○○をAIを構築する基本単位として採用したAIということ。 タスク(仕事)ベース AI Task-based AI 意思決定 Simulation-based AI ステート(状態)ベースAI
  97. 97. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  98. 98. キャラクターAI:意思決定 ステートマシン入門 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  99. 99. ステートベース ステート 自分の行動を記述する。 ステート ステート 遷移条件 世界と自己の変化を記述する。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  100. 100. ステート・マシン ステート ステート ステート ステートマシン(有限状態マシン) ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。 ループ構造により、フィードバック構造はない。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  101. 101. ステート・マシン ステートマシン(有限状態マシン) ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。 ループ構造により、フィードバック構造はない。 待機 攻撃 パトロール ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  102. 102. 警戒 追跡 追いかける 攻撃する 威嚇攻撃 味方に指示 出口をかためる 味方を呼ぶ 味方がいない かつ 戦闘範囲外 味方と合流 味方と合流 味方がいる 見失う 見える 見失う 見つける 巡回する 10秒経つ 物音を 聴く 応答がきた 階層型ステート・マシン ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  103. 103. ステート・マシン ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  104. 104. ステートマシンとビヘイビアツリー • ステートマシン=堅実な制御。 • ビヘイビアツリー=適応的な行動の生成 両方の長所を生かしたい。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  105. 105. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  106. 106. キャラクターAI AI Graph Editorの実装 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  107. 107. AI Graph Editorの実装 • ツール設計における4つの課題 • ゲーム組み込みで求められた機能要件 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  108. 108. AI Graph Editorの実装 • ツール設計における4つの課題 • ゲーム組み込みで求められた機能要件 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  109. 109. ツール設計における4つの課題 1. どのように、ビヘイビアツリーとステートマシンを組 み合わせるか? 2. どのように、AIデータの拡張性を確保するか? 3. どのように、ゲーム側とスムーズに情報をやり取り するか? 4. どのように、コピー&ペーストをせずにAIデータを 量産するか? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  110. 110. 課題その1 • どのように、ビヘイビアツリーとステートマシンを組 み合わせるか? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. グラフ構造のためのノードと、処理の中身を行う ノードを分離した。 ⇒「ハイブリッド型ノードフォーマット」
  111. 111. ハイブリッド型ノードフォーマット • 構造の違う2つのグラフを組み合わせて使いたい • 処理の中身は共有したい ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシン 待機 移動 たたかう ビヘイビアツリー たたかう 移動 待機
  112. 112. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシン グラフ構造と グラフ構造 待機 移動 たたかう
  113. 113. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシン 待機 移動 たたかう グラフ構造と処理の中身を分離する。 処理の中身 グラフ構造
  114. 114. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ビヘイビアツリー グラフ構造 グラフ構造と 移動 たたかう
  115. 115. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ビヘイビアツリー 移動 たたかう グラフ構造 処理の中身 グラフ構造と処理の中身を分離する。
  116. 116. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシン 待機 移動 たたかう ビヘイビアツリー 移動 たたかう 共有できる 処理の中身 処理の中身
  117. 117. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシン ビヘイビアツリー 処理の中身がグラフ構造に なっても良い。 待機 移動 たたかう 移動 攻撃
  118. 118. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシン ビヘイビアツリー ステートマシン構造の異なるグラフシステムを 組み合わせられる 処理の中身がグラフ構造に なっても良い。 待機 移動 たたかう 移動 攻撃
  119. 119. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシン 待機 移動 ステートマシン 移動 ビヘイビアツリー ・組み合わせられる ・共有できる 攻撃 たたかう
  120. 120. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. トレイ
  121. 121. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシン ビヘイビアツリー ステートマシン
  122. 122. ハイブリッド型ノードフォーマット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ビヘイビアツリーと ステートマシンで 同じノードを共有
  123. 123. 課題その2 • どのように、AIデータの拡張性を確保するか? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 階層型グラフシステムを導入し、データを適切な 粒度で階層化できるようにした。 ⇒「階層化によるスケーラビリティ」
  124. 124. 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 組み合わせ爆発によるデータの肥大化は避けたい • ゲーム要件の増減に速やかに対応したい
  125. 125. 階層化によるスケーラビリティ トレイ単位で階層化(Hierarchy)する仕組み ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. +データを適切な粒度に分ける • 組み合わせ爆発によるデータの肥大化は避けたい • ゲーム要件の増減に速やかに対応したい
  126. 126. 階層化によるスケーラビリティ トレイ単位で階層化(Hierarchy)する仕組み ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. +データを適切な粒度に分ける 不要な組み合わせ爆発を減らしたり、簡単に状 態が追加できるため、拡張性が高くなる。 • 組み合わせ爆発によるデータの肥大化は避けたい • ゲーム要件の増減に速やかに対応したい
  127. 127. 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 攻撃のステート群 攻撃のステートを追加するたび に、各状態への遷移を追加 状態が増えるほど、相互の遷 移が増加していく…
  128. 128. 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 下位階層にステートを追加して も、上位階層は変化なし 階層化 追加する遷移も 一つだけ
  129. 129. 第一階層 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  130. 130. 第一階層 第二階層 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  131. 131. 第一階層 第二階層 第三階層 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  132. 132. 実行中 実行中 第一階層 第二階層 第三階層 実行中 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  133. 133. 実行中 実行中 第一階層 第二階層 第三階層 実行中 第一階層で状態遷移が発生すると… 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  134. 134. 実行中 第一階層 第二階層 第三階層 終了 終了終了 下位階層がすべて終了して状態遷移 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  135. 135. 実行中 第一階層 第二階層 第三階層 終了 終了終了 下位階層がすべて終了して状態遷移 適切な粒度で階層化すると、不要な状 態遷移の記述を減らせる (組み合わせ爆発を減らせる) 階層化によるスケーラビリティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  136. 136. 課題その3 • どのように、ゲーム側とスムーズに情報をやり取り するか? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. AIの情報と、ゲームの情報を、柔軟に受け渡せ る領域を用意した。 ⇒「ブラックボード」
  137. 137. ブラックボード ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ローカルブラックボード グローバルブラックボード AIグラフの中、または、トレイの中 だけで使える変数 ゲーム内共有変数や、キャ ラクターのステータスなど
  138. 138. ブラックボード ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 宣言 遷移条件に利用できる
  139. 139. ブラックボード ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. トレイの開始時に、値をセット トレイの終了時に値を戻す
  140. 140. ブラックボード ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. トレイやノードにパラメータとしてリンク することができる
  141. 141. 課題その4 • どのように、コピー&ペーストをせずにAIデータを量 産するか? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. トレイを「アセット化」して、処理を共有できるよう にした。 トレイを「オーバーライド」して、構造を共有できる ようにした。
  142. 142. アセット化による処理の共有 複数配置された「アセット化」トレイが、同時に動いている様子 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  143. 143. オーバーライドによる構造の共有 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. バトルの実装だけ 専用のものに変更
  144. 144. オーバーライドによる構造の共有 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 構造はそのままに、一部 の実装だけを変更できる
  145. 145. まとめ • ハイブリッド型ノードフォーマットによって、構造の異なるグラ フシステムを組み合わせて使えるようにした。 • 階層化データ構造によって、データの拡張性を確保できるよ うにした。 • ブラックボードによって、シンプルにゲームとツールの情報を やり取りできるようにした。 • アセット化とオーバーライドによって、コピー&ペーストせず に、AIデータを量産できるようにした。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  146. 146. AI Graph Editorの実装 • ツール設計における4つの課題 • ゲーム組み込みで求められた機能要件 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  147. 147. ゲーム組み込みで求められた機能要件 1. ステートやビヘイビアの実行状況、パラメータの値 や遷移ログがしっかりと確認できるようにしたい。 2. AIキャラクタにシームレスでイベント演出させたい。 3. より賢いAIにするため、行動している最中に別の行 動をしたり、常に別のことを考え続けさせたい。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  148. 148. 機能要件その1 • ステートやビヘイビアの実行状況、パラメータの値 や遷移ログがしっかりと確認できるようにしたい。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ツール上で動作を確認できる、「ビジュアルノード デバッガ」と、詳細なログなどを確認できる、「イ ンゲームデバッグウィンドウ」を実装した。
  149. 149. ビジュアルデバッグ機能 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ビジュアルノードデバッガによる 動作状況の確認 インゲームデバッグウィンドウ による詳細ログの確認
  150. 150. 機能要件その2 • AIキャラクタにシームレスでイベント演出させたい。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. トレイを外部のシステムから起動できるようにし て、自由にロジックの割り込み実行をできるよう にした。 ⇒「トレイの割り込み実行」
  151. 151. トレイの割り込み実行 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ブラックボード経由でパ ラメータを渡すこともで きる。 簡単な行動を記述した トレイを用意する。 (別ファイルでも可) 終了すると、自動的に 通常AIに戻る。
  152. 152. トレイの割り込み実行 モンスターが勢いよく走って登場する演出の後、プレ イヤーに近づいたら通常AIに戻る様子 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  153. 153. 機能要件その3 • より賢いAIにするため、行動している最中に別の行 動をしたり、常に別のことを考え続けさせたい。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ステートマシンでも、ビヘイビアツリーでも、「並列 思考」を行える仕組みを導入した。
  154. 154. 並列思考 • ステートマシンの場合 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. [Parallel Startノード] トレイの中に複数の ステートマシンを実行 させる。
  155. 155. 並列思考 • ビヘイビアツリーの場合 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. [Parallelノード] どちらか一方が終了 するまで、動作を継 続する。
  156. 156. 並列思考 ・階層化への応用 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. いつでも考えて いること バトル中だけ考えていること
  157. 157. 並列思考 ビヘイビアツリーによる並列思考の様子 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  158. 158. まとめ • ビジュアルデバッグ機能によって、動作状況をしっ かりと確認できるようにした。 • トレイの割り込み実行により、外部からシームレスに AIキャラクタに演出させられるようにした。 • 並列思考システムによって、より賢いAI表現をでき るようにした。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  159. 159. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  160. 160. フィールド 3つのAIの連携の例 ナビゲーション AI メタAI キャラクターAI 状況を監視し、キーとなる役割を 適切なタイミングでエージェントに 指示する。 自律的な判断。 仲間同士の協調 地形を解析する 目的に応じた点を見つけ出す 目的地までのパスを計算する Support エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが 戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  161. 161. ナビゲーションAI ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  162. 162. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ネットワーク上のグラフ検索法 ダイクストラ法 M F L B A S O P D C G S V H Q X K N J R T W E I U Z Y G 54 6 3 7 23 B C 3 G D E 3 2 24 L 3 3 5 5 J F 出発点(S)を中心に、最も短い経路 を形成して行く。Gにたどり着いたら終。 各ノードの評価距離=出発点からの経路
  163. 163. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ネットワーク上のグラフ検索法 A*法 M F L B A S O P D C G S V H Q X K N J R T W E I U Z Y G 54 6 3 7 23 B C 3 3 2 24 3 5 5 出発点(S)を中心に、 そのノードまでの 最も短い経路を 形成して行く。 Gにたどり着いたら終了。 ゴール地点がわかっている場合、現在のノードとゴール との推定距離(ヒューリスティック距離)を想定して、 トータル距離を取り、それが最少のノードを探索して行く 各ノードの評価距離=出発点からの経路+ヒューリスティック距離 ヒューリスティック距離 (普通ユークリッド距離を取る) 3+14.2 3+13.8 G H 3 5+10.5 6+8.4
  164. 164. FFXV ナビゲーション・メッシュ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  165. 165. FFXV ナビゲーション・メッシュ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  166. 166. ナビゲーション・メッシュQA ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 全マップのナイトリービルド • キャラクターの大きさごとの、 ナビゲーションメッシュ • 開発内Webに一覧チェック機能 • 差分表示機能
  167. 167. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. スマート・ウェイポイント 詳細な経路をキャラクターに指定する。街などで活用する。=人の流れを作る。
  168. 168. スマート・ウェイポイント ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 詳細な経路をキャラクターに指定する。街などで活用する。=人の流れを作る。
  169. 169. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  170. 170. 戦術位置検索システム ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  171. 171. 戦略位置検出システム • ゲーム内の地形を、 • ゲーム内でリアルタイムで把握して、 • 自分の能力に合わせて、 • 最も適した位置を発見する システム ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  172. 172. 戦略位置検出システムの歴史 • Tactical Position Picking Killzone (2005, Guerrilla)で実装される。 • TPS (Tactical Point System) CRYENGINE (2010, CRYTEK)でツール化・システム化 • EQS(Environment Query System) UNREAL ENGINE 4 (2014, Epic games)でツール化・システム化 • PQS (Point Query System) SQUARE ENIX のFFXVの開発で2014年に開発。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  173. 173. 戦略位置検出システムの原理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ポイント生成(Generation) 対象とする領域にポイント群を自動配置する。(例)グリッド状、同心円状など。 フィルタリング(Filtering) 生成したポイントから、目的に合わない条件(1)を指定して、削除して行く。 フィルタリング(Filtering) 生成したポイントから、目的に合わない条件(2)を指定して、削除して行く。 . . . フィルタリング(Filtering) 生成したポイントから、目的に合わない条件(N)を指定して、削除して行く。 評価(Evaluation) 残ったポイント群を、評価式によってスコアをつけて、最高スコアの点を選ぶ。
  174. 174. PQS (Point Query System) 弓兵(AI)が次の目的地を発見したい。 (i) ゲーム現状 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  175. 175. PQS (Point Query System) 弓兵(AI)が次の目的地を発見したい。 (i) ゲーム現状 (ii) AIを中心に点をグリッド状に 生成し配置。(Generation) ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  176. 176. PQS (Point Query System) 弓兵(AI)が次の目的地を発見したい。 (i) ゲーム現状 (ii) AIを中心に点をグリッド状に 生成し配置。(Generation) (iii) 足場の悪い点を除く(Filtering) (iv) 敵の近くのポイント、弓が届かな いポイントを除く 。(Filtering) (v) 味方の近くを除く (Filtering) ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  177. 177. PQS (Point Query System) 弓兵(AI)が次の目的地を発見したい。 (i) ゲーム現状 (ii) AIを中心に点をグリッド状に 生成し配置。(Generation) (iii) 足場の悪い点を除く(Filtering) (iv) 敵の近くのポイント、弓が届かな いポイントを除く 。(Filtering) (v) 味方の近くを除く (Filtering) (vi) 最も高い位置にあるポイントを選 択する。 このようにして、自分の最適な戦術位 置を自分自身で発見する。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  178. 178. PQS移動 • リアルな挙動を実現する仕組み PQS移動、ステアリング ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  179. 179. PQS移動とステアリング • 位置検索システム PQS(Point Query System) 位置クエリーデータで移動先地点を選択して移動する PQSデータだけで様々な移動を作成可能 • ステアリング 動的回避が組み込まれたパスフォローシステム 生物的な回避挙動を実現 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  180. 180. PQS移動とステアリング ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  181. 181. PQS移動とステアリング ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  182. 182. PQS移動とステアリング • PQSデータ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 複数のフィルタを組み合わせてPQSデータを作る 例. 角度フィルタ = 自分の前方30° 距離フィルタ = 対象から10m以上遠くで、出来るだけ近く ⇒ 相手の周囲をぐるぐる回る移動データが完成 例. PQS距離フィルタとそのプロパティ
  183. 183. PQS移動とステアリング • ステアリング ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  184. 184. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  185. 185. モーション解析 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  186. 186. 攻撃モーション解析 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 攻撃モーションの解析 攻撃モーション解析システムを使って、 アニメーション、攻撃コリジョンから自動的に 攻撃が到達する距離、角度を計算する この距離、角度をルールAIや AI Graphから利用 今までは企画が手調整していた部分を、 システムで半自動化することで工数を短縮
  187. 187. 攻撃モーション解析 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  188. 188. 移動モーション解析 • 移動モーションの解析 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 移動モーション自動解析システムを使って、 キャラクターの旋回性能、停止性能などを チャート化 チャートから問題のある アニメーションデータを発見し、修正する
  189. 189. 移動モーション解析 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  190. 190. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  191. 191. ゲーム内への応用実例 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  192. 192. FINAL FANTASY XV ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  193. 193. ゲーム内への応用実例 • 仲間 • ニフル兵 • モンスター • NPC ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  194. 194. ゲーム内への応用実例 • 仲間 • ニフル兵 • モンスター • NPC ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  195. 195. 仲間に求められたこと 1. イベント演出しているときも、並列思考など の通常AIを動作させたい 2. 仲間同士で協調して動作させたい(メタAI) ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  196. 196. 仲間要件 • イベント演出しているときも、並列思考などの通常AI を動作させたい ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 通常AIの中に、演出用のプリセットAIを埋め込んで おき、外部からのメッセージによってAIを切り替え るようにした。
  197. 197. 仲間 外部からのメッセージでプリセットされたAIが起動され、イ ベント演出を行う様子 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  198. 198. ゲーム内への応用実例 • 仲間 • ニフル兵 • モンスター • NPC ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  199. 199. ニフル兵 • 機械的な合理性の表現 – 今何ができるのか? – 今何が一番合理的な行動か? – 身体制御との連動 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  200. 200. 合理的な行動選択 • ビヘイビアツリーによる意思決定 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  201. 201. ゲーム内への応用実例 • 仲間 • ニフル兵 • モンスター • NPC ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  202. 202. モンスター • リアルな挙動を実現する仕組み 1. 視覚センサとターゲットサーチ 2. PQS移動、ステアリング • 大量生産するための仕組み 3. ルールAIシステム 4. AI Graphオーバーライド 5. モーション解析の取り組み ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  203. 203. モンスター • リアルな挙動を実現する仕組み 1. 視覚センサとターゲットサーチ 2. PQS移動、ステアリング • 大量生産するための仕組み 3. ルールAIシステム 4. AI Graphオーバーライド 5. モーション解析の取り組み ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  204. 204. 1. 視覚センサとターゲットサーチ AIが本当に認識しているターゲットに対して行動する仕組み • 視覚センサ AIの視覚をシミュレートして、 AIから今何が見えているか計算する • ターゲットサーチ 今認識しているターゲットのうち、どれが最も優先すべきター ゲットか判別する ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  205. 205. 1. 視覚センサとターゲットサーチ • 視覚センサ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  206. 206. 1. 視覚センサとターゲットサーチ • ターゲットサーチ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  207. 207. 1. 視覚センサとターゲットサーチ • AI Graphでターゲットを登録しているところ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  208. 208. 1. 視覚センサとターゲットサーチ • AI Graphでターゲットを使っているところ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  209. 209. モンスター • リアルな挙動を実現する仕組み 1. 視覚センサとターゲットサーチ 2. PQS移動、ステアリング • 大量生産するための仕組み 3. ルールAIシステム 4. AI Graphオーバーライド 5. モーション解析の取り組み ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  210. 210. 3. ルールAIシステム • 条件判定してマッチした行動を実行する モンスター用のルールAI • Luminous以前から使われていたAIシステム • AI Graphと共存する形でリファイン • 自由度は一部制限されるが、データの簡潔さ、メン テナンスのし易さがメリット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  211. 211. 3. ルールAIシステム • ルールAI ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ベヒモスの ルール
  212. 212. 3. ルールAIシステム ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ルールAI処理フロー AI Graph 基本ロジック実行 ルール実行 AI Graph 行動テンプレート実行
  213. 213. 3. ルールAIシステム ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ルールAI処理例 たたかう 接近して攻撃 接近移動する 行動テンプレート
  214. 214. モンスター • リアルな挙動を実現する仕組み 1. 視覚センサとターゲットサーチ 2. PQS移動、ステアリング • 大量生産するための仕組み 3. ルールAIシステム 4. AI Graphオーバーライド 5. モーション解析の取り組み ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  215. 215. 4. AI Graphオーバーライド • ベースAIデータを派生AIデータで上書きする仕組み • C++のクラス継承を、データでも出来るようにしたもの • ベースロジックは共通化しつつ、 一部のロジックだけモンスター個別に上書きする • 共通化することでデータの二重化を回避し、 無駄なデータ量を削減 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  216. 216. 4. AI Graphオーバーライド ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Me07ベヒモス
  217. 217. 4. AI Graphオーバーライド ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Me04 カトブレパス
  218. 218. AI Graphオーバーライド ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  219. 219. AI Graphオーバーライド ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  220. 220. AI Graphオーバーライド ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  221. 221. ゲーム内への応用実例 • NPC • 仲間 • ニフル兵 • モンスター ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  222. 222. アンビエントAI (街のNPCたち) ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  223. 223. アンビエントAI • 文化と生命に満ちた世界を伝える • 地域による違いを強調する ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  224. 224. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. アンビエントAI
  225. 225. 古典的なスマートオブジェクト • スマートオブジェクト: 情報を発する • インタラクションに必要なデー タを持つ: – アニメーション – AI ステートマシン – サウンド – など ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Hunger: -10 Provides: Food
  226. 226. NPCに求められたこと ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 会話や食事など、社会的な行 動(生活行動)を行う • 多くのNPCを同時に配置しな ければならない 社会行動に特化した、軽量スクリプトシステムと、 AI Graph Editorをハイブリッドで動作させる
  227. 227. NPC 軽量スクリプトシステムで行動を選択し、トレイの外部実行の 仕組みを使ってアクションする様子 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  228. 228. スマートロケーション:2つの椅子と机 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. インタラクション・タイプ: 休める Has: 2 Chairs, 1 Table
  229. 229. Multiple Smart Objects ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 情報提供: 「休めます」 情報提供: 表面 情報提供: 「休めます」
  230. 230. スマートオブジェクトから スマートロケーションへ • スマートオブジェクトを一般化 Generalize SmartObjects to SmartLocations – 「椅子」をスマートにするのではなく – 透明なオブジェクトが「椅子」と 「テーブル」を持ち、かつ – スマートである。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Scripts Emitters
  231. 231. アンビエントAI ビデオ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  232. 232. スクリプト – 基礎 • STRIPS (Stanford Research Institute Problem Solver) • Tuple Space (対象空間を表現) ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  233. 233. スクリプト – 基礎 • STRIPS – プランニングのためのシンボル言語 – GOAP の基礎でもある – 現在の状態、アクション、ゴールからなる。 – 1971年 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  234. 234. シンボルによる連鎖プランニング ターゲットAが 死んでいる ターゲットAが 死んでいる 攻撃 武器が装填 されている 武器が装填 されている 装填する 武器を 持っている 武器を 持っている 武器を拾う 条件なし プラナー プランニング ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  235. 235. スクリプト – 基礎 • タプルスペース – ブラックボードの一種 – 1985年 – 一つタプルは、一つ操作と結びついている。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  236. 236. スクリプト – 基礎 • タプルスペース – ここでは、 – ゲーム内のそれぞれのオブジェクトと、それに対 する複数の操作の集合を指します。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  237. 237. 全体設計 • Tuple Space 上に複数のルールがある。 • それぞれのNPC がルールを一つ一つチェック • それぞれのルールはアクションを引き起こし、Tuple Space に変化を及ぼす. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Tuple Spaceルール セット
  238. 238. 二人のNPCの会話 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  239. 239. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) • アクションはステートマシンかビヘイビアツリーに対応します • ブロッキング: NPCはルールが実行されている時は、 他の制御を受け付けません。
  240. 240. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: chair(X) スマート・ロケーションかそのオブジェクトについてプッシュされる情報です。
  241. 241. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) 距離についていくつかのオプションの変数を記入します。
  242. 242. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) 距離についていくつかのオプションの変数を記入します。 このシンボルはロード時に 解決されます。
  243. 243. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) & !reserved(X,Y) 予約 – タプルスペースで、変数が予約されていないかをチェック
  244. 244. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) & !reserved(X,Y) 距離についていくつかのオプションの変数を記入します。 新しいシンボルを導入しました!
  245. 245. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) & !reserved(X,Y) Add: reserved(X,me)
  246. 246. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) & !reserved(X,Y) Add: reserved(X,me) Add-Deferred: sitting(me) & timeToGetUp(now+rand(10,15)*minute,me)
  247. 247. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) & !reserved(X,Y) Add: reserved(X,me) Add-Deferred: sitting(me) & timeToGetUp(now+rand(10,15)*minute,me) アクションが終わったあとに、 追加される情報 • NPCの身体状態を記述する • 実行するタイムスタンプを設定する
  248. 248. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) & !reserved(X,Y) Add: reserved(X,me) Add-Deferred: sitting(me) & timeToGetUp(now+rand(10,15)*minute,me) No term manipulation: この関数は直ちに評価されます
  249. 249. 座る ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 1: Action: sit(X) Pre: closestOf(chair,X,me) & !reserved(X,Y) Add: reserved(X,me) Add-Deferred: sitting(me) & timeToGetUp(now+rand(10,15)*minute,me) Next State: sitting 内部状態: 糖衣構文によって前提条件文はコンパクトになっています。
  250. 250. 話す ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 2: State: sitting Action: – Pre: !talker(X) & any(Y) & sitting(Y) Add: talker(Y) 誰も話していない状態。座っているNPCは、ランダムに、同じく 座っているNPCに話しかけます。
  251. 251. 話す ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 3: State: sitting Action: talk(X) Pre: talker(me) & anyOther(X) & sitting(X) Del-Deferred: talker(me) ルールによって選択された座っているキャラクターに話しかける
  252. 252. 話す ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Rule 4: State: sitting Action: listen(X) Pre: talker(X) & X != me ルールによって選択された座っているキャラクターに話しかける
  253. 253. エディタ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. The complete script for the conversation example: • ルールを一行に書く  簡潔な表現 • デザイナーは使い勝手が良い。 • XMLで読み書きしています。 • 拡張性がる。
  254. 254. エディタ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. The complete script for the conversation example: • With some Python
  255. 255. コンパイラ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. XML Parser ANTLR Formula Parser XML Input Intermediate Model Validation Binary Debug Data Vocabulary
  256. 256. ランタイムデバッガ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Debug View: • Pausing • Stepping • Tuple Space Inspection
  257. 257. アンビエントAI ビデオ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  258. 258. FFXV: Culture • インタラクションによる表現 • 適当的なスクリプトのよるシンプルな工程 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  259. 259. 本日のコンテンツ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 第一章 FINAL FANTASY XV とは? 第二章 ゲームの知能化 第三章 Luminous AI の全体設計 第四章 メタAI 第五章 キャラクターAI 第一節 意思決定 第一項 ビヘイビアツリー入門 第二項 ステートマシン入門 第二節 AI Graph Editor 第六章 ナビゲーションAI 第一節 戦術位置検索 第二節 モーション解析 第七章 ゲーム内への応用事例 第一節 仲間 第二節 ニフル兵 第三節 モンスター 第四節 NPC 第八章 まとめ
  260. 260. セッションまとめ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  261. 261. メモリ使用量 • オンメモリ AI Graph 20M~ ナビメッシュ 20M~ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  262. 262. セッションまとめ • 意思決定入門において、最新の意思決定技術を俯瞰し た。 • 多様な要件を満たす、オリジナルの意思決定システム のコンセプトを紹介した。 • グラフベースのAIロジック作成ツールにおける仕様と実 装に関する工夫点を紹介した。 • 上記のAI技術が、実際にゲーム内でどのように応用さ れたのかを紹介した。 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  263. 263. FFXV における導入技術一覧 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  264. 264. 参考文献 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 三宅陽一郎 「大規模ゲームにおける人工知能 ─ファイナルファンタジーXV の実例をもとに─」 (17ページ) (人工知能学会誌、2017年 3月 Vol.32 No.2) ※PDFをダウンロードできます。 http://id.nii.ac.jp/1004/00008567/
  265. 265. 最後に ご清聴ありがとうございました! ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Advanced Technology Division
  266. 266. ご質問 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • miyakey@square-enix.com • Twitter: @miyayou • Facebook: https://www.facebook.com/youichiro.miyake
  267. 267. Credit • CRYENGINE is a trademark or registered trademark of Crytek GmbH. • UNREAL ENGINE is a trademark or registered trademark of Epic Games Inc. • Killzone is a trademark or registered trademark of Sony Computer Entertainment Europe. • All other trademarks are the property of their respective owners. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  268. 268. Credit • Chrome Hounds is a trademark or registered trademark of SEGA and Fromsoftware. • Demons’ Souls is a trademark or registered trademark of Sony Interactive Entertainment Inc. • Monster Hunter Diary: Poka Poka Airou Village is a trademark or registered trademark of CAPCOM. • Orgarythm is a trademark or registered trademark of AQUIRE and NEILO. • ARMORED CORE V is a trademark or registered trademark of NBGI and Fromsoftware. • All other trademarks are the property of their respective owners. ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.

×