SlideShare a Scribd company logo
三宅 陽一郎
ゲームAI製作のための
ワークショップ(III)
三宅陽一郎@miyayou
2016.9.21 @横浜
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com
Works (2006-2012)
AI for Game Titles
Books
「意思決定アルゴリズム」参考文献
• 「ゲームAI」について、30ページ程で解説し
ています。
経歴
京都大学(数学) 大阪大学(原子核実験物理) 東京大学
(エネルギー工学/人工知能)
高エネルギー加速器研究所(半年ぐらい。修士論文)
http://www.facebook.com/youichiro.miyake
コンテンツ
第一部 前回までの復習
第二部 メタAI
第三部 タスクベースAI
第四部 ゴールベースAI
第五部 シミュレーションべースAI
コンテンツ
第一部 前回までの復習
第二部 メタAI
第三部 タスクベースAI
第四部 ゴールベースAI
第五部 シミュレーションべースAI
第一部 前回までの復習
知能方程式
ユーザーの体験
= ユーザーの心理 x キャラクターの賢さ
人工知能ゲームの状況
ユーザーを追い込む
ユーザーを心理を引き出す
=状況を作り出す
ゲームデザイナーの仕事 エンジニアの仕事
ゲームとはなにか
• インタラクティブなデジタル空間。
• もちろん自由に何を作ってもいいですが、時代を
経て次第に構造化されて来ました。
• AIもその中で、いくつかの分類されて来ました。
現代ゲームにおけるAIの構造
• ゲームの中で人工知能が果たす役割というのが明確になって
来ました。
• 主に現代では3つのAIの役割があります。(これから増えて行く
かもしれません)
ゲームそのものをコントロールする人工知能。
キャラクターのブレイン(脳)として機能する人工知能。
パス検索を始め地形・状況など空間的な情報を抽出する人工知能。
メタAI
キャラクターAI
ナビゲーションAI
人工知能の二つの軸
• 人工知能を考えるときは、その知能が何なのか、を探求するより、
どんな問題を解こうとしているか、を考えるとわかりやすい。
空間の
スケール
時間の
スケール
局所・
短時間
大局・
時間
なし
大局・
長時間
メタAI
キャラクターAI
ナビゲーションAI
それぞれのAIの役割
メタAI
ゲーム局面全体の変化を継続的に監視して、動的に、
ゲームバランス、ゲームプレイの緊張感、ゲームの面白さをコントロールする。
キャラクターAI
キャラクターの立場から、自分の周囲の状況を局所的に認識し、
自分の行動を自分の身体に応じて一定時間の中でデザインする。
ナビゲーションAI
ゲームステージ全体についての、空間的特長、現在の状況を解析する。
役割を持つAIのことを「エージェント」と言います。上記3つはすべて
「エージェント」なのですが、特にゲームでは「キャラクターAI」のことを
「エージェント」と言います。
3つのAIの連携の例
フィールド
ナビゲーション
AI
メタAI
エージェントAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
スクリプト
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)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
知能 = 知識 x 思考
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
知能 = 知識 x 思考
今回のゲーム
© KAYAC Inc. All Rights Reserved.
https://build.cloud.unity3d.com/share/W1TeqjaSu-/
キャラクター
敵キャラクターをどのような存在として思わせたいか?
© KAYAC Inc. All Rights Reserved.
© KAYAC Inc. All Rights Reserved.
敵キャラクター
プレイヤーキャラクター
https://build.cloud.unity3d.com/share/W1TeqjaSu-/
エージェント・アーキテクチャ
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
内部循環インフォメーション・フロー(情報回廊)
第一回のワークショップ結果
ディスカッション
• 天敵として出て来る。
• 種族が反映する幸せ。子供たちを全員やっつけてしまう。
幸せなところから絶望に陥れる。自分より敵の方が基本性
能が高い。強い敵に対して、立ち向かう。ユーザーから闘
争心を引き出す。
• 天敵なので、プレイヤーが嫌がることをする。これを嫌だと
いうものを優先的に選択しする。プレイヤーの行動履歴を
解析して判断して選択する。報復度、恨みパラメーターが
変化する。自キャラが孵化するタイミングを狙う。
• プレイヤーの幸福度を測る。行動ログを取っておく必要が
ある。いつ、どこで、何をしたか。どこで卵を産んだか、どこ
で食べたか。取り続けられるのかな。プレイヤーが何を大
事にしているかを計測する。
• 行動ログがあって位置情報があって、いつどこで何をした
かを、プレイヤーがどんな道をたどったか、うろうろしたか、
卵を産んだ場所を推測して、そこに行く。
ディスカッション
• 敵を全滅させたい。
• 全滅させたい=敵を全滅させるのを見せる。食べている。
マップを侵略されている感を入れる。スプラトゥーンのよう
に塗る。ジェノサイド。違う種族を作る。一機でも残るとド
ロー。ユーザーから危機感を引き出す。
• 危機感をあおるパターンを考える。ただひたすら増える。攻
撃して来る。危機感をあおるシチューションを作る。100匹
まで増える。
• 地形データ、食べ物のデータ、視界のデータ、状況確認、
支配率。敵と味方の状況。AIの目標。食べるのを主とする
か、増やすのを主とするのか、ユーザーの行動ログ。
• 経路探索とパターン。食べ物食べる、敵を攻撃する、逃げ
る、隠れる、味方に食べ物を譲る。自分から食べられに行
く=囮。動かないで戦略を集中する。
ディスカッション
• 敵を追い込んでくる。パックマンのように緊張と緩和。
• 連携プレイ。青筋が立っている。よだれが出ている。絵で
見て。演出する。ユーザーから恐怖心を引き出す。
• 逃げ切れるか、逃げきれないか、わからないようなAIの仕
組み。スピードに焦点を入れて、アイテム取り合いになった
時に、もしかしたら、取れるかもと思わせる。アイテムの取
り合いになるように微妙な位置にアイテムを出現させる。ス
ピードを調整する。
• 地形データ・どっちがどっちに食べられるか。ゲームの基
本ルール。壁の位置、不変のもの。変化するもの。
• 知識を使って選択をする。追い込むのか、逃げるのかを判
断することができる。プレイヤーの操作を応じて、どういう
振る舞いをするかを選ばせる。やって来た行動、傾向を出
す。
第二回のワークショップ結果
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
内部循環インフォメーション・フロー(情報回廊)
意思決定モデル
ステート(状態)ベース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
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
(例) ルール制御
ID 0 : IF …. THEN …
ID 1 : IF …. THEN …
ID 3 : IF …. THEN ….
ID 4 : IF …. THEN …
ID .. :
ID 5 : IF …. THEN …
Priority: 3
Priority: 1
Priority: 4
Priority: 5
Priority: 2
或いは、状況判断思考によってルールを振り分ける。
戦略思考、キャラクターの挙動などでよく使われる。
Priority: -
制御
思考
ルール= IF ( 行動条件文 ) then (動作命令文)
ワークショップ1
ルールベースでキャラクターAIを作ってみよう!
ディスカッション
• このゲームは要素が相手、自分、バナナ、近
くにあった場合にどうすべきか。
• バナナ食べているか、食べていない、か組み
合わせで考えているか。
• プレイヤーと敵と二体しかいない。最も嫌なこ
と。スコアが高いと逃げきれば勝てる。
• 相手からどういう状況。
ディスカッション
• とにかく相手の嫌なこと、ランク付け。
• 結局、バナナアイテムが無敵、食べたら敵に
向かって行く。
• 卵が消されると嫌。
• 敵の視界に入らなければ、卵を探しに行く。
• 生まれそうな時に食べに行く。
• その後に自分と相手を比べて勝てそうな相手
と戦う。
ディスカッション
ディスカッション
• 全滅できたら勝ち。
• 各ユーザーの総合力。
• プライオリティを作る。
• 敵を見つけたら逃げる。
• キャラクターの制御。
ディスカッション
ディスカッション
• どういうコンセプトで動くのか。
• 相手より数が多い状況を作る。
• 敵の位置を元に、距離と相手と自分の相対
速度で逃げるのか、追いかけるのか。
• 食べるのか、どのオブジェクトに向かう。
ディスカッション
• どういうコンセプトで動くのか。
• 相手より数が多い状況を作る。
• 敵の位置を元に、距離と相手と自分の相対
速度で逃げるのか、追いかけるのか。
• 食べるのか、どのオブジェクトに向かう。
ディスカッション
ワークショップで学ぶこと
意思決定の形式を固定すると、
議論を円滑に行うことができる。
ステートベース意思決定
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
警戒
追跡
追いかける
攻撃する
威嚇攻撃
味方に指示
出口をかためる
味方を呼ぶ
味方がいない
かつ
戦闘範囲外
味方と合流
味方と合流
味方がいる
見失う
見える
見失う 見つける
巡回する
10秒経つ
物音を
聴く
応答がきた
階層型ステート・マシン
ワークショップ2
ステートベースでキャラクターAIを作ってみよう!
• どんな状態か、
• 自分に一番近いものを
• 敵に近づく。
• 状態を洗い出す。
• バナナを食べた後に、
• 遷移を結んでいく。
• 最も効率的なものに近づく。
• 見つけに行く。自分に近いもの。
• それの状態に。
• 移ったあとに、状態が変わる。
• 元のステートに戻しに行く。
ディスカッション
ディスカッション
• 生まれる。探す。バナナ。卵。
ディスカッション
ディスカッション
• パトロールから戻る。
• 敵を見つけたら攻撃する。
• 食べる。
• 敵が強かったら逃げる。
• 隠れる。
• 囮。
ディスカッション
ディスカッション
• 階層型。
• 逃げるとか、生きる。
• サブステートを使う。
• うろつくに戻る。
ディスカッション
ディスカッション
ワークショップ2
異なる形式でも意思決定は組むことができる。
ビヘイビアベース意思決定
Behavior-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
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
ワークショップ3
ビヘイビアベースでキャラクターAIを作ってみよう!
• どういう意思の状態が第一層。
• あきらめる、というのをどう作るか。
ディスカッション
ディスカッション
• 何を狙うか。
• Gate を使う。
ディスカッション
ディスカッション
• どこにルールを書くか。
ディスカッション
ディスカッション
• 広い方に逃げるとか
• 仲間から離れる。
ディスカッション
ディスカッション
ワークショップ3
ビヘイビアベースではじめて連続的な行動を書ける。
第一部 前回までの復習<終了>
コンテンツ
第一部 前回までの復習
第二部 メタAI
第三部 タスクベースAI
第四部 ゴールベースAI
第五部 シミュレーションべースAI
第二部 メタAI
LEFT 4 DEAD の事例
WARFRAME の事例
FARCRY4 の事例
ゲーム全体の知能化
ゲーム・ソフトウェア
知能化された
ゲーム・ソフトウェア
かつてゲームでは人工知能は独立した部分ではなく、
ゲームシステムの中に含まれていた。
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
3つの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 の事例
WARFRAME の事例
FARCRY4 の事例
メタ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という軽い部分だけを配信することで、コンテンツを入れ替えること
が可能になる。
参考文献
(1) Michael Booth, "Replayable Cooperative Game Design: Left
4 Dead," Game Developer's Conference, March 2009.
(2) Michael Booth, "The AI Systems of Left 4 Dead," Artificial
Intelligence and Interactive Digital Entertainment Conference
at Stanford.
http://www.valvesoftware.com/publications.html
(3) 三宅 陽一郎, “メタAI”,「デジタルゲームの技術」
P.186-190, ソフトバンク クリエイティブ
プロシージャルとは?
プロシージャル技術
ゲームAI技術
AI技術
プロシージャル
技術
コンテンツ自動生成技術
(PCG, Procedural Contents Generation )
Rogue (1980)のレベル生成法
Rect[0] Rect[0] Rect[1]
Rect[0]
Rect[1]
Rect[2] Rect[3]
http://racanhack.sourceforge.jp/rhdoc/intromaze.html
Rogue (1980)のダンジョン生成法
Rect[0] Rect[0] Rect[1]
Rect[0]
Rect[1]
Rect[2] Rect[3]
このようにアセット(ゲームのデータ)をツールなどを通して製作するのではなく、
プログラムで作ることを「プロシージャル・コンテンツ・ジェネレーション」(PCG)と言う。
http://racanhack.sourceforge.jp/rhdoc/intromaze.html
ブラウン運動
ロバート・ブラウン博士によって、1827年に発見された現象。
微粒が媒質(液体)の中で行う不規則な運動。
アインシュタイン博士によって、熱運動する媒質の不規則な
衝突によって引き起こされると説明された。
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
ブラウン運動から地形生成
ロバート・ブラウン博士によって、1827年に発見された現象。
微粒が媒質(液体)の中で行う不規則な運動。
アインシュタイン博士によって、熱運動する媒質の不規則な
衝突によって引き起こされると説明された。
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
宮田一乗「プロシージャル技術の動向」(CEDEC 2008)
ブラウン運動から地形生成
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
https://www.youtube.com/watch?v=m4JDNzwFZFI
ブラウン運動から地形生成
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
http://www.kenmusgrave.com
ブラウン運動から地形生成
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
http://www.kenmusgrave.com
ゲームのデータ作成
• マニュアル = 手作業(操作)で作る。
• プロシージャル(自動生成)
= 計算によって創る
プロシージャル比率 =
データ総生産量
自動生成したデータ生産量
ゲームの規模とプロシージャルの比率
1985年
ゲームの規模
プロシージャル比率
中型
作りこみ
ゲーム
小型
作りこみ
ゲーム
中型
自動生成
ゲーム
小型
自動生成
ゲーム
メモリも少ないので、
ゲーム起動時に計算で
データを作りたい
Elite (1980, BBC) 宇宙を自動生成
https://en.wikipedia.org/wiki/Elite_(video_game)
ゲームの規模とプロシージャルの比率
1995年
ゲームの規模
プロシージャルの比率
大型
作りこみ
ゲーム
中型
作りこみ
ゲーム
小型
作りこみ
ゲーム
中型
自動生成
ゲーム
これからはグラフィックの時代だ。
ツールも充実。どんどん、作りこみ
で作って行こう。
トルネコの大冒険(チュンソフト、1993)
• ダンジョンを自動生成する。
ゲームの規模とプロシージャルの比率
2015年
ゲームの規模
プロシージャルの比率
最近のAAA
ゲーム
少し前の
AAAゲーム
技術系
インディー
ゲーム
ソーシャル
ゲーム
計算パワーも、容量もふんだんにある。
一つの大きな世界(オープンワールド)を
計算とデータで作り上げよう。
NO MAN’S SKY (Hello Games, 2016)
http://www.no-mans-sky.com/
宇宙、星系、太陽系、惑星を自動生成する。
ゲームの規模とプロシージャルの比率
ゲームの規模
プロシージャル比率
• 固定データ = どんどん更新不可能になる。
• プロシージャル = 計算により可変。
プロシージャルはゲームを柔らかくする。
リアルタイムに可変なコンテンツを作る。
ゲームの規模とプロシージャルの比率
http://www.desura.com/engines/dunia
FarCry3 におけるプロシージャル技術
FarCry2 におけるプロシージャル技術
50km四方のマップを作る
オブジェクト(草木)&アニメーションデータを自動生成
FarCry2 (Dunia Engine) デモ
草原自動生成 時間システム
樹木自動生成 動的天候システム
動的天候システム
http://www.farcry2-hq.com/downloads,18,dunia-engine-nr1.htm
現代のメタAI
より積極的にゲームに干渉する。
メタAI
敵配位 敵スパウニング ストーリー
レベル
動的生成
ユーザー
現代のメタAI
より積極的にゲームに干渉する。
メタAI
敵配位 敵スパウニング ストーリー
レベル
動的生成
ユーザー
プロシージャル
技術
第二部 メタAI
LEFT 4 DEAD の事例
WARFRAME の事例
FARCRY4 の事例
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
Block 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
LEFT 4 DEAD の事例
WARFRAME の事例
FARCRY4 の事例
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
Future Work
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
Future Work
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例Future Work
これからのゲームの作り方
オープンワールド
プロシージャル(自動生成)
適応型的AI
(自動AI配置、自動ミッション生成)
これからのゲームの作り方
オープンワールド
プロシージャル(自動生成)
適応型的AI
(自動AI配置、自動ミッション生成)
これからのゲームは、
広大なで多様なフィールドを持ちつつ、
稠密なゲームプレイを提供できるような
サービスとなる。
(低コストで)
ワークショップ4
メタAIを作ってみよう!
メタAIにさせたいことを書き連ねてみましょう。
グループ1
グループ2
グループ3
ワークショップ4
メタAIはアイデア勝負!
コンテンツ
第一部 前回までの復習
第二部 メタAI
第三部 タスクベースAI
第四部 ゴールベースAI
第五部 シミュレーションべースAI
第三部 タスクベースAI
タスクベース意思決定
Task-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
タスク(=仕事)を単位として構築する方法
タスク(=仕事)の表現は様々なだが、具体的な
仕事の内容を示したものでなければならない。
(単純な場合)
初期状態 ゴールTask1
Carry A to Ground
Task2
Carry B to Ground
Task3
Carry C on B
A
B
C
B
C
AA
B
C A BC A
C
B
Task3
Carry A on C
「階層型タスクネットワーク」
これから一番有望なアルゴリズム
赤、青、緑の宝石を集めて回復薬を作って、
友軍に届ける、というキャラクターAIを考えます。
宝石を魔法の袋にある規則で入れると回復薬ができます。
回復薬を作る方法
• 赤、青、緑を一色づつ集める。
• 緑、赤、緑の順番に集める。
• 青二つと赤一つ。ただし、赤の前に青を集め
ないといけない。
メソッド
(=タスクの分解の仕方)
回復薬を作る
(タスク)
回復薬を運ぶ
(タスク)
回復薬を届ける
(タスク)
メソッド
(=タスクの分解の仕方)
袋入
れる
ブランチ
全色集める
ブランチ
赤と青を集める
ブランチ
赤と緑を集める
青拾う
赤拾う
緑拾う
袋入
れる
緑拾う 緑拾う
袋入
れる
赤拾う 青拾う
赤拾う青拾う
順序なしタスク
全順序タスク
局所的順序タスク
全色広場にある 広場には赤と緑の宝石がある 赤と青の宝石がある
原初タスク
回復薬を作る
(タスク)
前提条件
メソッド
(=タスクの分解の仕方)
回復薬を作る
(タスク)
回復薬を運ぶ
(タスク)
回復薬を届ける
(タスク)
回復薬を運ぶ
• 場所を持ってきて、荷物を載せて、戦場へ運ぶ。
• 荷物に載せるには、宝箱に入れて載せる必要がある。
• 宝箱には札をつけておく必要がある。
http://illustcut.com/?p=2278
メソッドメソッド
馬車に
載せる
馬車を呼ぶ
戦場まで行
く
荷を載せる
宝箱に
札をつける
宝箱に
入れる
順序なしタスク
全順序タスク
局所的順序タスク
馬車を持っている
原初タスク
回復薬を運ぶ
(タスク)
前提条件
荷を載せる
馬車が近くにある
局所的順序タスク
袋入
れる
回復薬を届ける
(ドメイン)
ブランチ
全色集める
ブランチ
赤と青を集める
ブランチ
赤と緑を集める
青拾う
赤拾う
緑拾う
袋入
れる
緑拾う 緑拾う
袋入
れる
赤拾う 青拾う
赤拾う青拾う
順序なしタスク
全順序タスク
局所的順序タスク
全色広場にある 広場には赤と緑の宝石がある 赤と青の宝石がある
原初タスク
回復薬を作る
(タスク)
タスクネットワーク
袋入
れる
青拾う
赤拾う青拾う
スタート
馬車
を
呼ぶ
戦場
まで
行く
ゴール
馬車
に載
せる
宝箱
に札を
つける
宝箱
に入
れる
赤、青、緑の宝石を集めて回復薬を作って、
友軍に届ける、というキャラクターAIを考えます。
宝石を魔法の袋にある規則で入れると回復薬ができます。
Scope : movie
Game AI Conference, Paris, June 2009
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Architecture
Game AI Conference, Paris, June 2009
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Scope
Game AI Conference, Paris, June 2009
Killzone 2 / PS3
• Max 32 players
• Team-based game modes
• Multiple game modes on one map
• Players unlock / mix “badge abilities”
• Offline (1 human player & bots)
• Online (human players & bots)
On the AI Strategy for KILLZONE 2′s Multiplayer
Bots
http://aigamedev.com/open/coverage/killzone2/
Scope
Game AI Conference, Paris, June 2009
Badges
• Scout: Cloak, Spot-and-Mark
• Tactician: Spawn Area, Air Support
• Assault: Boost
• Engineer: Sentry Turret, Repair
• Medic: Heal, Med packs
• Saboteur: Disguise, C4
On the AI Strategy for KILLZONE 2′s Multiplayer
Bots
http://aigamedev.com/open/coverage/killzone2/
Killzone 2 AI (マルチプレイヤーモード)
(1) Killzone 2 のAI思考
(2) Killzone 2 のマップ自動解析
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Killzone 2 Screen
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
司令官のAI
部隊長のAI
兵
士
の
AI
兵
士
の
AI
兵
士
の
AI
部隊長のAI
兵
士
の
AI
兵
士
の
AI
兵
士
の
AI
部隊長のAI
兵
士
の
AI
兵
士
の
AI
兵
士
の
AI
防衛、前進など戦術を指示
戦術の成功・失敗を報告
(フィードバック)
移動地点を指示
ターゲット指示
指示の再発行要求
指示の再発行要求
「Killzone 2」におけるチームの構造図と
コミュニケーション・パス
司令官のAI
部隊長のAI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
部隊長のAI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
各
メ
ン
バ
|
の
AI
部隊長のAI
各
メ
ン
バ
|
の
A
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
防衛、前進など戦術を指示
戦術の成功・失敗を報告
(フィードバック)
移動地点を指示
ターゲット指示
指示の再発行要求
指示の再発行要求
Individual AI
Game AI Conference, Paris, June 2009
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
各メンバーのエージェント・アーキテクチャ
上からの
命令
メッセージ
情報
統合
World
State
HTN
プランナー
計画
タスク
実行機
コントローラー
インプット
知能内部
感覚刺激
認識
脅威
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
対象・
現象
情報の流れ(インフォメーション・フロー)
影響を与える影響を受ける
各メンバーのエージェント・アーキテクチャ
上からの
命令
メッセージ
情報
統合
World
State
HTN
プランナー
計画
タスク
実行機
コントローラー
インプット
知能内部
感覚刺激
認識
脅威
Squad AI
Game AI Conference, Paris, June 2009 On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Squad AI
Game AI Conference, Paris, June 2009 On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Search & Destroy: Defending (2)
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Search & Destroy: Defending (3)
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
部隊長のエージェント・アーキテクチャ
司令官から
の命令
各兵士から
の報告
情報
統合
World
State
HTN
プランナー
計画
タスク
実行機
各メンバー
への命令
知能内部
メモリ領域
実行モジュール
銃で攻撃 ロケットで攻撃
銃で攻撃
ロケットで
攻撃
敵がヒューマノイド
射程距離内
敵はヒューマノイドでも砲台でもない
射程距離内
武器を選択して攻撃
(タスク)
装填
攻撃
終了
装填
攻撃
終了
… 前進
なし
拠点を防衛するように命令する
(タスク)
それまでのメンバーデータを消去
新しくメンバーの状況を収集
命令発行シークエンス起動
(これまでの行動を停止せよ)
前進命令を発行
到着したら停止命令
拠点を防衛せよ
かがみながら近づく
行動する (タスク)
治療プランスタート
治療を周囲に通達
車
防御
ターゲットを選択
治療器具を使用する
徒歩前進
治療
行動
中止 継続 開始
治療
器具変更なし 器具変更あり
メソッド適用
メソッド適用
メソッド適用
メソッド適用
HTN (Hierarchical Task Network)
Precondition
Task
Precondition
Task
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
HTN (Hierarchical Task Network)
各AIの思考 On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
TaskList
TaskList
分岐リスト
分岐リスト
分岐(Branch)
分岐(Branch)
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Strategic Graph
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Strategic Graph
WHY?
Support runtime strategic decision making algorithms.
Help interpret the manual annotations dynamically.
WHAT?
Set of areas created as groups of waypoints.
High-level graph based on the low-level waypoint network.
HOW?
Automatic area generation algorithm done at export time.
On the AI Strategy for KILLZONE 2′s Multiplayer
Bots
http://aigamedev.com/open/coverage/killzone2
/
Waypoint Network
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Waypoint Areas
Strategic Graph
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Strategic Graph
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Influence Map
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Assassination: Defenders
Assassination: Attack Wave 1
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Assassination: Attack Wave 2
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Strategic Pathfinding Costs
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Strategic Pathfinder
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Strategic Pathfinder
Paris Game AI Conference, 2009.
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
ワークショップ5
タスクベースでキャラクターAIを作ってみよう!
コンテンツ
第一部 前回までの復習
第二部 メタAI
第三部 タスクベースAI
第四部 ゴールベースAI
第五部 シミュレーションべースAI
第四部 ゴールベースAI
ゴールベース意思決定
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つのゴールベース
ゴールベース
連鎖プランニング
階層型ゴール
プランニング
ゴールベースAI
連鎖プランニング
階層型ゴールプラン二ング
Goal-based decision making
階層型ゴール指向型プランニングとは?
一つのゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
ゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
Goal
Goal
Goal Goal Goal
映画を見たい
映画館に行く
映画を見る
映画館は新宿だ
映画館まで歩く
新宿駅に行く
晴れなら 新宿駅へ歩く
雨なら 電車で新宿へ
駅まで歩く
電車に乗る
ゴール指向型プランニングの考え方
パスに沿って
移動する
通信塔を
見つける
パスを見つける通信塔
へ行く
通信塔
を占拠
通信塔を
占領する
撃つ
歩く
止まる
通信塔の
周囲に
10秒間いる
戦術、振る舞い 操作 ハウンズ
ロボット
身体
クロムハウンズにおける
ゴール指向型プランニング
クロムハウンズにおける
リアルタイムゴール指向型プランニング
通信塔を
占領する
Seek
Shot
Walk
Stop
戦略 戦術、振る舞い 操作 ハウンズ
敵が
来
た!
パスに沿って
移動する
通信塔を
見つける
パスを見つける
通信塔
へ行く
通信塔
を占拠
通信塔の
周囲に
10秒間いる
敵と戦う
撃つ
歩く
止まる
ロボット
身体
クロムハウンズにおける
ゴール指向型プランニング
パスに沿って
移動する
通信塔を
見つける
パスを見つける通信塔
へ行く
通信塔
を占拠
通信塔を
占領する
撃つ
歩く
止まる
通信塔の
周囲に
10秒間いる
戦術、振る舞い 操作 ハウンズ
ロボット
身体
• http://www.nicovideo.jp/watch/1306134962/
videoExplorer
• こちらでクロムハウンズのゴール指向の動画
が見れます。
• 解説はこちらにあります。
• 「クロムハウンズにおける人工知能開発から
見るゲームAIの展望」
• https://cedil.cesa.or.jp/cedil_sessions/view/50
クロムハウンズにおける
ゴール指向型プランニング
ゴール指向型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 … 終了処理
(関数の内容を全てスクリプトで記述)
プログラマーのための実装工程
インスタンス
インスタンスO‘Reilly Japan, Inc. 実例で学ぶゲームAIプログラミング
https://www.oreilly.co.jp/books/9784873113395/
最終的なゴール総合図
歩く 撃つ 止まる
2点間を
移動
歩く、一度
止まる、歩く
攻撃
する
パスを
たどる
敵を叩く 味方を
守る
操作層
振る舞い層
戦術層
戦略層
通信塔
占拠
静止
する
ある地点へ
行く
本拠地
防衛
敵本拠地
破壊
味方を
助ける
巡回
する
敵基地
偵察
近付く
合流
する
巡回
する
逃げる
後退
する
前進
する
敵側面
へ移動
ゴールベース意思決定
連鎖プランニング
階層型プラン二ング
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が
死んでいる
攻撃
武器が装填
されている
武器が装填
されている
装填する
武器を
持っている
武器を
持っている
武器を拾う
条件なし
プラナー
プランニング
ワークショップ6
ゴールベースでキャラクターAIを作ってみよう!
グループ1
グループ2
グループ3
コンテンツ
第一部 前回までの復習
第二部 メタAI
第三部 タスクベースAI
第四部 ゴールベースAI
第五部 シミュレーションべースAI
第五部 シミュレーションベースAI
シミュレーションベース意思決定
Simulation-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
シミュレーション・ベース
• シミュレーションは、ここではエージェントの想
像のこと。
• 問題を定式化できない場合、実際に頭の中
で動かしてみることを意味する。
• ゲームの場合は、実際にゲームのルール・原
理に従って運動させてみる。
シミュレーション・ベース
※イメージです。
要所、要所のシミュレーション結果を実際の世界の状況と比較して、
フィードバックをかける。
シミュレーション・ベース
ジャンプするシミュレーションを行うことで、成功するジャンプを見出して実行する。
Warfarmeにおける壁面移動
Daniel Brewer, “The Living AI in Warframe’s Procedural Space Ships” (Game AI Conference 2014) ※登録が必要なサイトです
http://archives.nucl.ai/recording/the-living-ai-in-warframes-procedural-space-ships/
プレイヤー
AI
プレイヤーが「ジャンプ・壁面走り・ジャンプ」したデータから
学習して、AIがそのデータをもとに同じ動きをする。
ジャンプ 壁面走り
ジャンプ
シミュレーション・ベース
加速・減速など自由な軌道を描けるAIが、複雑な地形を通過するときに、
複数の運動シミュレーションを走らすことで、もっともエレガントな軌道を見出す。
Armored Core V における空中移動
岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
START GOAL
Armored Core V における空中移動
岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
START GOAL
Armored Core V における空中移動
岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
START GOAL
動的計画法によるパス検索
ALPHA GO 解説
モンテカルロ木探索法(解説)
コンピュータ囲碁におけるモンテカルロ法
理論編 美添一樹
http://minerva.cs.uec.ac.jp/~ito/entcog/content
s/lecture/date/5-yoshizoe.pdf
ゲームツリー
• チェスとか(b 35; d 80)
• Go (b 250; d 150) ,
ゲームツリー
• チェスとか(b 35; d 80)
• Go (b 250; d 150) ,
評価関数による
盤面評価
Mastering the game of Go with deep neural networks and tree search
David Silver,Aja Huang,Chris J. Maddison,Arthur Guez,Laurent
Sifre,George van den Driessche,Julian Schrittwieser,Ioannis
Antonoglou,Veda Panneershelvam,Marc Lanctot, Sander
Dieleman,Dominik Grewe,John Nham,Nal Kalchbrenner,
Ilya Sutskever,Timothy Lillicrap,Madeleine Leach,Koray
Kavukcuoglu,Thore Graepel& Demis Hassabis
Nature 529, 484–489 (28 January 2016) doi:10.1038/nature16961
ゲームツリー
• チェスとか(b 35; d 80)
• Go (b 250; d 150) ,
評価関数による
盤面評価
depth
(d)
breadth
(b)
ポリシーネットワーク
盤面の状態
19x19の
確率分布
この盤面は、0.8で白が
いいです。
ここに45%の確率で
打つべき
バリューネットワーク
盤面の状態
一つの
評価値
ここに35%の確率で
打つべき
この二つのニューラルネットワークを作りましょう。
Mastering the game of Go with deep neural networks and tree search
David Silver,Aja Huang,Chris J. Maddison, Arthur Guez,Laurent Sifre,George van den Driessche,Julian Schrittwieser,Ioannis Antonoglou,Veda Panneershelvam,Marc Lanctot, Sander
Dieleman,Dominik Grewe,John Nham,Nal Kalchbrenner, Ilya Sutskever,Timothy Lillicrap,Madeleine Leach,Koray Kavukcuoglu,Thore Graepel& Demis Hassabis
Nature 529, 484–489 (28 January 2016) doi:10.1038/nature16961
ポリシーネットワーク
盤面の状態
19x19の
確率分布
この盤面は、0.8で白が
いいです。
ここに45%の確率で
打つべき
バリューネットワーク
盤面の状態
一つの
評価値
ここに35%の確率で
打つべき
ポリシーネットワークはモンテカルロ木探索でロールアウト(プレイ
アウト)を行う時に使います。盤面を入れると、このあたりが良い、
という確率分布を与えてくれるので、
この確率でプレイアウトを行います。つまり乱数の代わりです。
ポリシーネットワーク
盤面の状態
19x19の
確率分布
この盤面は、0.8で白が
いいです。
ここに45%の確率で
打つべき
バリューネットワーク
盤面の状態
一つの
評価値
ここに35%の確率で
打つべき
バリューネットワークが盤面の「評価関数」です。
盤面を入れると、一つの評価値を返してくれます。
ただ関数ではなくニューラルネットワークなので、
バリューネットワークと呼ばれます。
ポリシーネットワーク
盤面の状態
19x19の
確率分布
バリューネットワーク
盤面の状態
一つの
評価値
ディープニューラルネットワークなので、実際はこういう形をしています。
入力は盤面の状態です。
Mastering the game of Go with deep neural networks and tree search
David Silver,Aja Huang,Chris J. Maddison, Arthur Guez,Laurent Sifre,George van den Driessche,Julian Schrittwieser,Ioannis Antonoglou,Veda Panneershelvam,Marc Lanctot, Sander
Dieleman,Dominik Grewe,John Nham,Nal Kalchbrenner, Ilya Sutskever,Timothy Lillicrap,Madeleine Leach,Koray Kavukcuoglu,Thore Graepel& Demis Hassabis
Nature 529, 484–489 (28 January 2016) doi:10.1038/nature16961
ロールアウト用
ポリシー
ネットワーク
教師学習する
ポリシー
ネットワーク
学習 教師あり学習
プロの棋譜
プロの棋譜を再現するように学習
強化学習する
ポリシー
ネットワーク
バリュー
ネットワーク
学習
自分同士でプレイ
&強化学習
ポリシーネットワーク
同士のプレイ
自己対戦による学習
初期状態として教師学習した
ポリシーネットワークを使う
AlphaGo のシステム
• 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
David Silver,Aja Huang,Chris J. Maddison, Arthur Guez,Laurent Sifre,George van den Driessche,Julian Schrittwieser,Ioannis Antonoglou,Veda Panneershelvam,Marc Lanctot, Sander
Dieleman,Dominik Grewe,John Nham,Nal Kalchbrenner, Ilya Sutskever,Timothy Lillicrap,Madeleine Leach,Koray Kavukcuoglu,Thore Graepel& Demis Hassabis
Nature 529, 484–489 (28 January 2016) doi:10.1038/nature16961
Mastering the game of Go with deep neural networks and tree search
David Silver,Aja Huang,Chris J. Maddison, Arthur Guez,Laurent Sifre,George van den Driessche,Julian Schrittwieser,Ioannis Antonoglou,Veda Panneershelvam,Marc Lanctot, Sander
Dieleman,Dominik Grewe,John Nham,Nal Kalchbrenner, Ilya Sutskever,Timothy Lillicrap,Madeleine Leach,Koray Kavukcuoglu,Thore Graepel& Demis Hassabis
Nature 529, 484–489 (28 January 2016) doi:10.1038/nature16961
バリューネットワーク
バリューネットワーク
の評価値
ロールアウトからの
評価値
ポリシーネットワーク シミュレーションの比重
ワークショップ8
シミュレーションベースでキャラクターAIを作ってみよう!

