SlideShare ist ein Scribd-Unternehmen logo
1 von 293
Downloaden Sie, um offline zu lesen
ゲームAI入門 (前半)
日本デジタルゲーム学会理事
三宅 陽一郎
2018.7.9 @shibuya
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com @miyayou
My Works (2004-2017)
AI for Game Titles
Books
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
参考文献
参考文献 (128の基本文献へのリンク)
https://www.ai-gakkai.or.jp/my-bookmark_vol32-no4/
国内事例に関しては
(20) 日本におけるゲームAI事例
参考文献
三宅陽一郎 「大規模ゲームにおける人工知能 ─ファイナルファンタジーXV の実例をもとに─」
(17ページ) (人工知能学会誌、2017 2号)
参考文献
三宅陽一郎 「 ディジタルゲームにおける人工知能技術の応用の現在」 (20ページ)
(人工知能学会誌、2015/1号) (AI書庫から無料でDL可能 http://id.nii.ac.jp/1004/00001730/ )
• ThinkIT https://thinkit.co.jp/author/10026
• AI最前線の現場から【スクウェア・エニックス】
参考になる小さなコードが掲載
コードはこちら
https://www.oreilly.co.jp/books/9784873113395/
参考文献
GAME AI PRO 3 (2017/6) 世界中から集められた記事をもとに2年ごとに発行される
参考文献
Predictive Animation Control Using Simulations and Fitted Models.
Ingimar Hólm Guðmundsson, Skubch Hendrik, Fabien Gravot and Yoichiro Miyake
Ambient Interactions: Improving believability by leveraging Rule-based AI
Hendrik Skubch
Logging Visualization in FINAL FANTASY XV
Matthew W. Johnson, Fabien Gravot, Shintaro Minamino, Ingimar Gudmundsson,
Hendrik Skubch, and Miyake Youichiro
Guide to Effective Autogenerated Spatial Queries
Eric Johnson
A Character Decision-Making System for FINAL FANTASY XV by combining
Behavior Trees and State Machines
Youichiro Miyake, Youji Shirakami, Shimokawa Kazuya, Kousuke Namiki, Tomoki,
Komatsu, Tatsuhiro Joudan, Prasertvithyakarn Prasert, Takanori Yokoyama
初心者向け
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第1章 人工知能とは
自然知能と人工知能
人間
=自然知能
機械
=人工知能
ダートマス会議(1956年)
• ジョン・マッカーシーのいたダートマス大学で、人
工知能をテーマとして初めて開催された会議。
• Artificial Intelligence という名称もはじめてここで
用いられた。
http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
ダートマス会議(1956年)
http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
ダートマス会議(1956年)
我々は、1956年の夏の2ヶ月間、10人の人工知能研究者
がニューハンプシャー州ハノーバーのダートマス大学に集
まることを提案する。そこで、学習のあらゆる観点や知能
の他の機能を正確に説明することで機械がそれらをシミュ
レートできるようにするための基本的研究を進める。機械
が言語を使うことができるようにする方法の探究、機械上
での抽象化と概念の形成、今は人間にしか解けない問題
を機械で解くこと、機械が自分自身を改善する方法などの
探究の試みがなされるだろう。我々は、注意深く選ばれた
科学者のグループがひと夏集まれば、それらの問題のうち
いくつかで大きな進展が得られると考えている。
https://ja.wikipedia.org/wiki/%E3%83%80%E3%83%BC%E3%83%88%E3%83%
9E%E3%82%B9%E4%BC%9A%E8%AD%B0
人工知能=人間の知能を機械に写す(移す)。
機械(マシン)
ソフトウェア
知能
身体
機能
知能
http://www.1999.co.jp/blog/1210192
http://ja.wallpapersma.com/wallpaper/_-
%E3%83%AA%E3%82%B9%E3%80%81%E5%A3%81%E7%B4%99%E3%80%81%E3%83%AF%E3%82%A4%E3%83%89%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%81%AE%E3%80%81%E3%
83%9E%E3%83%83%E3%82%AF%E3%80%81%E3%83%9A%E3%83%83.html
人間の精神
意識
前意識
無意識
外部からの
情報
生態学的人工知能
※生態=環境・身体との
結びつきを考える
伝統的な人工知能
身体知
人間の精神、機械の精神
意識
前意識
無意識
外部からの
情報
意識
前意識
無意識
外部からの
情報
言語・非言語境界面
知覚の境界面
人工知能は、人間の知能を機械に移したもの。
この300年の技術の動向
時間
規模
産業革命
情報革命
ネット革命
知能革命
機械化・自動化(オートメーション化)
電子情報化
オンライン化
知能化
第二次産業革命
電動化
1750 1860 1960 1990 Now…
現代は「知能化」の時代に
入りつつある。
第一次AIブーム 第二次AIブーム 第三次AIブーム
二つの人工知能
IF (s_collison==true)
register_all(s_star);
assign_edge();
assign_vertex();
mix_all();
シンボルによる人工知能
(シンボリズム))
ニューラルネットによる人工知能
(コネクショニズム)
IBM ワトソン
Gooogle検索
など
AlphaGo
など
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
神経素子(ニューロン)とは?
入力
入力
入力
出力
入力
この中にはイオン(電解,Na+,K+)
溶液が入っていて、入力によって電圧が
高まると出力する仕組みになっています。
100mVぐらい
ニューラルネットワーク内シグナル伝達スピード 100(m/sec) … 案外遅い
http://www.brain.riken.go.jp/jp/aware/neurons.html
ニューラルネットを理解しよう② 数学的原理
http://www.pri.kyoto-u.ac.jp/brain/brain/11/index-11.html
医学的知識
http://www.biwako.shiga-u.ac.jp/sensei/mnaka/ut/sozai/ai.html
モデル化
数学的モデル
ニューロン
人工ニューロン
入出力関係のグラフ 入出力関係の関数(シグモイド関数)
ニューラルネットワーク
(ニューロンをつなげたもの)
道具はこれで全て。これで何ができるだろう?
深階層ニューラルネットワーク
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
ニューラルネットワーク=信号(波形)処理だけで知能を作る。
人工知能がブームになるとき
時間
規模
1960 1990 2000
第一次AIブーム 第二次AIブーム 第三次AIブーム
1970 1980 2010
シンボルによる人工知能は
堅実に進化する
2 第一次AIブーム(1960年代)
もし A ならば B
もし B ならば C
よって、
もし A ならば C
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
推論ベース ニューラルネット
誕生
3 第二次AIブーム(1980年代)
IF (A) then B
IF (C) then D
IF (E) then F
IF (G) then H
IF ( I ) then J
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
ルールベース
新しい学習法=
逆伝搬法
3 第二次AIブーム(1980年代)
0 0 0
【逆伝播法】
ここが1になるように、
結合の強さを、
さかのぼって変えて行く。
4 第三次AIブーム(2010年代)
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
データベース
新しい学習法=
ディープラーニング
データベース
検索エンジン
キーワード 検索結果
検索
人
次の章で
説明
します
ある層の限定した領域を次の層に向けて足し合わせて
集約する=折り畳み(コンボリューション)
その時にちょっとづつずらしながら折り畳みを行う。
インターネットによる
膨大なデータ
4 第三次AIブーム(2010年代)
時間
規模
1960 1990 2000
第一次AIブーム 第二次AIブーム 第三次AIブーム
1970 1980 2010
ルールベース
逆伝播法
データベース
ディープ
ラーニング
推論ベース
ニューラル
ネット誕生
小型・中型
コンピュータの普及
大型コンピュータ
専門家のみのブーム
AlphaGO
膨大な棋譜のデータ
(人間では多過ぎて
読めない)
この棋譜を
そっくり打てる
ように学習する
自己対戦して
棋譜を貯める
この棋譜を
そっくり打てる
ように学習する
AlphaGO
Deep Q-Learning
Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves,
Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller (DeepMind Technologies)
Playing Atari with Deep Reinforcement Learning
http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
画面を入力
操作はあらかじめ教える
スコアによる強化学習
二つの人工知能
IF (s_collison==true)
register_all(s_star);
assign_edge();
assign_vertex();
mix_all();
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
IBM ワトソン
など
AlphaGo
など
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
学習過程解析
Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves,
Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller (DeepMind Technologies)
Playing Atari with Deep Reinforcement Learning
http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
• Pπ ロールアウトポリシー(ロールアウトで討つ手を決める。
Pπ(a|s) sという状態でaを討つ確率)
• Pσ Supervised Learning Network プロの討つ手からその
手を討つ確率を決める。Pσ(a|s)sという状態でaを討つ確
率。
• Pρ 強化学習ネットワーク。Pρ(学習済み)に初期化。
• Vθ(s’) 局面の状態 S’ を見たときに、勝敗の確率を予測
する関数。つまり、勝つか、負けるかを返します。
Mastering the game of Go with deep neural networks and tree search
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
https://deepmind.com/research/alphago/
•人間から人工知能がどう見えるか?
•人工知能が人間をどう見るか?
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第2章 ゲームAIとは
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
キャラクターに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
ゲーム外AI
• 開発工程を助けるAI プロシージャル機能
• バランス調整するAI 遺伝的アルゴリズム、ニューラルネット
• QAのためのAI QA-AI
• メタAI バランス調整、ゲームメーキング
• インターフェース上のAI 音声解析、言語解析、ゼスチャー認識
• データマイニングするAI ロギング&アナライジング
• シミュレーション技術 パラメーター生成
• データビジュアリゼーション ゲームを可視化する
ゲームの中、ゲームの外
ゲーム周辺
(外=開発、現実)
ゲーム
(中=コンテンツ)
ゲームの中、ゲームの外
ゲーム周辺AI
(外=開発、現実)
ゲームAI
(中=コンテンツ)
メタAI
キャラクター
AI
ナビゲーション
AI
開発支援
AI
QA-AI
自動バランス
AI
インターフェース
上のAI
データ
マイニング
シミュレーショ
ン技術ゲーム
可視化
ユーザーの
生体信号
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
とりあえず初心者の方は、
この「3つのAI」があることを出発点としましょう。
ググってみよう。
大型ゲームと小型ゲーム
ナビゲーション
AI
メタAI キャラクターAI
キャラクターAI メタAI
ナビゲーション
AI >
>
>
>
小型ゲーム
大型ゲーム
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
Unreal Engine 4 では Behavior Tree をサポート
Unreal Engine では パス検索・戦術位置検索をサポート
• スクウェア・エニックスにおける UNREAL ENGINE 4 を用いた人
工知能技術の開発事例
• https://www.youtube.com/watch?v=BV2GTGbSjq8
• 【UE4】味方AIの作り方!AIとは何かを学びながら、ブループ
リントで味方キャラクターを実装しよう
• https://qiita.com/4_mio_11/items/9e8af2ce82ee2a7625b5
Unreal Engine 4 のAIの参考情報
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
ゲームデザイナーの発想をエンジニアに伝える
エンジニアの下準備 → 実装
エンジニアからのゲームデザイナーへ技術提案
 ゲームデザイナがそれに合わせる
