Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
gree_tech
PDF, PPTX
4,824 views
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
CEDEC 2019 にて発表された資料です https://cedec.cesa.or.jp/2019/session/detail/s5c989964626e1
Engineering
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 148
2
/ 148
3
/ 148
4
/ 148
5
/ 148
6
/ 148
7
/ 148
8
/ 148
9
/ 148
10
/ 148
11
/ 148
12
/ 148
13
/ 148
14
/ 148
15
/ 148
16
/ 148
17
/ 148
18
/ 148
19
/ 148
20
/ 148
21
/ 148
22
/ 148
23
/ 148
24
/ 148
25
/ 148
26
/ 148
27
/ 148
28
/ 148
29
/ 148
30
/ 148
31
/ 148
32
/ 148
33
/ 148
34
/ 148
35
/ 148
36
/ 148
37
/ 148
38
/ 148
39
/ 148
40
/ 148
41
/ 148
42
/ 148
43
/ 148
44
/ 148
45
/ 148
46
/ 148
47
/ 148
48
/ 148
49
/ 148
50
/ 148
51
/ 148
52
/ 148
53
/ 148
54
/ 148
55
/ 148
56
/ 148
57
/ 148
58
/ 148
59
/ 148
60
/ 148
61
/ 148
62
/ 148
63
/ 148
64
/ 148
65
/ 148
66
/ 148
67
/ 148
68
/ 148
69
/ 148
70
/ 148
71
/ 148
72
/ 148
73
/ 148
74
/ 148
75
/ 148
76
/ 148
77
/ 148
78
/ 148
79
/ 148
80
/ 148
81
/ 148
82
/ 148
83
/ 148
84
/ 148
85
/ 148
86
/ 148
87
/ 148
88
/ 148
89
/ 148
90
/ 148
91
/ 148
92
/ 148
93
/ 148
94
/ 148
95
/ 148
96
/ 148
97
/ 148
98
/ 148
99
/ 148
100
/ 148
101
/ 148
102
/ 148
103
/ 148
104
/ 148
105
/ 148
106
/ 148
107
/ 148
108
/ 148
109
/ 148
110
/ 148
111
/ 148
112
/ 148
113
/ 148
114
/ 148
115
/ 148
116
/ 148
117
/ 148
118
/ 148
119
/ 148
120
/ 148
121
/ 148
122
/ 148
123
/ 148
124
/ 148
125
/ 148
126
/ 148
127
/ 148
128
/ 148
129
/ 148
130
/ 148
131
/ 148
132
/ 148
133
/ 148
134
/ 148
135
/ 148
136
/ 148
137
/ 148
138
/ 148
139
/ 148
140
/ 148
141
/ 148
142
/ 148
143
/ 148
144
/ 148
145
/ 148
146
/ 148
147
/ 148
148
/ 148
More Related Content
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
PDF
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
by
NTT DATA Technology & Innovation
PPTX
MLflowで学ぶMLOpsことはじめ
by
Kenichi Sonoda
PDF
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
by
Yoshiki Hayama
PDF
MLflowによる機械学習モデルのライフサイクルの管理
by
Takeshi Yamamuro
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
by
NTT DATA Technology & Innovation
MLflowで学ぶMLOpsことはじめ
by
Kenichi Sonoda
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
by
Yoshiki Hayama
MLflowによる機械学習モデルのライフサイクルの管理
by
Takeshi Yamamuro
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
What's hot
PDF
BlackBox モデルの説明性・解釈性技術の実装
by
Deep Learning Lab(ディープラーニング・ラボ)
PPTX
Product ManagerとProduct Ownerの役割の違いについて
by
Noritaka Shinohara
PPTX
MLOps入門
by
Hiro Mura
PDF
ゲームの仕様書を書こうまとめ
by
Sugimoto Chizuru
PDF
大企業アジャイルの勘所 #devlovex #devlovexd
by
Itsuki Kuroda
PPTX
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
by
Yugo Shimizu
PDF
AWSではじめるMLOps
by
MariOhbuchi
PDF
Amazon SageMaker で始める機械学習
by
Amazon Web Services Japan
PPTX
論文の書き方入門 2017
by
Hironori Washizaki
PDF
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
PDF
AIによるアニメ生成の挑戦
by
Koichi Hamada
PPTX
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
PDF
物体検出コンペティションOpen Imagesに挑む
by
Hiroto Honda
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
by
Takuto Wada
PDF
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
by
NTT DATA Technology & Innovation
PDF
UnityとROSの連携について
by
UnityTechnologiesJapan002
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
by
Hironori Washizaki
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PDF
徹底解説 Unity Reflect【概要編 ver2.0】
by
Unity Technologies Japan K.K.
BlackBox モデルの説明性・解釈性技術の実装
by
Deep Learning Lab(ディープラーニング・ラボ)
Product ManagerとProduct Ownerの役割の違いについて
by
Noritaka Shinohara
MLOps入門
by
Hiro Mura
ゲームの仕様書を書こうまとめ
by
Sugimoto Chizuru
大企業アジャイルの勘所 #devlovex #devlovexd
by
Itsuki Kuroda
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
by
Yugo Shimizu
AWSではじめるMLOps
by
MariOhbuchi
Amazon SageMaker で始める機械学習
by
Amazon Web Services Japan
論文の書き方入門 2017
by
Hironori Washizaki
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
AIによるアニメ生成の挑戦
by
Koichi Hamada
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
物体検出コンペティションOpen Imagesに挑む
by
Hiroto Honda
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
by
Takuto Wada
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
by
NTT DATA Technology & Innovation
UnityとROSの連携について
by
UnityTechnologiesJapan002
(修正)機械学習デザインパターン(ML Design Patterns)の解説
by
Hironori Washizaki
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
徹底解説 Unity Reflect【概要編 ver2.0】
by
Unity Technologies Japan K.K.
Similar to 機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
PPTX
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
by
DeNA
PDF
SHIBUYA SYNAPSE #2「ゲームの外のAI - ゲームバランス調整」
by
shibuya_synapse
PDF
CEDEC2018『逆転オセロニア』におけるAI活用
by
Jun Okumura
PDF
ゲームバランス調整補助のための強化学習の効率化
by
gree_tech
PDF
kobayashi_m
by
harmonylab
PDF
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
by
DeNA
PDF
ゲームAI製作のためのワークショップ(V)
by
Youichiro Miyake
PPTX
ゲーム体験を支える強化学習の実応用について
by
Jun Okumura
PPTX
音楽ゲームのプレイヤAIにおける人間らしく振る舞う強化学習手法の提案
by
hashimoto_mct
PDF
ゲームAI製作のためのワークショップ(II)
by
Youichiro Miyake
PDF
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
by
Youichiro Miyake
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
by
DeNA
SHIBUYA SYNAPSE #2「ゲームの外のAI - ゲームバランス調整」
by
shibuya_synapse
CEDEC2018『逆転オセロニア』におけるAI活用
by
Jun Okumura
ゲームバランス調整補助のための強化学習の効率化
by
gree_tech
kobayashi_m
by
harmonylab
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
by
DeNA
ゲームAI製作のためのワークショップ(V)
by
Youichiro Miyake
ゲーム体験を支える強化学習の実応用について
by
Jun Okumura
音楽ゲームのプレイヤAIにおける人間らしく振る舞う強化学習手法の提案
by
hashimoto_mct
ゲームAI製作のためのワークショップ(II)
by
Youichiro Miyake
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
by
Youichiro Miyake
More from gree_tech
PPTX
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
by
gree_tech
PDF
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
by
gree_tech
PPTX
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
by
gree_tech
PPTX
アプリ起動時間高速化 ~推測するな、計測せよ~
by
gree_tech
PPTX
長寿なゲーム事業におけるアプリビルドの効率化
by
gree_tech
PPTX
Cloud Spanner をより便利にする運用支援ツールの紹介
by
gree_tech
PPTX
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
by
gree_tech
PPTX
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
by
gree_tech
PPTX
海外展開と負荷試験
by
gree_tech
PPTX
翻訳QAでのテスト自動化の取り組み
by
gree_tech
PPTX
組み込み開発のテストとゲーム開発のテストの違い
by
gree_tech
PPTX
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
by
gree_tech
PPTX
データエンジニアとアナリストチーム兼務になった件について
by
gree_tech
PPTX
シェアドサービスとしてのデータテクノロジー
by
gree_tech
PPTX
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
by
gree_tech
PPTX
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
by
gree_tech
PPTX
比較サイトの検索改善(SPA から SSR に変換)
by
gree_tech
PPTX
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
by
gree_tech
PPTX
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
by
gree_tech
PPTX
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
by
gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
by
gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
by
gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
by
gree_tech
アプリ起動時間高速化 ~推測するな、計測せよ~
by
gree_tech
長寿なゲーム事業におけるアプリビルドの効率化
by
gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介
by
gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
by
gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
by
gree_tech
海外展開と負荷試験
by
gree_tech
翻訳QAでのテスト自動化の取り組み
by
gree_tech
組み込み開発のテストとゲーム開発のテストの違い
by
gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
by
gree_tech
データエンジニアとアナリストチーム兼務になった件について
by
gree_tech
シェアドサービスとしてのデータテクノロジー
by
gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
by
gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
by
gree_tech
比較サイトの検索改善(SPA から SSR に変換)
by
gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
by
gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
by
gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
by
gree_tech
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
1.
機械学習ベースの自動プレイエージェントを用いた バランス設計効率化の追求 2019/09/06 福沢 嘉琳 森田 想平
© 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
2.
自己紹介 Karin Fukuzawa 福沢 嘉琳 2016年に新卒入社。 アイドル系IPプロダクトにて運用や新規イベントの企画進行を経験 し、WFSにて「アナザーエデン」や、「ダンまち〜メモリア・フレー ゼ〜」のゲームデザイナーチームのリードを務める。 ©
大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
3.
自己紹介 Sohei Morita 森田 想平 2009年入社。 データエンジニアとして働いたのち、現在は事業横断部門でデータ 基盤
/ AIリサーチ / ビジネスアナリシスを担当するグループのマ ネージャーを務める。 本プロジェクトではプロジェクトマネジメントと一部の開発を担当。
4.
本発表の概要 ゲームコンテンツのバランス調整を効率化するために、 自動プレイエージェントの導入を検証しているプロジェク トに関して ● 解決したい課題 ● 開発検証しているシステムの構成 ●
開発プロジェクトはどう進んできたか をお話します
5.
本発表でお伝えしたいこと G D E N P M 知見を言語化して 伝える それを 理解する プロジェクト全体の進行管理 それを 理解する システムのロジック を説明する システムが複雑になり すぎるのを防ぐ 言語化の補強をする
6.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
7.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ 15min 20min 15min
8.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
9.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
10.
2017年6月19日リリース(おかげさまで2周年!) 「ダンまち」初のスマートフォン向けゲームアプリ 原作者 大森藤ノ先生 完全監修のストーリー 総ワード数
85,000超の全編フルボイス ダンまち〜メモリア・フレーゼ〜(以降ダンメモ)とは? © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
11.
自動でコマンド選択してバトルを進めてくれるオート機能 ここをON シンプルなコマンドバトル ダンメモのバトルって? © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
12.
ダンメモのバトルって? その他、PvPバトルや、レイドイベントなど… ルールの異なるバトルコンテンツが複数存在 通常バトル(低難易度コンテンツ) ボスバトル(高難易度コンテンツ) © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
13.
ダンメモの運用 限られたリソースの中で でコンテンツを提供し お客様に楽しんでいただくこと 高品質 高頻度
14.
ダンメモの運用 限られたリソースの中でやった結果… 高品質 高頻度 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
15.
ダンメモの運用 限られたリソースの中でやった結果… 高頻度 高品質 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
16.
ダンメモの運用 継続的に両立させていくために ボトルネックは取り除きたい 高品質 高頻度 限られたリソースの中で
17.
運用の課題 継続的に両立させていくために バトルのバランス設計 を効率化したい 高品質 高頻度
18.
ダンメモのバトル 通常バトル(低難易度コンテンツ) ボスバトル(高難易度コンテンツ) © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
バランス設計を行う上で それぞれの適切なバランス設計の指標を決めたい
19.
通常バトルの設計 シナリオに付随 世界観を楽しんでもらうためのコンテンツ 通常バトル(低難易度コンテンツ) 想定パーティーを用いてオートでクリア可能 ※想定パーティ = 表記難易度に対して適正な強さのパーティ 攻略要素が必要など過剰に難しくしない 表記難易度に沿っていればOK ©
大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
20.
通常バトルの設計 〜CEDEC2018にて〜 高速且つ自動でオートプレイを行うシミュレーターを開発したことにより 通常バトルでのテストプレイ工数は大幅に軽減 オートプレイによる最適なパラメータシミュレーション 〜自動化時代のゲームフレームワークに求められること〜
21.
バトルの設計 通常バトル(低難易度コンテンツ) ボスバトル(高難易度コンテンツ) ? オートプレイの シミュレーターにより解決 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
22.
ボスバトルの設計 難易度:6段階 ターン制限:15ターン ボスバトル(高難易度コンテンツ) 挑戦難易度 生存ターン数 与ダメージ量 を最大化してハイスコアを取る 最適な行動を考える必要があるバトル © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
23.
ボスバトルでのスコア計算 合計ダメージ 生存ターンボーナス 難易度ボーナス aaaa 最終スコア =
合計ダメージ × (1+生存ターンボーナス) × (1+難易度ボーナス) 覚えなくていいです © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
24.
挑戦難易度 生存ターン数 与ダメージ量 を最大化してハイスコアを取る 最適な行動を考える必要があるバトル ボスバトルの設計 難易度:6段階 ターン制限:15ターン ボスバトル(高難易度コンテンツ) © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会 想定パーティーを用いて最適行動でハイスコア獲得
25.
バトルの設計 想定パーティーを用いて オートでクリア可能 想定パーティーを用いて 最適行動でハイスコア獲得 通常バトル(低難易度コンテンツ) ボスバトル(高難易度コンテンツ) それぞれの適切なバランス設計の定義 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
26.
バトルの設計 通常バトル(低難易度コンテンツ) ボスバトル(高難易度コンテンツ) 今の課題 オートプレイの シミュレーターにより解決 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
27.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
28.
ボスバトルの設計フロー ステージ 設計 マスターデー タ設定 ビルド テスト プレイ バランス 調整
29.
ボスバトルの設計フローと課題 ステージ 設計 マスターデー タ設定 ビルド テスト プレイ バランス 調整 主にステージ設計、バランス調整において ダンメモに詳しい熟練のゲームデザイナーでないと難しい 主にテストプレイにおいて 手動プレイである分、通常バトルよりも膨大な時間がかかる
30.
ボスバトルの設計フロー ステージ 設計 マスターデー タ設定 ビルド テスト プレイ バランス 調整 ①想定パーティの決定 ②敵の基本パラメータの決定 ③ユーザセグメント別のゴール設定
31.
活躍させたいキャラクターを複数決定 登場したばかりの新キャラクターの活用 過去活躍する場面のなかった既存キャラクターを新たに活用 (通常バトルではキャラクターに関わらずレベル帯だけ一致していればOKだった) ステージ設計 ①想定パーティの決定 新しい遊びの提供 継続的なキャラクター育成欲求の形成 今回はこのあたりがいい ©
大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
32.
活躍させたいキャラクターを 複数決定 ステージ設計 ①想定パーティの決定 そのキャラクターを用いて ハイスコアが出せるパーティを作る ※パーティは一例です ©
大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
33.
活躍させたいキャラクターを 複数決定 ステージ設計 ①想定パーティの決定 そのキャラクターを用いて ハイスコアが出せるパーティを作る ※パーティは一例です ©
大森藤ノ・SBクリエイティブ/ダンまち2製作委員会 課題 ダンメモのキャラをすべて把握していないと ベストなパーティを組むことが難しい
34.
ステージ設計 ②敵の基本パラメータの決定 想定パーティがハイスコアを取れるように ボスのパラメータを決定する ex) パーティに火属性のキャラクターが多い → 火属性耐性を下げる 活躍させたいキャラクターが物理攻撃デバフを持っている → 物理攻撃が強 いボスにする 物理攻撃のボスなので、 そのイメージにマッチするキャラクターの選定もします ©
大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
35.
ユーザセグメント別に 適正な難易度でハイスコアが出るようにする ステージ設計 ③ユーザセグメント別の設計 ラ イ ト ミ ド ル なんとか15ターン 生き残りたい… 生き残るだけじゃなく もっと高い難易度に挑戦 したい ハイスコア狙うぞ! ランキング上位にも入り たい! 継続的な成長欲求の形成 ヘ ビ
36.
パーティのレベル別に、適正難易度帯を設計する(赤のライン) ステージ設計 ③ユーザセグメント別の設計 弱 強 ボ ス の 強 さ 弱 強 パーティの強さ
37.
テストプレイの前に ①想定パーティの決定 ③ユーザセグメント別の ゴール設定 ②敵の基本パラメータ の決定 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
38.
テストプレイの前に ①想定パーティの決定 ③ユーザセグメント別の ゴール設定 この情報だけでテストプレイを始めるのは途方もない… テストプレイのための定量的な目標値を決めたい ②敵の基本パラメータ の決定 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
39.
ボスバトルの設計フロー ステージ 設計 マスターデー タ設定 ビルド テスト プレイ バランス 調整 ①想定パーティの決定 ②敵の基本パラメータの決定 ③ユーザセグメント別のゴール設定 ①目標値の設定 ②実際にプレイする
40.
何ターン生き残るか テストプレイ ①目標値の設定 テストプレイの指標として、具体的な目標値を設定する ※赤ラインは理想のハイスコア帯
41.
スコアを算出してみる テストプレイ ①目標値の設定 ついでにもう一つ指標ができました ※赤ラインは理想のハイスコア帯 aaaa 最終スコア =
合計ダメージ × (1+生存ターンボーナス) × (1+難易度ボーナス) 1ターンあたりのダメージ量を実績ベースで出し、 目標生存ターン数を入れればざっくり最終スコアを算出できる
42.
定量的な目標値が決まったので、テストプレイを行っていきます テストプレイ ②実際にプレイする 想定パーティで ボスと戦って
どれくらいのスコアが出せるか © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
43.
定量的な目標値が決まったので、テストプレイを行っていきます テストプレイ ②実際にプレイする 課題 ダンメモのバトルに慣れたゲームデザイナーでないとハイ スコアを出せるコマンド選択ができない 想定パーティで ボスと戦って
どれくらいのスコアが出せるか © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
44.
テストプレイ ②実際にプレイする 想定パーティで ボスと戦って
ハイスコアが出せた 定量的な目標値が決まったので、テストプレイを行っていきます 最適行動をしたときの 生存ターン数がわかる © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
45.
テストプレイ ②実際にプレイする 課題 手動で膨大な数をプレイしなければならない プレイ結果が目標値どおりになっているかを照らし合わせる
46.
テストプレイ ②実際にプレイする 課題 バトルにランダム要素があり1度でハイスコアを 出せないため、試行回数を増やす必要がある プレイ結果が目標値どおりになっているかを照らし合わせる
47.
ボスバトルの設計フロー ステージ 設計 マスターデー タ設定 ビルド テスト プレイ バランス 調整 ①想定パーティの決定 ②敵の基本パラメータの決定 ③ユーザセグメント別のゴール設定 ①目標値の設定と検証 ②実際にプレイする テストプレイの結果をもと に、敵のパラメータや行動の 調整を行う
48.
バランス調整 テストプレイの結果をもとに、敵のパラメータや行動の調整を行う ex) 目標の生存ターン数:10ターン テストプレイ結果:8ターン © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会 敵の攻撃力を下げてみる 攻撃の回数を減らしてみる 課題 ダンメモの調整に慣れたゲームデザイナーでないと スムーズに調整を行うことができない
49.
ボスバトルの設計フロー ステージ 設計 マスターデー タ設定 ビルド テスト プレイ バランス 調整 ①想定パーティの決定 ②敵の基本パラメータの決定 ③ユーザセグメント別のゴール設定 ①目標値の設定と検証 ②実際にプレイする テストプレイの結果をもと に、敵のパラメータや行動の 調整を行う
50.
ボスバトルの設計 テストプレイの結果と ボスバトルのバランス調整は終了! 目標値が全ステージで一致すれば © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
51.
ボスバトル設計の中で挙げられる課題 手動でプレイ 時間がかかる 熟練のゲームデザイナー でないと難しい 膨大な検証数 バトルのランダム要素 パーティを組む コマンド選択 スムーズな バランス調整
52.
ボスバトル設計の中で挙げられる課題 手動でプレイ 時間がかかる 熟練のゲームデザイナー でないと難しい 膨大な検証数 バトルのランダム要素 パーティを組む コマンド選択 スムーズな バランス調整 なんとかして欲しい! © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
53.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
54.
ボスバトル設計の中で挙げられる課題 手動でプレイ 時間がかかる 熟練のゲームデザイナー でないと難しい 膨大な検証数 バトルのランダム要素 パーティを組む コマンド選択 スムーズな バランス調整 自動プレイエージェントの導入
55.
一番ざっくりしたシステム構成図 自動プレイ エージェント 自動プレイ環境 バトル
56.
自動プレイエージェントは2種類を検証中 ルールベース エージェント 機械学習 エージェントと それぞれの詳細は後ほど
57.
まず自動プレイ環境について
58.
自動プレイ環境 実運用のための環境と、検証のための環境、2つを用意してい る 検証環境 ● 基本的にエンジニアが使う環境 ● 各エージェントのデバッグ・検証や機械学習エージェントの 学習に使う 実運用環境 ●
基本的にゲームデザイナーが使う環境 ● ルールベースエージェントの利用が可能 ● (機械学習エージェントの推論モードの利用を想定)
59.
実運用向け自動プレイ環境 ルール(Pythonスクリプト)等の設定 結果のサマリ バトル結果 シミュレーター実行 結果の分析 ルールAI等の スクリプト 設定の反映 シミュレーター
60.
検証向け自動プレイ環境 操作 ソケット通信 (バトル) Gym対応 エージェントスクリプト サーバーソケット インターフェース OpenAI Gym ラッパー 起動 起動 シミュレーター
61.
自動プレイ環境 Gym対応エージェント スクリプト サーバーソケット インターフェース OpenAI Gym ラッパー ルールAI等の スクリプト 実運用の環境 検証用の環境 シミュレー ター シミュレーター
62.
自動プレイ環境 Gym対応エージェント スクリプト サーバーソケット インターフェース OpenAI Gym ラッパー ルールAI等の スクリプト 実運用の環境 検証用の環境 シミュレー ター シミュレーター
63.
シミュレーターが呼び出すスクリプト 検証用環境のサーバーソケットインターフェースや、実運用環 境のルールベースエージェントの実装は、共通の仕組みを使っ ています 詳細は後ほど
64.
開発システムのコンポーネント ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
65.
開発システムのコンポーネント ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
66.
シミュレーター ゲーム開発のためのエディター(Macアプリ)をラップ したもので、ゲーム本体をほぼそのまま実行するも の シミュレーター ゲーム本体 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
67.
シミュレーター シミュレーター 利点:ゲームロジックを忠実に再現 欠点:実行速度が大きく制限される ゲーム本体 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
68.
シミュレーター #if defined(SIM)でエディターに必要なコードを挿入し、シミュ レーターとしてビルドする エージェントプレイ以外に、オートモードでのプレイにも対応して いる ボスバトル以外のコンテンツにも対応している
69.
開発システムのコンポーネント ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
70.
シミュレーターが呼び出すスクリプト エージェントがプレイする設定の場合、シミュレーターは path/to/external_script < input.json
> output.json を毎ターン実行する external_scriptは設定に応じて切り替えることができる ● ルールベースエージェント ● サーバーソケットインターフェース といった種類がある
71.
シミュレーターが呼び出すスクリプト input.json ● シミュレーターからスクリプトに渡る情報 ● 味方の現HP、最大HP、現ターン数、必殺技ゲージの値、敵 味方のバフ/デバフ状況 output.json ●
スクリプトからシミュレーターに渡る情報 ● 各PCの行動
72.
開発システムのコンポーネント ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ■ バフ/デバフ特徴量 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
73.
バフ/デバフ特徴量 多数のバフ/デバフがあるが、コマンド選択に対して 特に重要な50種類程度のバフ/デバフを選別して、入 力として利用している
74.
バフ/デバフ特徴量の取得 画面に表示される状態変化の文言を取得し、それを 受け渡す キャラクタの長押しで表示されます © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
75.
開発システムのコンポーネント ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
76.
検証してるエージェントのうちの1つ ルールベース エージェント 機械学習 エージェントと
77.
ルールベースエージェント ゲームデザイナーがシンプルな行動ルールを考え、 それをそのままコードにする。ダンメモにおいてはそ れなりに強い if PC_ID_XXX in
status.keys(): if status[PC_ID_XXX]['effect']['buff']['attack']['_strength'][1] > 0: commands[PC_ID_XXX] = 'SKILL3' ルールの例 ルールベース エージェント
78.
実際にゲームデザイナーが作成したルール
79.
ルールベースエージェントの性能 • ゲームデザイナーの出すハイスコアにかなり近い結果が出た • 汎用的なルールが作成できれば、パーティ毎のスコアの比較検証に 使用できそう
80.
全体を通してある程度なだらかなスコアが出た ルールベースエージェントの性能 スコアが想定値から大きくはずれるステージがないかの検証に 使用 できそう
81.
ルールベースエージェントの課題 • 熟練ゲームデザイナーでないとルール作成が難しい • ステージ数が少ない場合は手動で戦った方が早い •
汎用的なルール作成は複雑で難しい • 同じパーティとボスでも、難易度により行動が変化する • あらゆる情報を複合的に判断している • 現ターン数、バフ残ターン数、生存キャラなど • 過去の経験から未来を予測をする • 人間は数回プレイをし、ボスの行動を記憶している
82.
課題を解決する エージェントが必要
83.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモのバトルについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
84.
その前に、 機械学習エージェントの 学習環境について (検証向け自動プレイ環境)
85.
検証向け自動プレイ環境 操作 ソケット通信 (バトル) Gym対応 エージェントスクリプト サーバーソケット インターフェース OpenAI Gym ラッパー 起動 起動 シミュレーター
86.
検証向け自動プレイ環境 操作 ソケット通信 (バトル) Gym対応 エージェントスクリプト サーバーソケット インターフェース OpenAI Gym ラッパー 起動 起動 シミュレーター
87.
開発システムのコンポーネント ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
88.
サーバーソケットインターフェース 文字通り、クライアントからのソケット通信を待ち受ける機能を 持つ 特に学習時は、機械学習エージェントのプロセスを、シミュレーター のプロセスより長生きさせたいので、シミュレーターのプロセスと、 エージェントのプロセスを分離して、ソケット通信する構成にした ● 推論時は、推論モデルのプロセスのライフスパンは短くて構わ ない
89.
サーバーソケットインターフェース input_data = json.load(sys.stdin)
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: finish = False s.bind((BIND_IP, BIND_PORT)) s.listen(1) while not finish: conn, addr = s.accept() with conn: while True: data = conn.recv(MESSAGE_SIZE) if data.decode('utf-8') == 'state': conn.send(json.dumps(input_data).encode('utf-8')) elif 'action' in json.loads(data.decode('utf-8')): action = json.loads(data.decode('utf-8'))['action'] finish = True ... json.dump(output_data, sys.stdout, indent = 4, ensure_ascii = False)
90.
開発システムのコンポーネント ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
91.
OpenAI Gymラッパー Gymは様々なゲーム環境の統一インタフェースを提供するプロ ジェクト。強化学習ライブラリに対する標準的なインタフェースと なっているが、強化学習以外の用途で使っても勿論良い。 本プロジェクトでは、待ち受けているソケットにクライアントとして 接続する、という機能を持たせている Gymの仕様に沿ってゲームをラップすると、既存の強化学習ラ イブラリ等で簡単にゲームプレイできるようになる
92.
OpenAI Gymラッパーの役割 Gym ラッパー シミュレーター ゲーム本体 サーバーソケット インタフェース whileループでconnect() 起動 ターンごとに起動 Gym対応 エージェント スクリプト 操作
93.
OpenAI Gymラッパー def reset(self):
#シミュレーターを起動するために呼び出す … while True: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((SIM_IP, SIM_PORT + PARALLEL_PARAM)) s.send('state'.encode('utf-8')) observation = json.loads(s.recv(MESSAGE_SIZE).decode('utf-8')) … def step(self, action): #1ターン進めるために呼び出す … with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((SIM_IP, SIM_PORT + PARALLEL_PARAM)) s.send(json.dumps({'action': action}).encode('utf-8') …
94.
開発システムのコンポーネント ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
95.
機械学習モデルを学習する仕組み 教師あり学習 強化学習
96.
機械学習モデルを学習する仕組み 教師あり学習の役割 強化学習を効率的に実施するため、様々なパーティLvや難易度 設定に共通の機械学習モデルを学習する 強化学習の役割 様々なパーティLvや難易度設定ごとに、教師あり学習で学習し たモデルを個別最適化していく
97.
教師あり学習のシステム構成 Gym ラッパー シミュレーター ゲーム本体 サーバーソケット インタフェース whileループでconnect() 起動 ターンごとに起動 ルールベース エージェント 操作 機械学習 モデル プレイログ 教師あり学習
98.
教師あり学習 いくつかの設定でのルールベースエージェントのプレ イログを足し合わせて学習している 与えられたデータを用いてモデルを学習する手法 プレイログ 機械学習モデル (ニューラルネット) 読み込んで学習
99.
プレイログ 学習データ ● 味方のHP%、現ターン数、必殺技ゲージの値、敵 味方のバフ/デバフ状況 1ターン1行 ラベル ● ルールベースエージェントが選択したコマンド
100.
機械学習モデル 浅いニューラルネットワーク、回帰モデル 学習対象/出力 ● 各コマンドの選択確率を計算するためのスコア
101.
機械学習モデルを学習する仕組み 教師あり学習 強化学習
102.
強化学習のシステム構成 Gym ラッパー シミュレーター ゲーム本体 サーバーソケット インタフェース whileループでconnect() 起動 ターンごとに起動 強化学習 エージェント 操作 機械学習 モデル
103.
強化学習 エージェントが環境から報酬と状態を受け取り、行動 を環境に送るというイテレーションを繰り返すことに よって行動選択モデルを学習する手法 エージェント 環境(ゲーム) 報酬・状態 行動
104.
強化学習 本システムではルールの微調整に使うイメージ ● プレイスコアを報酬とみなし、スコアが高くなるよう 学習していく 機械学習 モデル ゲームデザイナー 設定ルール 模倣 自動プレイ による微調整
105.
機械学習モデルの性能と課題 例えば必殺技の発動タイミングが、難易度設定に応じ て変更(学習)される事を確認 © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会 学習速度はまだ実運用するには厳しい
106.
ところで、なぜ強化学習なのか 強化学習が再現性や過学習や学習速度の面で課題が多いとい うのは広く知られている ● 実際僕らはまだ実運用できていない 例えばユーザーのプレイログからの教師あり学習の方が筋が良 いのでは??
107.
ユーザーのプレイログを利用することの懸念 新しい遊びの提供 継続的なキャラクター育成欲求の形成 新機能を追加し、バトルのルールが変わる 新キャラを追加し、新スキルが登場する 過去ログからの学習が不適切になる事があり 強化学習的な仕組みが必須
108.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモのバトルについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
109.
GD・ENは何をしたのか/すべきなのか ゲームデザイナー ● 自分がどうやってゲームをプレイしているか、を言語化した ○ ルールの作成、特徴量の選定 ●
ルールベースエージェントの課題を言語化した エンジニア ● ゲームデザイナーの話を理解してコード化した ● 実装しているモデルの仕組みを丁寧に説明した ○ ユーザーログを利用した教師あり学習と強化学習の違い
110.
協働でエージェントをデザインしていく G D E N P M 知見を言語化して 伝える それを 理解する プロジェクト全体の進行管理 それを 理解する システムのロジック を説明する システムが複雑になり すぎるのを防ぐ 言語化の補強をする
111.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモのバトルについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
112.
PvBにおけるボス性能の検証 現状シミュレータはインタラクティブな操作に非対応 各キャラクターの行動×15ターン分をあらかじめ選択して結果を取得 ベイズ最適化を使って最適な行動を探索 パーティはプランナーが選定した強そうなもので固定 (1ターンあたりの行動可能パターン)^15の探索空間を持つ ブラックボックス最適化問題 CEDEC2018での発表
113.
結果 コマンド選択の探索を行うことでスコアは大幅に向上 初期スコア:933,480 最適化後スコア:15,199,704 人間の最高スコア: 24,278,700 (人の壁は厚い) PvBにおけるコマンド選択の探索はかなり成功 ターン毎の状況判断、強化学習の検証等は今後の課題 ※有限時間で探索を打ち切っているので、大域的な最適解には至っていない CEDEC2018での発表
114.
最初の失敗 ゲームデザイナーが知らない間に、ある日プレイエージェントが できてました、みたいなのを目指した ゲーム開発運用チームと、エージェント開発チームを疎結合にし ようとした ● ゲームの開発運用チームに負荷を与えたくない ● アカデミック界隈では、事前知識を使わずにゲームをプレイす るエージェントが流行っていた
115.
ドメイン知識を使わないで頑張る日々 A3C等の強化学習アルゴリズムの適用 ベイズ最適化の適用 UDB1等の多腕バンディットアルゴリズムの適用
116.
ドメイン知識を使わないで頑張る日々 A3C等の強化学習アルゴリズムの適用 ベイズ最適化の適用 UDB1等の多腕バンディットアルゴリズムの適用 学習にかかる時間が長く、 結果的に改善イテレーションも長い...
117.
開発プロセスの 再検討
118.
プロジェクトの位置付けの再確認 他プロダクト展開を前提にした投資案件 ● 単体施策として開発コスト回収とかはあまり気にし ない ● 非機能要件のバランスに関する知見を貯めたい
119.
開発システムの非機能要件 強さ ● 熟練ゲームデザイナーと同程度のスコア 学習速度 ● テストプレイに許される日数の制約 汎用性 ●
様々なパーティ設定・ボス設定に対応 複雑さ ● できるだけシンプルにしたい
120.
非機能要件のバランス 難解・複雑なアリゴリズムやシステム構成にすること で、どのくらい強さ・速さ・汎用性が向上するか 汎用的 はやい 強い 運用しやすい VS
121.
知見を貯めるために 引き続き難解・複雑なアルゴリズムを検証することも 必要 ただ1つ問題があって、それは、検証するとそれをプ ロダクションで使いたくなること
122.
何か変えないと
123.
対応策:2つのプロジェクトに分離 プロジェクト プロジェクトの位置付け システム開発 ●
メインの開発プロジェクト 研究サーベイ ● サイドプロジェクト ● 高度なアルゴリズムに関する知見を貯める
124.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモのバトルについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
125.
開発プロセスの全体像 自動プレイ環境 の整備 ルールベース エージェント 特徴量 エンジニアリング 機械学習 エージェント
126.
Rules of MLとの出会い Rules
of Machine Learningという、Googleが公開して いる機械学習プロジェクトのベストプラクティス集を 知った その時、漠然と考えていたことを裏付けてくれるような 内容だったので、以降はこのRules of MLに沿って開 発を進めた ● ドメイン知識をムッチャ使う進め方 https://developers.google.com/machine-learning/guides/rules-of-ml/
127.
Rules of ML
の主張(意訳) 性能の継続的改善のため、まずパイプラインやモニタ リングシステムを整備しよう 性能改善には、アルゴリズムより特徴量が重要な場 合がほとんどだ 簡単に性能解析できるベースラインのモデルを作ろう システムはできるだけシンプルさを保つようにしよう
128.
Rules of MLの推奨開発プロセス(意訳) ヒューリスティクスをベースにしたシステムの導入
/ パイプライン整備 ヒューリスティクス追加による性能改善 複雑化し、メンテコストが大きくなったら機械学習での置き換えを検討 機械学習の為のパイプラインの整備 シンプルな目的関数、特徴量、アルゴリズムで構成するベースモデルの導入 特徴量エンジニアリング(特徴量の追加)による性能改善 より高度なアルゴリズムの導入による性能改善
129.
本システム開発との対応表 自動プレイ環境 の整備 ルールベース エージェント 特徴量 エンジニアリング パイプライン の整備 ヒューリスティクスの導 入 ヒューリスティクスの追 加 自動プレイエージェント Rules of ML 機械学習での 置き換え 機械学習 エージェント
130.
Rules of MLに従う事で気付けた事 最低限動くものや、単純なモデルがあれば会話が弾み、新しい 発想が出てくる ゲームデザイナーのドメイン知識で性能が改善する これらは、プロダクト開発の定石だとも思いますが、機械学習プ ロジェクト全般でも定石は変わらない、という事に気付けたのが 大きいです 複雑なシステムも差分として実装すれば、まだ実装・説明しやす い
131.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモのバトルについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
132.
研究サーベイのプロセス 強化学習 エンジニアリング サンプル効率化
133.
研究サーベイ 難しいアルゴリズムは、システムには導入したくない が、理解はしておきたいぞ © 大森藤ノ・SBクリエイティブ/ダンまち2製作委員会
134.
研究サーベイ メインプロジェクトに導入されなくても達成感を持てる 目標を設定する事が一番大切
135.
研究サーベイの進め方 サイドプロジェクトでも締め切りがズルズルしないよう に 外部発表をマイルストーンに設定する 明確な出口を設定することでシステム導入の誘惑が 減るように サーベイ結果が形式知(ドキュメント)として積み上が るように
136.
マイルストーンにした外部発表 第42回 ゲーム情報学研究発表会 グリー開発本部 Meetup
#2
137.
グリー開発本部 Meetup #2 発表資料は弊社SlideShareにあります 自社開催は、マイルストーン設定的には嬉しい ●
時期も内容も自由に決められる ● これは2019/01開催
138.
ゲーム情報学研究発表会 大学生、大学院生の発表が多く、企業からの発表は (多分)珍しい 情報処理学会の研究会で、その名の通りゲームを題 材にした研究を取り扱う。査読なし。 2019/07開催の第42回研究発表会に参加
139.
発表内容の概要 自社ゲームでなくAI研究に使われるシ ミュレータを利用 マスターデータの埋め込みによる入力次 元の削減や、ゲームの特徴に合わせて ネットワーク構造を小さくする事により、 学習が効率化する事を確認 強化学習のサンプル効率化(高速化)が テーマ
140.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモのバトルについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
141.
PMは何をしたのか/すべきだったのか システムが必要最低限の複雑さで収まるようコント ロール ● 複雑なシステムはコミュニケーションを阻害する ● 技術検証は技術検証で明確に分離 ゲームデザイナーの言語化の支援 ●
何を明確にすればエンジニアリングに繋がるかを伝える
142.
コミュニケーション可能な環境を用意する G D E N P M 知見を言語化して 伝える それを 理解する プロジェクト全体の進行管理 それを 理解する システムのロジック を説明する システムが複雑になり すぎるのを防ぐ 言語化の補強をする
143.
目次 運用の課題 エージェントの開 発/検証 プロジェクトは どう進んだか まとめ ダンメモのバトルについて 現状のボスバトルの設計方法とその課題 自動プレイ環境/ルールベースエージェントの構築 機械学習エージェントの構築 振り返り:GD・ENは何をしたのか 最初の失敗 システム開発の進め方 研究サーベイの進め方 振り返り:PMは何をしたのか
144.
運用の課題 手動でプレイ 時間がかかる 熟練のゲームデザイナー でないと難しい 膨大な検証数 バトルのランダム要素 パーティを組む コマンド選択 スムーズな バランス調整 時間がかかる 熟練のゲームデザイナー でないと難しい
145.
エージェントの開発/検証 ● ゲーム本体 ● シミュレーター ●
シミュレーターが呼び出すスクリプト ○ 共通仕様 ○ ルールベースエージェント ○ サーバーソケットインタフェース ● OpenAI Gymラッパー ● Gym対応エージェントスクリプト ○ ルールベースエージェント ○ 機械学習モデルの学習用エージェント ○ 機械学習モデルの推論検証用エージェント
146.
プロジェクトはどう進んだか 自動プレイ環境 の整備 ルールベース エージェント 特徴量 エンジニアリング 自動プレイエージェント 研究サーベイ 機械学習 エージェント 強化学習 エンジニアリング サンプル効率化
147.
エンジニアとゲームデザイナー お互いに自身の知識や作業内容を言語化し、理解し合う プロジェクトマネージャー コミュニケーションが成立する環境を用意する 協働でエージェントをデザインしていく G D E N P M
148.
ご静聴 ありがとうございました
Download