More Related Content

What's hot

テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
 
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン)  【ビヘイビアツリー解説】Halo2 におけるHFSM(階層型有限状態マシン)  【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Youichiro Miyake
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
 
ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)
Youichiro Miyake
 
ゲームAI入門(前半)
ゲームAI入門(前半)ゲームAI入門(前半)
ゲームAI入門(前半)
Youichiro Miyake
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
Satoshi Kodaira
 
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
dena_genom
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
Unity Technologies Japan K.K.
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門Toru Matsuoka
 
IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門
Masahito Zembutsu
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
SEGADevTech
 
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow) UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
 
F.E.A.Rにおけるゴール指向プランニング
F.E.A.Rにおけるゴール指向プランニングF.E.A.Rにおけるゴール指向プランニング
F.E.A.Rにおけるゴール指向プランニング
Youichiro Miyake
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
Masanori Kado
 

What's hot (20)

テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン)  【ビヘイビアツリー解説】Halo2 におけるHFSM(階層型有限状態マシン)  【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)
 
ゲームAI入門(前半)
ゲームAI入門(前半)ゲームAI入門(前半)
ゲームAI入門(前半)
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
 
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門
 
IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
 
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow) UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
F.E.A.Rにおけるゴール指向プランニング
F.E.A.Rにおけるゴール指向プランニングF.E.A.Rにおけるゴール指向プランニング
F.E.A.Rにおけるゴール指向プランニング
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
 