エンジニアからの技術提案
 地形デザイナやオブジェクトデータ班がそれに合わせる
UnityにおけるAI
• Unity は Behevior Treeやパス検索のツールがある。
• 機械学習に力を入れている。ライブラリがあるが、まだ
ベータ版。 https://unity3d.com/jp/machine-learning
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第3章 ゲームAI入門
AIの組み方
このAIはどう作るか?
プレイヤー
キャラクター
岩 地面
池
例として、次のようなキャラクターのAIをどう作るか考えてみよう。
このAIはどう組むか?
プレイヤー キャラクター
岩 地面
池
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
A B
このAIはどう組むか?
これは、まず書く人の思
考がまずあり、その結果
を指示として書いている。
プレイヤー キャラクター
岩 地面
池
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
A B
このAIはどう組むか?
プレイヤー キャラクター
岩 地面
池
A B
つまりAI自身は何も知ら
ない、命令を受けるだけ
の操り人形なだけ。これ
は古典的な作り方。
、
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
http://septieme-ciel.air-nifty.com/nikubanare/2007/08/post_3c38.html
このAIはどう組むか?
こういったAIをゲーム産
業では「Scripted AI」と言
います。こういったAIは
ゲームデザイナーがスク
リプト言語で書く場合多
いため。
プレイヤー キャラクター
岩 地面
池
A B
、
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
http://septieme-ciel.air-nifty.com/nikubanare/2007/08/post_3c38.html
スクリプト
Scripted AI から自律型AIへの変化
ゲームデザイナーの頭の中 ゲームデザイナーの頭の中
知識 思考
Scripted AI 自律型 AI (Autonomous AI)
スクリプト
Scripted AI から自律型AIへの変化
ゲームデザイナーの頭の中 ゲームデザイナーの頭の中
知識 思考
Scripted AI 自律型 AI (Autonomous AI)
操り人形(Scripted AI)から、キャラクターが自分で考えて行動する
自律型AI(Autonomous AI)になるためには、
ゲームデザイナーが頭の中で持っている知識と思考をAIに埋め込
む必要がある。
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
地形データ
(Way Points)
、
ステップ1:
AIにゲームステージの
地形を認識させたい
=地形のデータを与える。
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。
このAIはどう組むか?
地形データ
(Way Points)
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
ナビゲーションAI
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
、
ステップ2:
地形データをもとに考え
る思考を与える。
地形データを用いた
思考
地形データ
(Way Points)
このAIはどう組むか?
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
地形データ
(Way Points)
地形データを用いた
思考
最短経路を計算
このAIはどう組むか?
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
地形データ
(Way Points)
地形データを用いた
思考
最短経路を計算
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
地形データを用いた
思考
最短経路を計算
このAIはどう組むか?
ネットワークグラフに可視判定の情報を埋め込む。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
ここの点グループはお互いが見えている。
ここの点グループはお互いが見えている。
地形データを用いた
思考
ネットワークグラフに可視判定の情報を埋め込む。
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
ここの点グループはお互いが見えている。
ここの点グループはお互いが見えない。
地形データを用いた
思考
ネットワークグラフに可視判定の情報を埋め込む。
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
プレイヤーからキャラクターが見えている。
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
プレイヤーからキャラクターが見えていない。
このAIはどう組むか?
プレイヤーからキャラクターが見えていない。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
このAIはどう組むか?
プレイヤーからキャラクターが見えない位置に動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
地形データ
(Way
Points)
、
ステップ3:
最後に、いつプレイヤーの
攻撃を仕掛けるか、逃げ
るか、を決定する思考を作
る。
地形デー
タを用いた
思考
意思決定
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
攻撃するか? 隠れるか? 牽制するか? を選ぶ思考。
= 意思決定思考
意思決定思考
地形データを用いた
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
攻撃する
意思決定思考
地形データを用いた
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
牽制する(=見える場所に行く)
意思決定思考
地形データを用いた
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
隠れる(=プレイヤーから見えない場所に行く)
意思決定思考
地形データを用いた
思考
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
地形データ
(Way
Points)
、
これで、キャラクター
を知能化することが
できた。
地形デー
タを用いた
思考
意思決定
思考
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
ロジック
オブジェク
トを用いた
ロジック
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
ロジック
オブジェク
トを用いた
ロジック
ここでキャラクターに知能を与えたプロセスを振り返ってみる。
ステップ1: 知識を与えた。
ステップ2: 知識の上で操作する思考を与えた。
ステップ3: 自分の意志を決定する思考を与えた。
知識 思考
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
意思決定
の思考
知識を(データ)表現する。(知識) 知識に基づいて思考する。(AI思考)
AI自身に「知識」と「知識の上の思考」を与えることが
知能を作る基本。
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
知識を(データ)表現する。(知識) 知識に基づいて思考する。(AI思考)
「知識」と「その上の思考」をどんどん増やして行くことでAIは成長する。
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
知能 = 知識 × 思考
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
これでキャラクター自身が知能を持つことができた。
キャラクターの持つ知能をキャラクターAIと言う。
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
この例ではナビゲーションAIとキャラクターAIが連携
していた。
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第4章 開発者の心持ち
ゲームAI分野の特徴
• ゲームデザインと密接に絡み合う
• ユーザーのゲーム体験と深く関係する
• 目に見えない
制作ワークフロー
-- ゲーム企画段階で決めておかなければならないこと
-- ゲームAIに携わる人々(チーム)
-- エンジニアが担当するべきこと、デザイナーが担当するべきこと
ゲームAI制作
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
ゲームAI制作
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
職業の境界
ゲームAI制作
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
職業の境界
こういうの作りたい
こう作れますよ
ゲームAI制作 = お互い一歩踏み込む
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
職業の境界
のりしろの領域
ゲームAI制作 = お互い一歩踏み込む
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
職業の境界
のりしろの領域
エンジニアはゲームデザインに口出しをするべき。
(例)キャラクターはAI技術でこんなことができる、こういうふうにすると面白い。
ゲームデザイナーはAI技術に口出しをするべき。
(例) こういうふうなキャラクターの思考をさせたい、など。
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第5章 ゲームの知能化
産業革命
情報革命
ネット革命
知能革命
機械化・自動化(オートメーション化)
電子情報化
オンライン化
知能化
第二次産業革命
電動化
現代は「知能化」の時代に
入りつつある。
ゲーム全体の知能化
ゲーム・ソフトウェア
知能化された
ゲーム・ソフトウェア
ゲームも知能化の時代を迎えようとしている。
では「ゲームの知能化」とはどういうことだろうか?
それを見ていこう。
ゲーム全体の知能化
ゲーム・ソフトウェア
知能化された
ゲーム・ソフトウェア
かつてゲームでは人工知能は独立した部分ではなく、
ゲームシステムの中に含まれていた。
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
3つのAIシステムは序々に分化して独立して行った。
では、今度はナビゲーションAIについてさらに詳しく見てみよう。
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
第二部 FINAL FANTASY XV における人工知能
第一章 FINAL FANTASY XV とは?
第二章 ゲームの知能化
第三章 メタAI
(補章 哲学と人工知能)
第四章 キャラクターAI
第一節 意思決定
第一項 ビヘイビアツリー入門
第二項 ステートマシン入門
第二節 AI Graph Editor
第五章 ナビゲーションAI
第一節 ナビゲーション
第二節 戦術位置解析
第六章 ゲーム内への応用事例
第一節 実例集
第二節 オーバーライド
第三節 群衆(アンビエント)
AI
第七章 まとめ
メタAI
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
ナビゲーションAIのイメージをつかめただろうか?
では、最後のメタAIについて説明する。
メタAIの歴史
1980 1990
メタAIというのは、ゲームそのものに埋め込まれたAI。
1980 1990 2000
古典的メタAI
現代のメタAI
キャラクターAI技術の発展
メタAIの歴史
1980 1990 2000
古典的メタAI
現代のメタAI
キャラクターAI技術の発展
その歴史は古く、1980年代にまでさかのぼる。
その時代と現代のメタAIは、異なる点も多いので、
古典的メタAI、現代のメタAIと名づけて区別することにしよう。
(例)「ゼビウス」(ナムコ、1983)
敵出現テーブル巻き戻し
敵0
敵1
敵2
敵3
敵4
敵5
『あと面白い機能なんですけれど、 ゼビウスには非常に簡単なAIが組み込まれています。
「プレイヤーがどれくらいの腕か」というのを判断して、 出てくる敵が強くなるんです。
強いと思った相手には強い敵が出てきて、 弱いと思った相手には弱い敵が出てきます。 そういっ
たプログラムが組み込まれています。 ゲームの難易度というのは「初心者には難しくて、上級者
には簡単だ」ということが、 ひとつの難易度で(調整を)やっていくと起きてしまうので、 その辺を何
とか改善したいな、ということでそういったことを始めてみたのですけれど、 お陰で割合にあまり上
手くない人でも比較的長くプレイできる、 うまい人でも最後のほうに行くまで結構ドラマチックに楽
しめる、 そういった感じになっています。』
- 遠藤雅伸(出演)、1987、「糸井重里の電視遊戯大展覧会」『遠藤雅伸ゼビウスセミナー』フジテレビ -
現代のメタAI
より積極的にゲームに干渉する。
メタAI
敵配位 敵スパウニング ストーリー
レベル
動的生成
ユーザー
メタAI Left 4 Dead の事例
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and
Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
今回は Left 4 Dead の事例を見てみる。
適応型動的ペーシング
[基本的発想]
(1) ユーザーがリラックスしている時に、ユーザーの
緊張度が一定の敷居を超えるまで敵をぶつけ
続ける。
(2) ユーザーの緊張度が一定の緊張度を超えると
敵を引き上げる。
(3) リラックスすると敵を出現し始める((1)へ)。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and
Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAI(=AI Director)によるユーザーのリラックス度に応じた敵出現度
ユーザーの緊張度
実際の敵出現数
計算によって
求められた
理想的な敵出現数
Build Up …プレイヤーの緊張度が目標値を超えるまで
敵を出現させ続ける。
Sustain Peak … 緊張度のピークを3-5秒維持するために、
敵の数を維持する。
Peak Fade … 敵の数を最小限へ減少していく。
Relax … プレイヤーたちが安全な領域へ行くまで、30-45秒間、
敵の出現を最小限に維持する。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
より具体的なアルゴリズム
メタAIがゲームを認識する方法
キャラクター用に作成された
ナビゲーションメッシュを
メタAIがゲームの
状況を認識するために使用する。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAIが作用を行う領域
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAIが作用(敵の生成・
消滅)を行う領域を、
AAS(= Active Area Set) と
言う。
メタAIが作用を行う領域
(AAS=Active Area Set)
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAIが作用を行う領域
(AAS=Active Area Set)
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
安全な領域までの道のり(Flow Distance)
メタAIはプレイヤー群の経路を
トレースし予測する。
- どこへ来るか
- どこが背面になるか
- どこに向かうか
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
AAS に対して行うこと。
メタAIはプレイヤー群の移動に伴い、
その周囲(AAS)に敵の群れを
生成・消滅させたりする。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
プレイヤーからの可視領域
可視領域(プレイヤーから見えている
部屋)では、敵のスパウニング(発生)
はできない。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
敵出現領域
背後 前方
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
前方と背後のプレイヤー群から見えてない部屋に、
モンスターを発生させる。
モンスター・アイテム出現頻度
敵の種類、アイテムの種類ごとに出現頻度が違うが、頻度に応じて発生させる。
高頻度
低頻度
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
Wanderers (高頻度)
Mobs(中頻度)
Special Infected (中頻度)
Bosses (低頻度)
Weapon Caches (低頻度)
Scavenge Items (中頻度)
ボス出現アルゴリズム
(1) N体を予想される逃走経路上に配置
(2) 3つの出現イベントパターン
(何もいない、を含む)
(例) Tank, Witch, 何もいない
(3) 同じパターンのくり返しは禁止
(例) Witch, 何もいない、Witch はOK。
Witch, Witch はだめ。
何もいない
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
Tank Witch Witch Tank Witch Tank
具体的なアルゴリズム
(1) 各エリアに、出現数 N を決定する
(2) 出現数Nは予想される逃走経路の長さと
要求される密度によって計算される。
(3) あるエリアがAAS の中に入るとクリー
チャーがN体生成される。
(4) そのエリアがAAS の外に出ると生成が中
止され、クリーチャーは消滅される。
(5) Nはそのエリアがプレイヤーから見えてい
る場合、或いは、プレイヤーがリラックス
モードの場合には、強制的に0になる。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
まとめ
メタAIは、ゲームの流れを動的に作るAIで、キャラクターAI、イベントなどに
は命令だけを出す。これは明確に、メタAIと他のモジュールが独立した関
係にあるから可能なこと。
まとめ
メタAIを入れ替えるだけで、ゲームコンテンツが入れ替えることができる。
メタAIという軽い部分だけを配信することで、コンテンツを入れ替えること
が可能になる。
第七章(続き) メタAIの発展
Procedural Generation in WarFrame
• Warframe ではダンジョンが自動生成される。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
Black Combination in WarFrame
• ブロックを組み合わる
• 完全に零からの生成
ではない。
このような生成のことを
Semi-procedural と言う。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
WarFrame における自動生成マップの
自動解析による自動骨格抽出
• 自動生成するだけでなく、自動生成したダンジョンを、自動解
析します。ここでは、トポロジー(形状)検出を行います。
WarFrame における自動生成マップの
自動解析によるナビゲーションデータ作成
抽出した骨格に沿って
自動的にナビゲーション・データを作成します。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
スタートポイント、出口、目的地の
自動生成
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
ヒートマップ(影響マップ)を用いて
ゲーム中にプレイヤーの周囲を自動解析
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
ヒートマップ(影響マップ)とは、対象(ここではプレイヤー)を中心に、位置に温度(影響度)を
与える方法です。距離に応じて減衰します。また時間が経つと、周囲に熱が拡散します。
Tactical Map の例 (影響マップ)
(例)敵と自分の勢力をリアルタイムに計算する。
4 6 8 8 8 8 6 4 2 0 -1 -2 -4 -4 -4 -2
4 6 8 8 8 8 4 2 1 0 -2 -4 -4 -2
4 6 8 8 8 6 3 1 0 -2 -4 -4 -4 -2
4 6 8 8 8 6 6 4 1 0 -2 -4 -4 -2
2 4 6 8 6 6 4 4 0 -1 -2 -4 -4 -4 -2
1 2 4 6 6 4 2 2 -4 -5 -3 -3 -4 -4 -2 -1
3 3 3 3 4 2 2 0 -4 -5 -5 -8 -8 -6 -4 -2
3 3 2 2 2 0 -2 -4 -8 -10 -10 -8 -4 -2
3 3 3 2 2 1 0 -4 -8 -10 -10 -8 -8 -4 -2
2 2 2 2 1 1 0 -3 -8 -10 -10 -8 -8 -4 -2
1 1 1 1 0 0 -2 -4 -8 -8 -8 -8 -8 -8 -8 -8
0 0 0 0 0 -1 -1 -2 -5 -6 -6 -6 -8 -8 -8
0 0 0 0 -1 -2 -2 -2 -4 -4 -4 -6 -8 -8 -8 -8
0 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2
0 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2
0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
ヒートマップ(影響マップ)を用いて
ゲーム中にプレイヤーの周囲を自動解析
「ヒートが増加する=プレイヤーが近づく点」
「ヒートが減少する=プレイヤーが遠ざかる点」
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
アクティブ・エリアセット(Active Are Set)
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
アクティブ・エリアセットは、プレイヤーの周囲の領域で、
リアルタイムにメタAIがゲームを調整する領域
メタAIがアクティブ・エリアセット内で
ゲームを調整する
「ヒートが増加する=プレイヤーが近づく点」なので、モンスターを生成する。
「ヒートが減少する=プレイヤーが遠ざかる点」なので、モンスターを停止する。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
メタAI (AI Director,)による
動的ペース調整
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
メタAI(自動適応ペーシング)
メタAI (AI Director,)による
動的ペース調整
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
メタAIによる出会うモンスターの数の大域調整
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
プレイヤーのスタート地点から出口までの道のりで、
コンスタントにモンスターと出会うようにする。
影響マップ(ヒートマップ)
• メタAIはグローバルな影響を与える
=グローバルなマップ解析が必要
=メタAIは影響マップをよく使う
ヒートマップ
ヒートマップ
http://www.xn--eckzb3bzhw32znfcp1zduw.com/data/fire.php
メタAI
http://www.xn--eckzb3bzhw32znfcp1zduw.com/data/fire.php
メタAI
http://www.xn--eckzb3bzhw32znfcp1zduw.com/data/fire.php
フロントライン
(勢力均衡線)
メタAIとキャラクターAIの違い
キャラ
AI
=局所
短時間
メタAI
||
大局
長時間
時間
空間
広い時間と空間を考える
→ ユーザー体験を考える
メタAI
メタAIとキャラAIの違い
扱う空間と時間の違い
メタAIの認識=大局空間的・長時間的
時間
時間
長時間
大局
メタAIの認識=大局空間的・長時間的
時間
時間
長時間
大局
空間的表現
空間的表現
空間的表現
メタAIの認識=大局空間的・長時間的
時間
時間
長時間
大局
時
間
的
表
現
時
間
的
表
現
時
間
的
表
現
空間的表現
• ヒートマップ
• 戦術位置解析
• ウェイポイント
• ナビメッシュ
• 世界表現
基地
基地
湖
森
塔
基地
基地
湖
森
塔
危険
危険森のそば
水のそば
普通
ナビゲーション
メッシュ
タグ付けされた
ナビゲーション
メッシュ
マップ
戦術位置解析
ゲーム中(ランタイム)にグリッドか円形にポイントを生成
条件を設定して要らないポイントをふるい落とす
条件を設定して要らないポイントをふるい落とす
残ったポイントを評価する
一点だけが残る
Ⓒ2016 SQUARE ENIX CO., LTD. All Rights Reserved.
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第6章 ナビゲーションAI
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
ナビゲーション・データ
フリー素材屋Hoshino http://www.s-hoshino.com/
ナビゲーション・データ
ウェイポイント・グラフ
(点を要素とするネットワークグラフ)
ナビゲーションメッシュ・
グラフ
(三角形(凸角形)を要素とする
ネットワークグラフ)
歩くこと
ができる。
フリー素材屋Hoshino http://www.s-hoshino.com/
パス検索とは
現在の地点から指定したポイントへの経路を、
リアルタイムで計算して導く技術。
RTS - Pathfinding A*
https://www.youtube.com/watch?v=95aHGzzNCY8
ネットワーク上のグラフ検索法
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にたどり着いたら終了。
各ノードの評価距離=出発点からの経路
ダイクストラ法
ネットワーク上のグラフ検索法
ダイクストラ法
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にたどり着いたら終了。
各ノードの評価距離=出発点からの経路
ネットワーク上のグラフ検索法
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
ネットワーク上のグラフ検索法
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
Counter Strike: Path Following (デモ)
The Official Counter-Strike Bot
http://aigamedev.com/insider/presentation/official-counter-strike-bot/
戦術位置解析
ゲーム中(ランタイム)にグリッドか円形にポイントを生
成
条件を設定して要らないポイントをふるい落とす
条件を設定して要らないポイントをふるい落とす
残ったポイントを評価する
一点だけが残る
敵
味方
今考えている
キャラクター
高台
高台
海
穴
ポイントを動的に配置して評価する
戦略位置検出システム
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
戦略位置検出システム
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
戦略位置検出システム
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
戦略位置検出システム
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
戦略位置検出システム
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
戦略位置検出システム
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
EQS (E)EQS (Environment Query System) in UE4
EQS (Environment Query System)
in UE4
EQS (Environment Query System)
in UE4
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第7章 キャラクターAI
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii
DC (次世代)Hardware 時間軸20051999
ゲームの進化と人工知能
複雑な世界の
複雑なAI
ゲームも世界も、AIの身体と内面もますます複雑になる。
単純な世界の
シンプルなAI
(スペースインベーダー、タイトー、1978年) (アサシンクリード、ゲームロフト、2007年)
(例) スペースインベーダー(1978)
プレイヤーの動きに関係なく、決められた動きをする
(スペースインベーダー、タイトー、1978年)
(例)プリンス・オブ・ペルシャ
「プリンス・オブ・ペルシャ」など、
スプライトアニメーションを用意する必要がある場合、
必然的にこういった制御となる。
(プリンスオブペルシャ、1989年)
3Dゲームの中のAI
Halo
(HALO、バンジー、2001年) デバッグ画面
The Illusion of Intelligence - Bungie.net Downloads
http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
環境
人工知能とは?
身体
人工知能=人工的な存在(=身体)を環境の中で活動させる
入力(センサー) 行動(アウトプット)
知能
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程 運動創出過程
身体部分
情報
統合
運動
統合
サブサンプション・アーキテクチャ(ロドニー・ブルックス)
INPUT OUTPUT
時間
情報抽象度
反射的に行動
少し場合ごとに対応
抽象的に思考
理論的に考える
言語化のプロセス
= 自意識の構築化
Subsumpution Architecture
運動の実現のプロセス
= 身体運動の生成
意思決定モデル
ステート(状態)ベース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
リアクティブ
非リアクティブ
意思決定
シミュレーションベース AI
Simulation-based AI
実際の静物の意思決定というものは非常に高度で複雑なプロセス。
いくつかの簡易モデルが存在する。
ルールベース意思決定
Rule-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
IF ( 前置宣言文 ) then (後置宣言文)
ルールベース意思決定
Rule-based Decision Making
ルール
ここでは、この形式の制御文をルールと言う。
もちろん、IF ( … IF (.... IF… ) ) ) のような入れ子構造の制御文も
ルールベースと呼ぶが、
ルールベースと言えば、基本的には、ルールを1つの単位として、
意思決定を行う、という意味となる。
推論エンジン
A B C D E
T F F F F
T T F F F
T T F T F
T T T T F
T T T T T
F T T T T
F F F T T
……………………………
……………………………
…………………
T: True F: False
ID 0 : IF A THEN B
ID 1 : IF A && D THEN C
ID 3 : IF C THEN E
ID 4 : IF B THEN D
ID .. :
ID 4 : IF E THEN ~A
ルール内の条件部がtrueの時、そのルールが発火する(fired)
すると言う。発火したルールの宣言文は true となり、またそれ
が別のルールを発火させる。
発火をくり返して、true/False
が変化して行く様子
ルール制御
ID 0 : IF …. THEN …
ID 1 : IF …. THEN …
ID 3 : IF …. THEN ….
ID 4 : IF …. THEN …
ID .. :
ID 4 : IF …. THEN …
Priority: 3
Priority: 1
Priority: 4
Priority: 5
Priority: 2
ルールに固定、あるいは変動プライオリティ(優先度)をつけて制御を行う。
あるいはランダムにルールをピックアップする場合もある。戦略思考、キャラク
ターの挙動などでよく使われる。
Priority: -
制御
ルール= IF ( 行動条件文 ) then (動作命令文)
(例) ルール制御
ID 0 : IF …. THEN …
ID 1 : IF …. THEN …
ID 3 : IF …. THEN ….
ID 4 : IF …. THEN …
ID .. :
ID 5 : IF …. THEN …
Priority: 3Priority: 1
Priority: 4
Priority: 5
Priority: 2
或いは、状況判断思考によってルールを振り分ける。
戦略思考、キャラクターの挙動などでよく使われる。
Priority: -
制御
思考
ルール= IF ( 行動条件文 ) then (動作命令文)
応用可能性例
http://gomibako.symphonic-net.com/vote.cgi?genre=act_b&rating=9
ID 0 : IF (敵確認) THEN (逆方向)
ID 1 : IF (誰もいない) THEN (ランダムウォーク)
ID 2 : IF (フルーツ発見) THEN (フルーツゲット)
ID 3 : IF (パワー発見) THEN (パワーゲット)
ID 0 : IF (敵強い) THEN (サンダガ)
ID 1 : IF (自分弱い) THEN (弱い敵に攻撃)
ID 2 : IF (HP<20) THEN (ケアル)
ID 3 : IF (パワー発見) THEN (パワーゲット)
こうなっているというのではなく、こういうふうに応用できる例
パックマンなど
RPGなど
The Sims 3 における応用
街全体をソーシャルにシミュレーションして人との関係を楽しむゲーム。
たくさんのAIを「人間らしく」制御しなければならない。
特徴付けにプロダクションルールを採用。
Richard Evans, "Modeling Individual Personalities in The Sims 3", GDC 2011
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
Sims3 における応用
あらゆる相互作用を考慮
注目するエージェントの行動範囲だけを考慮
Richard Evans, "Modeling Individual Personalities in The Sims 3", GDC 2011
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
データドリブンなプロダクション・ルール
プロダクションルール
Richard Evans, "Modeling Individual Personalities in The Sims 3", GDC 2011
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
Sims3 における応用
プロダクションルール
プロダクションルールは種類によってランク付けされていて、
最もランクの高いルールが発火する。
ルールが発火すると他のSimは、その特性を理解する。
データドリブンなプロダクション・ルール
Sims3 における応用
ステートベース意思決定
State-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
ステートベース
ステート 自分の行動を記述する。
ステート ステート
遷移条件
世界と自己の変化を記述する。
ステート・マシン
ステート
ステート ステート
ステートマシン(有限状態マシン)
ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。
ループ構造により、フィードバック構造はない。
プレイヤーを待ち構えるAI
2体の敵キャラクターが哨戒していて、一人のプレイヤーが部屋に入って来る。
ステート・マシン
ステートマシン(有限状態マシン)
ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。
ループ構造により、フィードバック構造はない。
待機
攻撃 パトロール
警戒
追跡
追いかける
攻撃する
威嚇攻撃
味方に指示
出口をかためる
味方を呼ぶ
味方がいない
かつ
戦闘範囲外
味方と合流
味方と合流
味方がいる
見失う
見える
見失う 見つける
巡回する
10秒経つ
物音を
聴く
応答がきた
階層型ステート・マシン
(例) Quake HFSM
状態遷移図を用いる
http://ai-depot.com/FiniteStateMachines/FSM-Practical.html
ゴールベース意思決定
Goal-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
ゴールベースAI (Goal-Based AI)
ゴール(目標)を単位として構築する方法
ゴール・ファースト=まずゴールを決める。
しかるのちにゴールを達成するための行動をデザインする。
ゴール ゴールを達成するために
必要なことを考える思考
行動
ゴールベース
ゴール
世界と自分の状況を記述する。
2つのゴールベース
ゴールベース
連鎖プランニング
階層型ゴール
プランニング
ゴールベース
ゴール ゴール ゴール ゴール
ゴールベースの考え方は、世界の変化の中で、自分の行動を考えて行くこと。
つまり、時間変化に沿ったゴールのシークエンスを考えることで、
世界の状況を変えて行く長期戦略である。
一つのゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
ゴールベース意思決定
連鎖プランニング
階層型プラン二ング
Goal-based decision making
F.E.A.R.におけるゴール指向プランニング
 Genre:Horror FPS
 Developer: Monolith Production
 Publisher : SIERRA
 Hardware: Windows
 Year: 2004
Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005)
http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt
F.E.A.R のCOMの感覚(センサー)
レイキャスト(視線チェック)、パス検索など重たい処理からなる関数
SensorNodeCombat 隠れる、或いは、隠れながら攻撃できる場所を探す。
SensorSeeEnemy 敵が見えるかチェック
PassTarget 戦術ポイントまでのパスを見つけ、かつそのパスが敵から安全であることをチェックする。
CoverNode 隠れることができるノード
世界
センサー
SensorNodeCombat
SensorSeeEnemy
PassTarget
CoverNode
知識表現
事実形式
センサー = 五感からの情報、及び、五感から得られるはずの情報を模擬する機能
Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005)
http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt
統一事実記述形式
統一事実記述形式
場所
方向
感覚
オブジェクト
情報取得時刻
未公開
場所 (位置、信頼度)
方向(方向、信頼度)
感覚のレベル(感覚の種類、信頼度)
オブジェクト(ハンドル、信頼度)
情報取得時刻
キャラクター 事件 欲求任務 パスオブジェクト
全て以下の形式(フォーマット)で記述する。
ノード
全部で本当は16個の属性がある
Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005)
http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt
自分の記憶領域に認識した事実を蓄積する
Worlking Memory
Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005)
http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt
プランニングのための知識
シンボル
エージェントの認識する世界をもっとシンプルに表現したい
各エージェントについて(Agent-centric)
上記のシンボルは、対象とするエージェントについての情報。
kSymbol_AtNode
どのノードにいるか
kSymbol_TargetIs
AimingAtMe
どのノードにいるか
kSymbol_
WeaponArmed
武装しているか
kSymbol_
WeaponLoaded
装填されているか
kSymbol_Target
IsSuppressed
威嚇されているか
kSymbol_
UsingObject
オブジェクトを
使っているか?
kSymbol_
TargetIsDead
死んでいるか
kSymbol_
RidingVehicle
乗り物に乗っているか
kSymbol_AtNodeType
どんなタイプのノードにいるか
20個のシンボルで世界を集約して表現する
Jeff Orkin, “3 States and a Plan: The AI of F.E.A.R.",
http://web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.zip
シンボル
kTargetAtme = ture
この兵士Bは自分を狙っているkTargetIsDead = ture
この兵士Aは死んだ
kWeaponIsLoaded = false
私Cの武器は装填済みでない
Jeff Orkin, “3 States and a Plan: The AI of F.E.A.R.",
http://web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.zip
F.E.A.R.のプランニング②
シンボルによる連鎖プランニング
ターゲットAが
死んでいる
ターゲットAが
死んでいる
攻撃
武器が装填
されている
武器が装填
されている
装填する
武器を
持っている
武器を
持っている
武器を拾う
条件なし
プラナー
プランニング
ゴールベース意思決定
連鎖プランニング
階層型ゴールプラン二ング
Goal-based decision making
一つのゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
ゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
Goal
Goal
Goal Goal Goal
クロムハウンズにおけるプランニング
階層型ゴール指向型プランニング
戦略、戦術から、局所的戦闘までの幅広い戦いが
できる必要がある
階層型ゴール指向型プランニングとは?
一つのゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
ゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
Goal
Goal
Goal Goal Goal
映画を見たい
映画館に行く
映画を見る
映画館は新宿だ
映画館まで歩く
新宿駅に行く
晴れなら 新宿駅へ歩く
雨なら 電車で新宿へ
駅まで歩く
電車に乗る
ゴール指向型プランニングの考え方
クロムハウンズにおける
ゴール指向型プランニング
パスに沿って
移動する
通信塔を
見つける
パスを見つける通信塔
へ行く
通信塔
を占拠
通信塔を
占領する
撃つ
歩く
止まる
通信塔の
周囲に
10秒間いる
戦術、振る舞い 操作 ハウンズ
ロボット
身体
クロムハウンズにおける
リアルタイムゴール指向型プランニング
通信塔を
占領する
Seek
Shot
Walk
Stop
戦略 戦術、振る舞い 操作 ハウンズ
敵が
来
た!
パスに沿って
移動する
通信塔を
見つける
パスを見つける
通信塔
へ行く
通信塔
を占拠
通信塔の
周囲に
10秒間いる
敵と戦う
撃つ
歩く
止まる
ロボット
身体
クロムハウンズにおける
リアルタイムゴール指向型プランニング
パスに沿って
移動する
通信塔を
見つける
パスを見つける通信塔
へ行く
通信塔
を占拠
通信塔を
占領する
撃つ
歩く
止まる
通信塔の
周囲に
10秒間いる
敵を倒し
た!
Clear!
戦術、振る舞い 操作 ハウンズ
ロボット
身体
ゴール指向型AIの開発工程
歩く 撃つ 止まる
2点間を移動 前進しながら戦う
攻撃するパスをたどる
敵を叩く
味方を
守る
操作層
振る舞い層
戦術層
戦略層
通信塔
占拠
その場で静止
周囲を監視
しつつ待機
ゲーム
テスト
(80回)
問題点を
パターンと
して抽出
(パターンランゲージによる漸近的成長)
仕様UMLProgram
ゴール指向型プログラム構造
(入れ子構造)
Class Goal
クリア条件
+
Activate()
Process()
Terminate()
Class Goal
クリア条件
+
Activate()
Process()
Terminate()
Class Goal
クリア条件
+
Activate()
Process()
Terminate()
Class Goal
クリア条件
+
Activate()
Process()
Terminate()
Activate … 初期セッティング
Process … アクティブな間の行動Terminate … 終
了処理
(関数の内容を全てスクリプトで記述)
プログラマーのための実装工程
インスタンス
インスタンス
Conquer_Combas_TeamAI.avi
ゴール指向プランニングによって
通信塔を占拠するデモ
左上は階層型プランニングのゴール表示
http://www.nicovideo.jp/watch/1306134962
クロムハウンズ 最終的なゴール総合図
歩く 撃つ 止まる
2点間を
移動
歩く、一度
止まる、歩く
攻撃
する
パスを
たどる
敵を叩く 味方を
守る
操作層
振る舞い層
戦術層
戦略層
通信塔
占拠
静止
する
ある地点へ
行く
本拠地
防衛
敵本拠地
破壊
味方を
助ける
巡回
する
敵基地
偵察
近付く
合流
する
巡回
する
逃げる
後退
する
前進
する
敵側面
へ移動
個々のAIを、自律した知性(エージェント)として作成し、
互いに相互作用させることで、全体として多様な機能を獲得する
マルチエージェント・システムの作り方
マルチエージェント
Step1
Step2
Step3
個としてのAIを自律した知性として作る。
AI間の協調関係を定義する。
全体を調整する。
全体としての知性
個としてのAIを自律した知性として作る
Step1
「常に複数の欲求を持ち、知能がその内から最適な行動を選択する」
クロムハウンズAI コンセプト
複数のゴール ゴールを選択する意思決定機構
人間
AI
人間の心理的な葛藤を人工知能に取り込む
クロムハウンズ ゴール総合図
歩く 撃つ 止まる
2点間を
移動
歩く、一度
止まる、歩く
攻撃
する
パスを
たどる
敵を叩く 味方を
守る
操作層
振る舞い層
戦術層
戦略層
通信塔
占拠
静止
する
ある地点へ
行く
本拠地
防衛
敵本拠地
破壊
味方を
助ける
巡回
する
敵基地
偵察
近付く
合流
する
巡回
する
逃げる
後退
する
前進
する
敵側面
へ移動
状況に応じて、戦略を選ぶ知能が必要
複数のゴール
ゴールを選択する意思決定機構
選択
COMの自律的な意思決定過程
本拠地
占拠
敵を叩け
通信塔
占拠
本拠地
防衛
味方機を
助けよ
周囲の状況を反映して意思決定する
評価関数法
意志決定機
構
選択戦略
プランニング
どれぐらい状況に適しているか、点数をつけて比較する方法
クロムハウンズ 状況により変動する評価値のイメージ
敵を叩く 味方を
守る
戦略層
通信塔
占拠
本拠地
防衛
敵本拠地
破壊
味方を
助ける
巡回
する
敵基地
偵察
状況に応じて、変動する評価地。
その状況に応じて適したものほど高い点数がつくようにする。
複数のゴール
ゴールを選択する意思決定機構
エージェントが意思決定をする仕組み
その戦略を達成することで得られる 見返り(S; 重要度) と、
それを達成するための リスク(R; 危険度) の兼ね合い
実行評価値(E) = S * ( 1 –R )
S(73) R(57)
S(11) R(8)
S(89) R(64)
S(24) R(4)
S(33) R(80)
S(33) R(43)
S(33) R(2)
本拠地
破壊
通信塔
占拠
1 E = 24
2 E =12
3 E =6
C E = 20
D E = 32
F E = 3
J E = 21
通信塔の「重要度 S」
3つのファクターから決まる。
(1) 味方司令部との関係 (通信塔- 敵司令部 )
(2) 敵司令部との関係 (通信塔- 味方司令部)
(3) 通信塔同士の関係 (通信塔- Combus )
S = W_1 * 味方司令部との距離による関数 +
W_2 * 敵司令部との距離による関数 +
W_3 * 隣の通信塔の占拠状態からなる関数
W … 重み
S = W_EBase * ( Σ F( L_EBase, L_MapScale ) * Est_Base_NonConstFactor
+ W_SBase * F( L_SBase, L_MapScale )
+ W_InComNet * Est_InComNet
W_EBase + W_SBase + W_InComNet = 1
Est_InComNet = W_static * Est_Static_Combus + W_dynamic * Est_Dynamic_Combus
Est_Static_Combus = (Connectable_Number - Connected_Number) /Max_Connectable_Number
Est_Dynamic_Combus = Connected_Number/Max_Connectable_Number
W_static + W_dynamic = 1
…
通信塔の「重要度 S」
3つのファクターから決まる。
(1) 味方司令部との関係 (通信塔- 敵司令部 )
(2) 敵司令部との関係 (通信塔- 味方司令部)
(3) 通信塔同士の関係 (通信塔- Combus )
S = W_1 * 味方司令部との距離による関数 +
W_2 * 敵司令部との距離による関数 +
W_3 * 隣の通信塔の占拠状態からなる関数
W … 重み
通信塔の「危険度 R」
3つのファクターによる。
(1) 敵ハウンズが通信塔からどれぐらいの距離にいるか。
(2) ザコ敵がどれぐらいの距離にいるか。
(3) 味方ハウンズが通信塔からどれぐらいの距離にいる
R = W_1 * 敵ハウンズの通信塔との距離による関数
+ W_2 * ザコ敵と通信塔の距離による関数
+ W_3 * 味方ハウンズ通信塔との距離の関数
W … 重み
パラメーター と関数の形を調整する
意志決定の形やハウンズの個性が決定
テストをくり返しながら
計 100 近くのパラメーターを調整
意思決定機構のデモ
COMが自分で判断をする様子
をご覧ください。
Evaluation_value_2.avi
http://www.nicovideo.jp/watch/1306134580
自律型エージェントの実現
リアルタイム パス検索
×
リアルタイム ゴール指向型プランニング
×
意思決定機構
第1回セミナー
第2回セミナー
第3回セミナー
自律型エージェント 完成
個としてのAIの完成
チームとしてのAIへ
AI間の協調関係を定義する
Step2
Step1
Step2
Step3
個としてのAIを自律した知性として作る。
AI間の協調関係を定義する。
全体を調整する。
集団における知性 クロムハウンズ
メンバーの維持
相手チームに対する
状況的優位を築く
①護衛 ②救援
③戦闘判断 ④集中砲火
勝利のための
統制された行動
⑤チームAI
最初はチームAIを入れない。
チーム対戦をくり返しながら、必要なAI技術を導入し調整する。
ゴールによる協調
アルゴリズムによる協調
チームAIによる協調
クロムハウンズにおけるマルチエージェント技術
① 護衛 一体のエージェントが他のエージェントと移動を共にする。
「護衛する」というゴールを用意する
護衛される対象は戦力が少ないか、
移動速度が遅いハウンドが選ばれやすい
Protect_CB_TeamAI.avi
http://www.nicovideo.jp/watch/1306134334
クロムハウンズにおけるマルチエージェント技術
② 救援 一体のエージェントが窮地にある他のエージェントの戦場に
駆けつける。
「救援する」というゴールを用意する
護衛される対象は体力の残りが少ない
ハウンズ
囮に使われる可能性があるので、
あまりに遠かったり、あまりに
体力が少ない場合は、救援に行かない
P
P
P
P
集団における知性 クロムハウンズ
メンバーの維持
相手チームに対する
状況的優位を築く
①護衛 ②救援
③戦闘判断 ④集中砲火
勝利のための
統制された行動
⑤チームAI
ゴールによる協調
アルゴリズムによる協調
新しいAIによる協調
プレイヤーたちの戦力 > 1.4 x エージェントたちの戦力
P
プレイヤーたちの戦力 < 1.4 x エージェントたちの戦力
本拠地へ
退却
戦闘!
クロムハウンズにおけるマルチエージェント技術
③ 戦闘判断 エージェントが周りの敵と味方の戦力を計算して
戦うべきか、逃げるべきかを判断する。
P
P
P
P
P
P
P P
戦力比が大きい無駄な戦闘を回避し、常に相手を上回る
戦力を増築してプレイヤーに対抗する
デバッグの過程で追加
クロムハウンズにおけるマルチエージェント技術
④ 集中砲火 複数のエージェントが複数の敵ターゲットに対し
ターゲットを統一する
その場で戦力が最も低い敵を集中的に攻撃し
ダメージの分散を防ぐ
P
P
P
戦闘!
その場で戦力が最も低い敵を集中的に攻撃する
デバッグの過程で追加
集団における知性 クロムハウンズ
メンバーの維持
相手チームに対する
状況的優位を築く
①護衛 ②救援
③戦闘判断 ④集中砲火
勝利のための
統制された行動
⑤チームAI
ゴールによる協調
アルゴリズムによる協調
新しいAIによる協調
「組織としての利益の行動と、個人としての利益の行動は必ずしも一致しない」
組織としての合理性 個人としての合理性
組織と個人
チームAI
人間の組織の葛藤をチームAIに取り込む
個のAI
クロムハウンズにおけるマルチエージェント技術
⑤チームAI を作る
クロムハウンズ チームAI コンセプト
例えば、チームとして
こういうことをさせたい
一機だけの戦闘で戦局が
変わることはない。
敵をやっつける時は、なるべく
多 vs 1 になるようにする
実際の戦闘がどうなっているかパターンを集めてみよう
戦力を集中させたい
例えば、チームとして
こういうことをさせたい
勝負が決まり始める後半では、
勝つための方針がばらばらに
ならないようにしたい
ゲーム後半では、チームAIが
方針を決定する
実際の戦闘がどうなっているかパターンを集めてみよう
ゲーム後半では、方針を統一
ゲームメーキング
例えば、チームとして
こういうことをさせたい
敵基地を落とすのは、
火力が必要
1体で行っても、火力が足りない上に
敵が防衛している
本拠地は多数の機体で攻めたい
実際の戦闘がどうなっているかパターンを集めてみよう
勝負をかけるタイミングを
あわせたい
ゲームメーキング
チームAIの構造
チームAI 意志決定機構
チームとしての戦略
(=勝利条件と同じ)
4つの戦略を持ち、ゲーム全体の状況を反映する
評価関数によって、一つの戦略を決定する。
(評価関数による意思決定 = 個体の意志決定と同じ方法)
敵殲滅
本拠地
防衛
敵本拠
地破壊
通信塔
占拠数
で勝つ
敵本拠
地破壊
チームAIの構造
チームAI 意志決定機構
4つの戦略を持ち、評価関数によって、一つの戦略を決定する。
(評価関数による意思決定 = 個体の意志決定と同じ方法)
本拠地
破壊
本拠地
破壊
本拠地
破壊
一つのチーム戦略は、
各機体への命令からなる
敵殲滅
本拠地
防衛
敵本拠
地破壊
通信塔
占拠数
で勝つ
敵本拠
地破壊
チームAIの構造 = ゴール指向型の拡張
チームAI 意志決定機構
敵殲滅
本拠地
防衛
敵本拠
地破壊
通信塔
占拠数
で勝つ
本拠地
破壊
本拠地
破壊敵本拠
地破壊
本拠地
破壊
一つのチーム戦略は、
各機体への命令からなるCOM 1 COM 2 COM 3
本拠地
破壊
本拠地
破壊
本拠地
破壊
プランニング
COMのゴール指向プランニングの上に、チームAIを積み上げる
観察すると、チームAIの判断がある時は正しく、
個体AIの方の判断がある時は正しい
何故か?
個体はハウンズは、自分の廻りの局所的な情報を元に判断
チームAIは、戦局全体の情報を元に判断
両方の判断を比較して正しい方を選択するべきだ
チームAI の意思決定と COMの判断
を比較して、最終的に決定する
チームAI 意志決定機構
COM 2
本拠地
破壊
通信塔
占拠
敵殲滅
本拠地
防衛
敵本拠
地破壊
通信塔
占拠数
で勝つ
敵本拠
地破壊 組織としての合理性
個としての合理性
チームAI の意思決定と COMの判断
を比較して、最終的に決定する
チームAI 意志決定機構
COM 2
本拠地
破壊
通信塔
占拠
実行評価値 :76
実行評価値 :88
×
チームAIとCOMの
ゴールの評価値を
比較して高い方を選択する。
敵殲滅
本拠地
防衛
敵本拠
地破壊
通信塔
占拠数
で勝つ
敵本拠
地破壊
チームAI の意思決定と COMの判断
を比較して、最終的に決定する
チームAI 意志決定機構
COM 2
本拠地
破壊
通信塔
占拠
実行評価値 : 64
実行評価値 : 53
×
COMが二つの評価値を
比較して高い方を選択する。
敵殲滅
本拠地
防衛
敵本拠
地破壊
通信塔
占拠数
で勝つ
敵本拠
地破壊
チームAI の意思決定と COMの判断
を比較して、最終的に決定する
チームAI 意志決定機構
COM 2
本拠地
破壊
通信塔
占拠
76
88
×
COMが二つの評価値を
比較して高い方を選択する。
敵殲滅
本拠地
防衛
敵本拠
地破壊
通信塔
占拠数
で勝つ
敵本拠
地破壊
チームAIの介入の仕方
1.0
0.0
前半
(5分、或いは、
戦場で一機が
撃墜されるま
で)
中盤
(前半終了から5
分)
後半
(中盤終了から5
分)
comp_idv
comp_team
前半はチームAIより個としてのAIの判断を優先、
後半はチームAIの判断を優勢にしたい。
比較のためのチームAIゴール評価値 = ゴール評価値 x comp_team
比較のためのCOM AIゴール評価値 = ゴール評価値 x comp_idv
COM優勢 COM、チーム競合 チーム優勢
チームAIを用いてゲームメーキングを行う
1.2
チームAIのデモをご覧ください
Protect_CB_TeamAI.avi
http://www.nicovideo.jp/watch/1306134909
クロムハウンズにおけるマルチエージェント
技術まとめ
(1) クロムハウンズは、各NPCが役割を持って協調する
マルチエージェント構造である。
(2) 各NPCは個体としてはゴール指向プランニングの
思考を持ち、ゴールによって協調する。
(3) 全体の動きはアルゴリズム的な運動によっても制御
される。
(4) ゲーム全体に渡っては、チームAIが制御し、
プレイヤーとのゲームメーキングを行う。
クロムハウンズAI
プレイヤたちーとAIたちが対等に争いながら競合する
新しいゲーム空間を創造したい
人間の心の葛藤
人間の組織の葛藤
行動の自由
集団としての自由度
学べたもの
学べなかったもの
柔軟な計画性 … 常に、個人としてもチームとしても
複数のプランを描き、行動している。
暗黙の協調性 … 言葉で伝え合わなくても、意図を伝え合う。
(例) 「おまえがこうやると思ったから」など
m07_001_01_ComvsCom.avi
クロムハウンズAI技術デモ
http://www.nicovideo.jp/watch/1306134435
m07_001_02_ComvsCom.avi
クロムハウンズAI技術デモ
http://www.nicovideo.jp/watch/1306134476
m07_001_03_ComvsCom.avi
クロムハウンズAI技術デモ
http://www.nicovideo.jp/watch/1306134523
ゲームAI入門 (後半)へ
日本デジタルゲーム学会理事
三宅 陽一郎
2018.7.9 @shibuya
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com @miyayou

Weitere ähnliche Inhalte

Was ist angesagt?

ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)Youichiro Miyake
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~dena_genom
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?京大 マイコンクラブ
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないことNorishige Fukushima
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するTakahito Tejima
 
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み) Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)Sindharta Tanuwijaya
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】Unity Technologies Japan K.K.
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!Masahiko Nakamura
 
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用Sugimoto Chizuru
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理DADA246
 
