Upload
youichiro-miyake
View
649
Download
1
Embed Size (px)
Citation preview
IGDA日本 SIG-AI 代表
三宅陽一郎 @miyayou
https://www.facebook.com/youichiro.miyake [email protected]
4月2日(土) GDC 2016 報告会
人工知能の行方 -ゲームエンジンとVRの間で-
本日のご報告 • 第一部 大型AI事例集 - THE DIVISION AI - DRAGON AGE : INQUISITION AI - FALLOUT 4 LEVEL DESIGN - TOTAL WAR: WARHAMMER AI - ASSASSIN’S CREED SYNDICATE : Vehicle - THE WITCHER 3 会話 - FOR HONOR : MOTION GRAPH • 第二部 データ解析 - HALO5 - UBI ENGINE - INSOMNIAC • 第三部 VR • 第四部 その他テクニック - RAINWORLD におけるアニメーションの作り方 - EVE ONLINE 音楽自動生成 - Tomb Raider のパーカッションの自動生成 - 音楽ドリブンなゲームの作り方 - 四足方向動物のナビゲーション - 四足動物のアニメーションの作り方 - Eidos-Montreal の Narrative-Driven Experiences の作り方(ツール解析) - キャラクターにシンパシーを抱かせる方法 - Meta planning - Narrative mapping - CITY ENGINE - VR 対応 - FORTNITE – Tactical Point System
AI GUILD PARTY (毎年、初日前の日曜日にやってます)
• AI Programmers Guild
• http://www.gameai.com/
https://www.facebook.com/neil.kirby.507?fref=ts
三宅部屋のみ(毎日)
• 今回は総勢130名。
GDC AWARD で上映された岩田聡さん追悼ムービー。この後、会場はオール・スタンディングの拍手でした。 GDC公式 youtube https://www.youtube.com/watch?v=9YG9INjO91Y これは岩田さんが『バルーンファイト』のメインプログラマだったことを、 基調としているのですね。
GDC BOOK STORE REPORT
なぜか日本のイラスト本が大流行。完売。
=マニアっぽいものほど良い。
日本のイラストレーションンの本がたくさん置かれていた。大人気。
本日のご報告 • 第一部 大型AI事例集 - THE DIVISION AI - DRAGON AGE : INQUISITION AI - FALLOUT 4 LEVEL DESIGN - TOTAL WAR: WARHAMMER AI - ASSASSIN’S CREED SYNDICATE : Vehicle - THE WITCHER 3 会話 - FOR HONOR : MOTION GRAPH • 第二部 データ解析 - HALO5 - UBI ENGINE - INSOMNIAC • 第三部 VR • 第四部 その他テクニック - RAINWORLD におけるアニメーションの作り方 - EVE ONLINE 音楽自動生成 - Tomb Raider のパーカッションの自動生成 - 音楽ドリブンなゲームの作り方 - 四足方向動物のナビゲーション - 四足動物のアニメーションの作り方 - Eidos-Montreal の Narrative-Driven Experiences の作り方(ツール解析) - キャラクターにシンパシーを抱かせる方法 - Meta planning - Narrative mapping - CITY ENGINE - VR 対応 - FORTNITE – Tactical Point System
次の二つは他の方と以下の 記事があるので省略します。
(記事になっていないものをお届け)
• The Witcher3 の会話システム
(RED ENGINE) http://game.watch.impress.co.jp/docs/news/20160320_749169.html
• FOR HONOR のアニメーションシステム
(AnvilNext 2.0 game engine) http://game.watch.impress.co.jp/docs/news/20160319_749136.html
次の二つは他の方と以下の 記事があるので省略します。
(記事になっていないものをお届け)
• The Witcher3 の会話システム
(RED ENGINE) http://game.watch.impress.co.jp/docs/news/20160320_749169.html
• FOR HONOR のアニメーションシステム
(AnvilNext 2.0 game engine) http://game.watch.impress.co.jp/docs/news/20160319_749136.html
昨年のGDC2015を思い出しましょう
AI/プロシージャル技術は ゲームエンジンや基礎システムに
現代のゲームエンジン群 • EA Frostbite • Ubi Dunia Engine/ ArtFramework • Naughty Dog Engine • RED Engine (CDProjekt) • Unity Framework • Unreal Engine 4
- 学習や自然言語処理の応用を期待 → 殆どない - これまで技術がゲームエンジンや基礎システムにきちんと入る
2015年のGDCのAIの特徴
応用事例 • Tomb Raider (GOAP) • Watch Dogs • Assassin’s Creed Unity • Sunset Overdrive • FARCRY4 • Eldritch
GDC 2015 AI +エンジン事例 • アサシンズクリード・ユニティのオンラインにおけるAI
• Naughty Dog Engine
• FARCRY4 のプロシージャル技術
• DUNIA ENGINE のパイプライン
• ENDRICH のプロシージャル技術
• JPS高速化アルゴリズム
• Guild War の Utility システム
• Watch Dogs のキャラクター制御
• Unreal Engine 4 KITE におけるAI
• Tomb Raider の Goal-Oriented Action Planning (GOAP)
GDC 2015 AI +エンジン事例 • アサシンズクリード・ユニティのオンラインにおけるAI
• Naughty Dog Engine
• FARCRY4 のプロシージャル技術
• DUNIA ENGINE のパイプライン
• ENDRICH のプロシージャル技術
• JPS高速化アルゴリズム
• Guild War の Utility システム
• Watch Dogs のキャラクター制御
• Unreal Engine 4 KITE におけるAI
• Tomb Raider の Goal-Oriented Action Planning (GOAP)
本講演で取り上げるテーマ
ゲームエンジンが熱かった。
しかし、今年は企業オリジナルの ゲームエンジンのセッションは ほとんどない。
The DIVISION (snow drop engine)
名前だけ出して解説終了。 ゲームの解説がメイン。
Dragon Age : Inquisition (frostbite engine)
名前だけ出して解説終了。 ゲームの解説がメイン。
GDCにおけるゲームエンジン一覧 タイトル ゲームエンジン名 会社
THE DIVISION snow drop engine ubi (massive)
Assassin’s creed: syndicate AnvilNext 2.0 game engine ubi (montreal)
For Honor AnvilNext 2.0 game engine ubi (montreal)
Rise of Tomb Raider Foundation engine Crystal Dynamics
The Witcher 3 RED ENGINE CD PROJEKT
Dragon Age : Inquisition frostbite engine EA DICE
ゲームエンジン名 会社
Lumberyard Amazon
Stingray Autodesk
ゲームエンジン名
Unreal Engine 4 EPIC GAMES
Unity 3D UNITY
CryEngine Crytek
Orochi 4 Silicon studio
商業 ゲームエンジン
新世代 ゲームエンジン
各エンジンのサイト
• EA Frostbite Engine http://www.frostbite.com/topics/publications/ • Unreal Engine 4 https://www.unrealengine.com/ja/blog/gdc-2016-a-glimpse-at-the-real-time-future
• Ubi gdc blog http://blog.ubi.com/ubisoft-gdc-2016/ • Autodesk GDC http://area.autodesk.com/gdc2016 • Unity GDC https://unity3d.com/jp/events/gdc-2016
セッション全体の動向①
• 今年は企業のオリジナルエンジンの話はほとんどない。
• エンジンの上にどのようなタイトルをつくっているか、が話題のメイン。
• 市販のエンジンは堅実に成長(めざましい)。
• Lumberyard は新世代エンジン。開発の意図
が全くこれまでと違う。バックエンドを使わせるためのゲームエンジン。Expo などで出展。
今年は ubi のセッションがとても充実していた。質が高い。
セッション全体の動向②
THE DIVISION
The Division’s AI
snow drop engine を使用。
The Division’s AI
周囲検出システムとコンバットシステム
The Division’s AI
意思決定の序列。
The Division’s AI
隠れるポイントはあらかじめあり、それを評価します。
The Division’s AI
隠れるポイントは高さ、深さ、コーナーかそうでないか、 という属性があります。
The Division’s AI
調査フェーズ
NPCは最後に見たプレイヤーの位置を覚えている。
The Division’s AI
The Division’s AI
周囲の状況から脅威を計算する
The Division’s AI
AIをレベルから制御するスクリプト
AIをレベルから制御するスクリプト:具体的な命令
The Division’s AI
AIをレベルから制御するスクリプト:具体的な命令
The Division’s AI
レベルからの命令:NPCへの命令
そのポイントへ行け
エージェントへ行け
カバーを取れ
エージェントを追尾せよ
ポジションを狙え
ポジションを撃て
スキルをつかえ
The Division’s AI
視覚のシミュレーション=コーンで行う
Behavior Tree… でも右から左に読みます。
The Division’s AI
ビヘイビアベース意思決定 ビヘイビアツリー入門
Behavior-based decision making
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なうち、 最も優先度の高いノードを実行する
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なノードを 順番に実行する。
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なノードを ランダムに一つ実行する。
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系 プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ ランダム
プライオリティ
ランダム
ビヘイビア (末端ノード)
層
層
選択ルール
選択ルール
Behavior Tree… でも右から左に読みます。
The Division’s AI
Visual Scripting。ノードグラフを書きます。 デザイナーがエンジニアの助けなしに書きます。
The Division’s AI
初期の開発は、十分ではなかった。
The Division’s AI
最終的には、こんな形に落ち着きました。共有ノード、 一部のノードグラフをテンプレート化して再利用。
Behavior Tree。マルチレイヤー構造。
The Division’s AI
テストステージ(サンドボックス)
デバッグ画面。リアルタイムのデバッグできる。
The Division’s AI
この点が一つのノードを経たことを示す。巻き戻し可能。
The Division’s AI
The Division’s Eye Tracking
The Division’s Eye Tracking
アイトラッキングにはいろんな使い方がある。
The Division’s Eye Tracking
アイトラッキングにはいろんな使い方がある。
目でトラッキング。見ている方向に走る。 見ている領域のカバーをハイライト。
The Division’s Eye Tracking
The Division’s Eye Tracking
見ている領域をパン(拡大)する。
The Division’s Eye Tracking
見ている領域をパン(拡大)する。
見ている領域をパン(拡大)する。
The Division’s Eye Tracking
The Division’s Eye Tracking
見ている領域をパン(拡大)する。
見ているターゲットを自動的に中心に合わす。 自然なターゲッティングになる。
The Division’s Eye Tracking
The Division’s Eye Tracking
見ている領域の利用可能な隠れる場所が、 ハイライトされる。
DRAGON AGE’S INQUISITION AI
Frostbite Engine と NavPower
Dragon Age Inquisition AI
ロジックツリー、ビジュアルノードエディター、条件評価式。
Dragon Age Inquisition AI
仲間AIはほぼこのパターンで動く。 ターゲット、能力選択、移動、実行。
Dragon Age Inquisition AI
ツール画面。移動のためのビヘイビアは
Dragon Age Inquisition AI
ビヘイビアを指定する
Dragon Age Inquisition AI
オープンワールドでAIを制限する仕組み。 この領域から出ない。前回からの反省。
Dragon Age Inquisition AI
恐怖ゾーンは近づかないようにするゾーン
Dragon Age Inquisition AI
戦闘開始の条件は、厳しく制限。パーティの、AIたちがあまりに アグレッシブにならないように。条件を満たす時だけ戦闘開始。 =プレイヤーが主導権を握るようにしたい。
Dragon Age Inquisition AI
たくさんの特技がある。フィルタリングによる行動選択を行う。 どのようにフィルタリングするかが問題なのだ。
Dragon Age Inquisition AI
2段階の評価の仕組み。各オブションごとに評価式。
Dragon Age Inquisition AI
評価の仕組みも、プランナーがノードグラフで 組むことができる。
Dragon Age Inquisition AI
相対的なスコアリング。反射>サポート>攻撃>基本>受け身な移動、 の順番にスコアが高くなるようにする。
Dragon Age Inquisition AI
う
実行 = ビヘイビア・ツリー
Dragon Age Inquisition AI
シークエンスノード セレクターノード
お
例えば特技のスコアリング結果。スコアと対象。
Dragon Age Inquisition AI
行動=ビヘイビアツリー
Dragon Age Inquisition AI
実行=ビヘイビア・ツリー
Dragon Age Inquisition AI
タスクーノード
タスクーノード =能力発動せよ
移動ノード =その場所へ行け
Behavior Decision System = 能力を追加・削除できる。 スコアリングは順番が変動することを意味する。 既存の機能のライブブラリを活用する。
Dragon Age Inquisition AI
4つの移動方式をスコアリングすることで優先度をつける。
Dragon Age Inquisition AI
プライオリティノード
レべルからの直接的なコマンド (メタAI、演出)
Dragon Age Inquisition AI
レベルからの直接的なコマンド (メタAI、演出)
Dragon Age Inquisition AI
ログ(というかこれでデバッグするのか?)
Dragon Age Inquisition AI
ゲーム開発者生涯賞は、ベセダゲームズのプロデューサー Todd Howard さんです。
FALLOUT 4 MODULAR LEVE DESIGN
• SLIDE へ
• http://www.slideshare.net/JoelBurgess/gdc-2016-modular-level-design-of-fallout-4
TOTAL WAR: WARHAMMER
TOTAL WAR: WARHAMMER
城攻めのAI
TOTAL WAR: WARHAMMER
さまざまなタクティクスがある。
TOTAL WAR: WARHAMMER
バトルAIのアーキテクチャ
TOTAL WAR: WARHAMMER
階層的アーキテクチャ
TOTAL WAR: WARHAMMER
ロジック構造(レベルデザイン)
TOTAL WAR: WARHAMMER
リージョンマップ
TOTAL WAR: WARHAMMER
影響グラフ(影響マップ)
TOTAL WAR: WARHAMMER
フラグを取るか、壁を越えるか、二つを並行に行う。
TOTAL WAR: WARHAMMER
城の領域を認識します。
TOTAL WAR: WARHAMMER
陣営の場所は緑色です。
TOTAL WAR: WARHAMMER
直線を伸ばして接点を取ります。
TOTAL WAR: WARHAMMER
TOTAL WAR: WARHAMMER
接点の属性(高さとか)を取ります。
TOTAL WAR: WARHAMMER
ステートの遷移。
TOTAL WAR: WARHAMMER
Grand Analyzer が目的を決める。 Grand Analyzer は、TOTAL WAR の伝統的な、 グローバルな状況を解析してターゲットを決めるシステムです。
TOTAL WAR: WARHAMMER
壁を壊す行動。タスク・シークエンス。
TOTAL WAR: WARHAMMER
エントリーポイントにキューを積む。
TOTAL WAR: WARHAMMER
戦術を予約する。
TOTAL WAR: WARHAMMER
はしごを使うまでの行動シークエンス。
TOTAL WAR: WARHAMMER
壁をタワードッキングで超える行動シークエンス。
TOTAL WAR: WARHAMMER
配置を予約。
TOTAL WAR: WARHAMMER
毎週1時間、職種を交えてミーティング。
ASSASSIN'S CREED VEHICLE
Assassin's Creed Vehicle
本講演の題目。
Assassin's Creed Vehicle
馬車に乗ったり、降りたり。
Assassin's Creed Vehicle
馬車の上のナビゲーション・メッシュ。
Assassin's Creed Vehicle
斥力を働かす。
Assassin's Creed Vehicle
外周を取って、外周の内側から外へ、外から内側へパスを作る。
WITCHER 3 の会話 http://www.gamebusiness.jp/article/2016/03/30/12156.html http://game.watch.impress.co.jp/docs/news/20160320_749169.html
プレイからカットシーン、シームレスに。
The WITCHER 3 の会話
会話のセリフをノード化(オブジェクト化)してグラフに。
The WITCHER 3 の会話
かなりの量になってしまう。
タイムライン。ここでGUIで長さを調整できる。
The WITCHER 3 の会話
タイムライン。ここでGUIで長さを調整できる。
The WITCHER 3 の会話
タイムライン。ここでGUIで長さを調整できる。
The WITCHER 3 の会話
再生して確認できる。
The WITCHER 3 の会話
タイムライン。ここでGUIで長さを調整できる。
The WITCHER 3 の会話
The WITCHER 3 の会話
タイムライン。ここでGUIで長さを調整できる。
カメラを調整。
The WITCHER 3 の会話
The WITCHER 3 の会話
アニメーションのツリー構造。
アニメーションのツリー構造。
The WITCHER 3 の会話
The WITCHER 3 の会話
LOOK AT のための多層レイヤー制御。
The WITCHER 3 の会話
LOOK AT 確認テスト。
全身で向くモードもある。
総合的に確認。
総合的に確認。
FOR HONOR MOTION GRAPH http://game.watch.impress.co.jp/docs/news/20160319_749136.html
FOR HONOR MOTION GRAPH
https://graphics.cs.wisc.edu/Papers/2002/KGP02/mograph.pdf モーショングラフ。まずたくさんモーション取る。それらが、
どうつながるかは、データを解析して接続するところを自動的に見つける。
FOR HONOR MOTION GRAPH
モーショングラフを使って遷移をマッチする。遷移グラフはいらない。
FOR HONOR MOTION GRAPH
ベクターフィールドなど、ポーズ、速度などを含めて、 高次元で接続する。
初期のコード。
FOR HONOR MOTION GRAPH
トリックの一つは、いくつかのボーンだけでマッチングをする。
FOR HONOR MOTION GRAPH
ポーズと速度でマッチングを取る。開発中に、どこでどのモーション 同士が接続【マッチ】できるかをあらかじめ計算しておく。
FOR HONOR MOTION GRAPH
FOR HONOR MOTION GRAPH
トリックの二つ目は、アニメーションを再生したとき、 そのアニメーションどのような方向、位置に導くかをチェックすること。
FOR HONOR MOTION GRAPH
そうすれば、どれぐらいでどの位置、方向、速度、加速度になるかを、予測できる。 そして、何よりコストとトラジェクトリ(曲線)にモーションをマッチできる。
FOR HONOR MOTION GRAPH
エレガントに遷移を見つける。
FOR HONOR MOTION GRAPH
パイプイン。ゲームプレイからステートマシンが動いて、 姿勢/曲線/イベントのマッチング/アニメーション
FOR HONOR MOTION GRAPH
パイプイン。ゲームプレイからステートマシンが動いて、 姿勢/曲線/イベントのマッチング/アニメーション
FOR HONOR MOTION GRAPH
状況が変化すれば、予定を変えて、その時に応じた モーションを見つけ出す。
FOR HONOR MOTION GRAPH
イベントの要請にも応えなければならない。
FOR HONOR MOTION GRAPH
FOR HONOR MOTION GRAPH
FOR HONOR MOTION GRAPH
結論:データ(モーションたち)をゴールに向かって マッチングする。
本日のご報告 • 第一部 大型AI事例集 - THE DIVISION AI - DRAGON AGE : INQUISITION AI - FALLOUT 4 LEVEL DESIGN - TOTAL WAR: WARHAMMER AI - ASSASSIN’S CREED SYNDICATE : Vehicle - THE WITCHER 3 会話 - FOR HONOR : MOTION GRAPH • 第二部 データ解析 - HALO5 - UBI ENGINE - INSOMNIAC • 第三部 VR • 第四部 その他テクニック - RAINWORLD におけるアニメーションの作り方 - EVE ONLINE 音楽自動生成 - Tomb Raider のパーカッションの自動生成 - 音楽ドリブンなゲームの作り方 - 四足方向動物のナビゲーション - 四足動物のアニメーションの作り方 - Eidos-Montreal の Narrative-Driven Experiences の作り方(ツール解析) - キャラクターにシンパシーを抱かせる方法 - Meta planning - Narrative mapping - CITY ENGINE - VR 対応 - FORTNITE – Tactical Point System
HALO5 データ収集と解析
サービス向上のためにユーザーのデータを収集したい。
理想的なデータ収集・解析の経路
Hadoop / HIVE をバックエンドとして使いたい。
収集の結果。統計。
収集の結果。ユーザーがダウンした場所。
それをヒートマップで表示する。
ヒートマップの数値的な詳細。
UBI DATA ANALYSIS
エンジンの中にゲームを解析するデータ収集機能を作る。
これがそのストリーム。いろんなデータ。
クライアント側の仕様。必要なデータを集める。
こんなデータを集めます。
こんなデータを集めます。
実装例。
パフォーマンス。レインボーシックスでも使用(16Mb)
実装例。
クライアントでない方。受け取り側。
集めたデータの可視化。
可視化ツールは市販で便利なものがある。GearStudio。
可視化ツールは市販で便利なものがある。Kibana。
WEB上でも可視化。
バックエンド。MongoDB。
使用例。
よくなかった点。
良かった点。
INSOMNIAC におけるデータ解析
本日のご報告 • 第一部 大型AI事例集 - THE DIVISION AI - DRAGON AGE : INQUISITION AI - FALLOUT 4 LEVEL DESIGN - TOTAL WAR: WARHAMMER AI - ASSASSIN’S CREED SYNDICATE : Vehicle - THE WITCHER 3 会話 - FOR HONOR : MOTION GRAPH • 第二部 データ解析 - HALO5 - UBI ENGINE - INSOMNIAC • 第三部 VR • 第四部 その他テクニック - RAINWORLD におけるアニメーションの作り方 - EVE ONLINE 音楽自動生成 - Tomb Raider のパーカッションの自動生成 - 音楽ドリブンなゲームの作り方 - 四足方向動物のナビゲーション - 四足動物のアニメーションの作り方 - Eidos-Montreal の Narrative-Driven Experiences の作り方(ツール解析) - キャラクターにシンパシーを抱かせる方法 - Meta planning - Narrative mapping - CITY ENGINE - VR 対応 - FORTNITE – Tactical Point System
VRについて
VR空間と体感距離
VR空間と体感距離
姿勢、視覚、体感実験
オプティカルフロー
VRは認知科学工学の現場
人間 認知科学 VR
VR 開発 = 認知科学というサイエンスを エンジニアリングすること
本日のご報告 • 第一部 大型AI事例集 - THE DIVISION AI - DRAGON AGE : INQUISITION AI - FALLOUT 4 LEVEL DESIGN - TOTAL WAR: WARHAMMER AI - ASSASSIN’S CREED SYNDICATE : Vehicle - THE WITCHER 3 会話 - FOR HONOR : MOTION GRAPH • 第二部 データ解析 - HALO5 - UBI ENGINE - INSOMNIAC • 第三部 VR • 第四部 その他テクニック - RAINWORLD におけるアニメーションの作り方 - EVE ONLINE 音楽自動生成 - Tomb Raider のパーカッションの自動生成 - 音楽ドリブンなゲームの作り方 - 四足方向動物のナビゲーション - 四足動物のアニメーションの作り方 - Eidos-Montreal の Narrative-Driven Experiences の作り方(ツール解析) - キャラクターにシンパシーを抱かせる方法 - Meta planning - Narrative mapping - CITY ENGINE - VR 対応 - FORTNITE – Tactical Point System
RAINWORLD におけるアニメーションの作り方
RAINWORLDとは?
• 動画
• ぐにゃぐにゃの大きな敵
• http://store.steampowered.com/app/312520/?l=japanese
RAINWORLD パス検索を用いたアニメーション
狭い空間で長い足を動かす。
RAINWORLD パス検索を用いたアニメーション
アニメーション=ビヘイビアなモンスター。
RAINWORLD パス検索を用いたアニメーション
ボックスも動く。
RAINWORLD パス検索を用いたアニメーション
足を置きたい。
RAINWORLD パス検索を用いたアニメーション
足をどうやって動かすべき?
ボックスの近くに向けてパス検索。
ボックスの近くに向けてパス検索。
ボックスの近くに向けてパス検索。
RAINWORLD パス検索を用いたアニメーション
ボックス、床の近くに向けてパス検索。
RAINWORLD パス検索を用いたアニメーション
パス検索の結果の経路が足を延ばせる経路。
RAINWORLD パス検索を用いたアニメーション
パス検索の結果の経路が足を延ばせる経路。
RAINWORLD パス検索を用いたアニメーション
パス検索の結果の経路が足を延ばせる経路。
パス検索の結果の経路が足を延ばせる経路。
RAINWORLD パス検索を用いたアニメーション
パス検索の結果の経路が足を延ばせる経路。
RAINWORLD パス検索を用いたアニメーション
結果はこんな感じ。
RAINWORLD パス検索を用いたアニメーション
EVE ONLINE 音楽自動生成
EVE ONLINE 音楽自動生成
音の要素を作って組み合わせる。Wwise とかある。
EVE ONLINE 音楽自動生成
10年間、同じ音楽を聴かせ続けたくない。
いろんなテーマで音楽を変えたいのだ。。
アルゴリズムを使って、楽譜を変形・拡張させる。
Calmus = サーバーにメロディを送ると作曲してくれる。
2000年には自動作曲した曲が受賞した=作曲する人工知能
キャラクターの個性ごとに変えたい。
こんなパラメーターや属性で音楽を変えたい。
TOMB RAIDER のパーカッションの自動生成
状況に応じて、テンポを変えたい。
音楽ステートマシン
階層型音楽ステートマシン
それぞれの状態で定義されているものから自動生成
音楽ドリブンなゲームの作り方
四足方向動物のナビゲーション
パスデータはあっても。。。
四足歩行動物はすぐには曲がれない
パスデータ = 中心と半径のよる表現
四足歩行動物はすぐには曲がれない
Chambolle-Pock アルゴリズム: スムージングに伴う経路からの距離の差を最小化。
Chambolle-Pock アルゴリズム スムージングに伴う経路からの角度の差を最小化。
Chambolle-Pock アルゴリズム スムージングに伴う経路からの角度の差を最小化。
その場のモーション・ブレンディングによる位置と方向の修正。 あらかじめ、どういうブレンドをすればどうなるかを、 計算したテーブルを持っておく。
足あとがどうなっているかという結果。
四足動物のアニメーションの作り方
http://store.steampowered.com/app/318600/?l=japanese
良い四足アニメーションの TIPS
良い四足アニメーションの TIPS
CUSTOM TOOLS THAT POWER EIDOS-MONTREAL'S NARRATIVE-DRIVEN EXPERIENCES
AUTODESKセッション
オブジェクト管理。シナリオ・会話のカードによる管理。
http://www.slideshare.net/UmbraSoftware/gdc16-improving-geometry-culling-for-deus-ex-mankind-divided-by-nicolas-trudel
キャラクターにシンパシーを抱かせる方法
キャラクターを魅力的に見せる方法
キャラクターを魅了的に見せる方法。 @CJKershner さん。 かなり有名な人らしい。
キャラクターを魅力的に見せる方法
META PLANNING
通常のプランニング。
メタプランニング。プランのプラン。プランをいつリプラニングするか。
タイムラインを追いながら、プランを微修正する。
ゲーム画面。
最初の段階で計算すること。
メタプランニングのゲームツリー。
NARRATIVE MAPPING
Narrative Map
ストーリーをイベントのシークエンスと捉える。
Narrative Map
マッピングすればストーリーにリニアー度がわかる。。
Narrative Map
分岐などによる表現。
CITY ENGINE - VR 対応
年代をスライドさせると、その時代の建物になる。
レイアウト、植林。
さらなるプロシージャル。
VR にも対応します。エンジンに組み込まれます。
VR にも対応します。エンジンに組み込まれます。
Google Map を読み込んで街を作れます。
FORTNITE
リアルタイム地形解析を行う。 TPS (tactical point system)システムである。
資料: http://naimadgames.com/publications.html
本日のご報告 • 第一部 大型AI事例集 - THE DIVISION AI - DRAGON AGE : INQUISITION AI - FALLOUT 4 LEVEL DESIGN - TOTAL WAR: WARHAMMER AI - ASSASSIN’S CREED SYNDICATE : Vehicle - THE WITCHER 3 会話 - FOR HONOR : MOTION GRAPH • 第二部 データ解析 - HALO5 - UBI ENGINE - INSOMNIAC • 第三部 VR • 第四部 その他テクニック - RAINWORLD におけるアニメーションの作り方 - EVE ONLINE 音楽自動生成 - Tomb Raider のパーカッションの自動生成 - 音楽ドリブンなゲームの作り方 - 四足方向動物のナビゲーション - 四足動物のアニメーションの作り方 - Eidos-Montreal の Narrative-Driven Experiences の作り方(ツール解析) - キャラクターにシンパシーを抱かせる方法 - Meta planning - Narrative mapping - CITY ENGINE - VR 対応 - FORTNITE – Tactical Point System
第五部 hololens 第六部 Crystal Dynamics 来訪
まとめ
1.ゲームAIの成熟化 大型ゲームへの対応
2.VR空間内におけるAI,アニメーションは、技術理論を再構築する必要がある。
3.ゲームエンジンの最終ブラッシュアップ
フロンティアとしてデータ解析