Similar to ゲームAI製作のためのワークショップ(III)

シンギュラリティ大学 x SONY x WBA若手の会 講演資料
シンギュラリティ大学 x SONY x WBA若手の会 講演資料シンギュラリティ大学 x SONY x WBA若手の会 講演資料
シンギュラリティ大学 x SONY x WBA若手の会 講演資料
Youichiro Miyake
 
Kakexun「宇宙は数字のロックンロール」第2回講演「」
Kakexun「宇宙は数字のロックンロール」第2回講演「」Kakexun「宇宙は数字のロックンロール」第2回講演「」
Kakexun「宇宙は数字のロックンロール」第2回講演「」
Youichiro Miyake
 
KAKEXUN 「宇宙は数字のロックンロール」 第2回講演 「知能という宇宙へ」
KAKEXUN 「宇宙は数字のロックンロール」 第2回講演 「知能という宇宙へ」KAKEXUN 「宇宙は数字のロックンロール」 第2回講演 「知能という宇宙へ」
KAKEXUN 「宇宙は数字のロックンロール」 第2回講演 「知能という宇宙へ」
Youichiro Miyake
 
ゲームAIから見るAIの歴史
ゲームAIから見るAIの歴史ゲームAIから見るAIの歴史
ゲームAIから見るAIの歴史
Youichiro Miyake
 