ゲームAIの中の数学(上)
ゲームAIの中の数学(上)ゲームAIの中の数学(上)
ゲームAIの中の数学(上)Youichiro Miyake
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現Unity Technologies Japan K.K.
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜Unity Technologies Japan K.K.
 
ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介Koji Morikawa
 

Was ist angesagt? (20)

ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
 
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフローUE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み) Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
猫でも分かるUMG
猫でも分かるUMG猫でも分かるUMG
猫でも分かるUMG
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
ゲームAIの中の数学(上)
ゲームAIの中の数学(上)ゲームAIの中の数学(上)
ゲームAIの中の数学(上)
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
 
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem 猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
 
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
 
ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介
 

Ähnlich wie ゲームAI入門(前半)

人工知能とゲーム(前篇)
人工知能とゲーム(前篇)人工知能とゲーム(前篇)
人工知能とゲーム(前篇)Youichiro Miyake
 
CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)Youichiro Miyake
 
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Youichiro Miyake
 
ゲームのための人工知能(上)
ゲームのための人工知能(上)ゲームのための人工知能(上)
ゲームのための人工知能(上)Youichiro Miyake
 
ゲームAIと人工生命
ゲームAIと人工生命ゲームAIと人工生命
ゲームAIと人工生命Youichiro Miyake
 
デジタルゲームにおける 人工知能のワークフローと導入フロー
デジタルゲームにおける人工知能のワークフローと導入フローデジタルゲームにおける人工知能のワークフローと導入フロー
デジタルゲームにおける 人工知能のワークフローと導入フローYouichiro Miyake
 
次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術 次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術 Youichiro Miyake
 
PLANETS 「ゲームオブザラウンド」05 講演資料
PLANETS 「ゲームオブザラウンド」05 講演資料PLANETS 「ゲームオブザラウンド」05 講演資料
PLANETS 「ゲームオブザラウンド」05 講演資料Youichiro Miyake
 
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用Youichiro Miyake
 
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~Youichiro Miyake
 
ゲームAIの中の数学(下)
ゲームAIの中の数学(下)ゲームAIの中の数学(下)
ゲームAIの中の数学(下)Youichiro Miyake
 
ゲームAIから見るAIの実情と未来
ゲームAIから見るAIの実情と未来ゲームAIから見るAIの実情と未来
ゲームAIから見るAIの実情と未来Youichiro Miyake
 
デジタルゲームにおける人工知能技術
デジタルゲームにおける人工知能技術デジタルゲームにおける人工知能技術
デジタルゲームにおける人工知能技術Youichiro Miyake
 
Chrome Hounds におけるチームAI
Chrome Hounds におけるチームAIChrome Hounds におけるチームAI
Chrome Hounds におけるチームAIYouichiro Miyake
 
ゲームAIとマルチエージェント(下)
ゲームAIとマルチエージェント(下)ゲームAIとマルチエージェント(下)
ゲームAIとマルチエージェント(下)Youichiro Miyake
 