人工知能とゲーム(前篇)
人工知能とゲーム(前篇)人工知能とゲーム(前篇)
人工知能とゲーム(前篇)
Youichiro Miyake
 
機能としての人工知能、存在としての人工知能(前編)
機能としての人工知能、存在としての人工知能(前編)機能としての人工知能、存在としての人工知能(前編)
機能としての人工知能、存在としての人工知能(前編)
Youichiro Miyake
 
デジタルゲームにおける 人工知能のワークフローと導入フロー
デジタルゲームにおける人工知能のワークフローと導入フローデジタルゲームにおける人工知能のワークフローと導入フロー
デジタルゲームにおける 人工知能のワークフローと導入フロー
Youichiro Miyake
 
物語自動生成
物語自動生成物語自動生成
物語自動生成
Youichiro Miyake
 

Similar to ゲームAI製作のためのワークショップ(III) (8)

シンギュラリティ大学 x SONY x WBA若手の会 講演資料
シンギュラリティ大学 x SONY x WBA若手の会 講演資料シンギュラリティ大学 x SONY x WBA若手の会 講演資料
シンギュラリティ大学 x SONY x WBA若手の会 講演資料
 
Kakexun「宇宙は数字のロックンロール」第2回講演「」
Kakexun「宇宙は数字のロックンロール」第2回講演「」Kakexun「宇宙は数字のロックンロール」第2回講演「」
Kakexun「宇宙は数字のロックンロール」第2回講演「」
 
KAKEXUN 「宇宙は数字のロックンロール」 第2回講演 「知能という宇宙へ」
KAKEXUN 「宇宙は数字のロックンロール」 第2回講演 「知能という宇宙へ」KAKEXUN 「宇宙は数字のロックンロール」 第2回講演 「知能という宇宙へ」
KAKEXUN 「宇宙は数字のロックンロール」 第2回講演 「知能という宇宙へ」
 
ゲームAIから見るAIの歴史
ゲームAIから見るAIの歴史ゲームAIから見るAIの歴史
ゲームAIから見るAIの歴史
 
人工知能とゲーム(前篇)
人工知能とゲーム(前篇)人工知能とゲーム(前篇)
人工知能とゲーム(前篇)
 
機能としての人工知能、存在としての人工知能(前編)
機能としての人工知能、存在としての人工知能(前編)機能としての人工知能、存在としての人工知能(前編)
機能としての人工知能、存在としての人工知能(前編)
 
デジタルゲームにおける 人工知能のワークフローと導入フロー
デジタルゲームにおける人工知能のワークフローと導入フローデジタルゲームにおける人工知能のワークフローと導入フロー
デジタルゲームにおける 人工知能のワークフローと導入フロー
 
物語自動生成
物語自動生成物語自動生成
物語自動生成
 

More from 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
 
人工知能と未来
人工知能と未来人工知能と未来
人工知能と未来
Youichiro Miyake
 
人工知能と社会
人工知能と社会人工知能と社会
人工知能と社会
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
 
人工知能とDX
人工知能とDX人工知能とDX
人工知能とDX
Youichiro Miyake
 
人工知能と哲学
人工知能と哲学人工知能と哲学
人工知能と哲学
Youichiro Miyake
 
人工知能とビジネス
人工知能とビジネス人工知能とビジネス
人工知能とビジネス
Youichiro Miyake
 
人工知能とは何か?
人工知能とは何か?人工知能とは何か?
人工知能とは何か?
Youichiro Miyake
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術
Youichiro Miyake
 

More from 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製作のためのワークショップ(III)