開催趣旨・00年代イントロ・パネルディスカッション資料
開催趣旨・00年代イントロ・パネルディスカッション資料開催趣旨・00年代イントロ・パネルディスカッション資料
開催趣旨・00年代イントロ・パネルディスカッション資料IGDA Japan
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史ide_an
 
AI に取り組むべき4つの領域
AI に取り組むべき4つの領域AI に取り組むべき4つの領域
AI に取り組むべき4つの領域Daisuke Masubuchi
 
ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係gipwest
 
デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」Youichiro Miyake
 

Ähnlich wie ゲームAI入門(前半) (20)

人工知能とゲーム(前篇)
人工知能とゲーム(前篇)人工知能とゲーム(前篇)
人工知能とゲーム(前篇)
 
CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)
 
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
 
ゲームのための人工知能(上)
ゲームのための人工知能(上)ゲームのための人工知能(上)
ゲームのための人工知能(上)
 
ゲームAIと人工生命
ゲームAIと人工生命ゲームAIと人工生命
ゲームAIと人工生命
 
デジタルゲームにおける 人工知能のワークフローと導入フロー
デジタルゲームにおける人工知能のワークフローと導入フローデジタルゲームにおける人工知能のワークフローと導入フロー
デジタルゲームにおける 人工知能のワークフローと導入フロー
 
次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術 次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術
 
PLANETS 「ゲームオブザラウンド」05 講演資料
PLANETS 「ゲームオブザラウンド」05 講演資料PLANETS 「ゲームオブザラウンド」05 講演資料
PLANETS 「ゲームオブザラウンド」05 講演資料
 
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
 
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~
 
ゲームAIの中の数学(下)
ゲームAIの中の数学(下)ゲームAIの中の数学(下)
ゲームAIの中の数学(下)
 
ゲームAIから見るAIの実情と未来
ゲームAIから見るAIの実情と未来ゲームAIから見るAIの実情と未来
ゲームAIから見るAIの実情と未来
 
デジタルゲームにおける人工知能技術
デジタルゲームにおける人工知能技術デジタルゲームにおける人工知能技術
デジタルゲームにおける人工知能技術
 
Chrome Hounds におけるチームAI
Chrome Hounds におけるチームAIChrome Hounds におけるチームAI
Chrome Hounds におけるチームAI
 
ゲームAIとマルチエージェント(下)
ゲームAIとマルチエージェント(下)ゲームAIとマルチエージェント(下)
ゲームAIとマルチエージェント(下)
 
開催趣旨・00年代イントロ・パネルディスカッション資料
開催趣旨・00年代イントロ・パネルディスカッション資料開催趣旨・00年代イントロ・パネルディスカッション資料
開催趣旨・00年代イントロ・パネルディスカッション資料
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史
 
AI に取り組むべき4つの領域
AI に取り組むべき4つの領域AI に取り組むべき4つの領域
AI に取り組むべき4つの領域
 
ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係
 
デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」
 

Mehr von Youichiro Miyake

AIES 2021 Keynote lecture
AIES 2021 Keynote lecture AIES 2021 Keynote lecture
AIES 2021 Keynote lecture Youichiro Miyake
 
業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在Youichiro Miyake
 
スマートシティへのデジタルゲームAIの応用
スマートシティへのデジタルゲームAIの応用スマートシティへのデジタルゲームAIの応用
スマートシティへのデジタルゲームAIの応用Youichiro Miyake
 
スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能Youichiro Miyake
 
Replaying Japan Keynote 2021
Replaying Japan Keynote 2021 Replaying Japan Keynote 2021
Replaying Japan Keynote 2021 Youichiro Miyake
 
デジタルゲームと人工知能
デジタルゲームと人工知能デジタルゲームと人工知能
デジタルゲームと人工知能Youichiro Miyake
 
クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展Youichiro Miyake
 
フロイトと人工知能の意識モデル -「新記号論」を読んで -
フロイトと人工知能の意識モデル  -「新記号論」を読んで - フロイトと人工知能の意識モデル  -「新記号論」を読んで -
フロイトと人工知能の意識モデル -「新記号論」を読んで - Youichiro Miyake
 
バーチャルワールド、 スマートシティ、人工知能
バーチャルワールド、スマートシティ、人工知能バーチャルワールド、スマートシティ、人工知能
バーチャルワールド、 スマートシティ、人工知能Youichiro Miyake
 
人工知能にとっての他者と自分
人工知能にとっての他者と自分人工知能にとっての他者と自分
人工知能にとっての他者と自分Youichiro Miyake
 
AI時代の幸福と人間力
AI時代の幸福と人間力AI時代の幸福と人間力
AI時代の幸福と人間力Youichiro Miyake
 
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの かYouichiro Miyake
 
Innovative City Forum 2020 講演資料
 Innovative City Forum 2020 講演資料 Innovative City Forum 2020 講演資料
Innovative City Forum 2020 講演資料Youichiro Miyake
 
人工知能とビジネス
人工知能とビジネス人工知能とビジネス
人工知能とビジネスYouichiro Miyake
 
人工知能とは何か?
人工知能とは何か?人工知能とは何か?
人工知能とは何か?Youichiro Miyake
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術Youichiro Miyake
 

Mehr von Youichiro Miyake (20)

AIES 2021 Keynote lecture
AIES 2021 Keynote lecture AIES 2021 Keynote lecture
AIES 2021 Keynote lecture
 
業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在
 
スマートシティへのデジタルゲームAIの応用
スマートシティへのデジタルゲームAIの応用スマートシティへのデジタルゲームAIの応用
スマートシティへのデジタルゲームAIの応用
 
スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能
 
Replaying Japan Keynote 2021
Replaying Japan Keynote 2021 Replaying Japan Keynote 2021
Replaying Japan Keynote 2021
 
デジタルゲームと人工知能
デジタルゲームと人工知能デジタルゲームと人工知能
デジタルゲームと人工知能
 
クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展
 
フロイトと人工知能の意識モデル -「新記号論」を読んで -
フロイトと人工知能の意識モデル  -「新記号論」を読んで - フロイトと人工知能の意識モデル  -「新記号論」を読んで -
フロイトと人工知能の意識モデル -「新記号論」を読んで -
 
バーチャルワールド、 スマートシティ、人工知能
バーチャルワールド、スマートシティ、人工知能バーチャルワールド、スマートシティ、人工知能
バーチャルワールド、 スマートシティ、人工知能
 
人工知能にとっての他者と自分
人工知能にとっての他者と自分人工知能にとっての他者と自分
人工知能にとっての他者と自分
 
AI時代の幸福と人間力
AI時代の幸福と人間力AI時代の幸福と人間力
AI時代の幸福と人間力
 
人工知能と未来
人工知能と未来人工知能と未来
人工知能と未来
 
人工知能と社会
人工知能と社会人工知能と社会
人工知能と社会
 
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
 
Innovative City Forum 2020 講演資料
 Innovative City Forum 2020 講演資料 Innovative City Forum 2020 講演資料
Innovative City Forum 2020 講演資料
 
人工知能とDX
人工知能とDX人工知能とDX
人工知能とDX
 
人工知能と哲学
人工知能と哲学人工知能と哲学
人工知能と哲学
 
人工知能とビジネス
人工知能とビジネス人工知能とビジネス
人工知能とビジネス
 
人工知能とは何か?
人工知能とは何か?人工知能とは何か?
人工知能とは何か?
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術
 

ゲームAI入門(前半)