kobayashi_m

32
修士論文発表 ゲームにおける課題ステージの自動選択 -学習プロセスの推定 - 北海道大学 大学院情報科学研究科 複合情報学専攻 複雑系工学講座 調和系工学研究室 M小林佑輔 Selection Mechanism of Stages in Game based on Inference of Learning Process

Upload: harmonylab

Post on 12-Jun-2015

136 views

Category:

Engineering


0 download

DESCRIPTION

kobayashi presentation M2 2012

TRANSCRIPT

Page 1: kobayashi_m

修士論文発表

ゲームにおける課題ステージの自動選択-学習プロセスの推定 -

北海道大学 大学院情報科学研究科 複合情報学専攻複雑系工学講座 調和系工学研究室

M2 小林佑輔

Selection Mechanism of Stages in Game based on Inference of Learning Process

Page 2: kobayashi_m

はじめに

ステージ1ステージ1 ステージ2ステージ2 ステージ3ステージ3 ステージ4ステージ4 ・・・・・・

初心者

上級者

簡単すぎたり、難しすぎると楽しくない

プレイヤーが楽しく感じる時間の増大

簡単 丁度良い 丁度良い簡単

丁度良い 難しい 難しい丁度良い

Page 3: kobayashi_m

理想のステージ順

ステージnステージn

ステージn+1ステージn+1

ステージn+2ステージn+2

ステージn+3ステージn+3

・・・

簡単

丁度良い

難しい

ch

allen

ge

skillLow High

High

FLOW

anxiety

boredom

FLOW

FLOW理論FLOW理論

行為自体が楽しく、深く没入している状態FLOW状態

[Csikszentmihalyi 1990]

プレイヤーのskillに対して、楽しいと感じるchallengeが存在

簡単

Page 4: kobayashi_m

楽しさの理論

challenge

Low High

High

fun

ステージnステージn

ステージn+1ステージn+1

ステージn+2ステージn+2

ステージn+3ステージn+3

・・・

楽しさの軸楽しさの軸

LowHigh

High

High

skill

challenge

fun

FLOWboredom

anxiety

skill t

skill t

ステージ n1 ステージ n2 ステージ n3

ゲームに適用するにあたって

skill = ゲームの上達

challenge = ステージ

Page 5: kobayashi_m

skillの変化によるfunへの影響

skillの変化skillの変化 skillが変化すると楽しいと感じるステージも変わってしまう

skillの変化

challenge

Low High

High

fun

ステージ n ステージ m

challenge

Low High

High

fun

ステージ n ステージ m

ステージnの楽しさ > ステージmの楽しさ ステージnの楽しさ < ステージmの楽しさ

skillの変化に応じて、funが最大となるchallengeを求める

課題

skillを計測するためにゲームをプレイするとskillが変化してしまう

少ないログデータからその変化を推測してfunを求める

やること

skillをどのように計算するか

funをどうやって推定するか

Page 6: kobayashi_m

目的目的

目的とアプローチ

アプローチアプローチ

プレイヤーの楽しさが最大となるステージの選択

ステージ3ステージ2

ステージn

プレイログを用いたステージごとのfunの推定

skill⊿ skill

ログ

クリアの推定 ⇒ funの推定funの推定

funの推定

funの推定

プレイプレイ

未経験のステージ

ログから直接、ステージごとのfunを推定

スーパーマリオの特性を利用

Page 7: kobayashi_m

マリオの特性を用いたステージごとのfunの推定

プレイしたステージのログ 未経験のステージ

分解

分解ステージを『モジュール』という部品に分解

同じモジュール

funの推定

プレイしたステージのログ

合算

モジュールのfunを推定する方法は?マリオにおけるskill各モジュールに対するクリア率

Page 8: kobayashi_m

未経験のステージ

+ブロック

プレイしたステージのログ

分解

分解ステージを『モジュール』という部品に分解

マリオの特性を用いたステージごとのfunの推定

合算

マリオにおけるskill各モジュールに対するクリア率

類似のモジュール

funの推定

モジュールのfunを推定する方法は?

Page 9: kobayashi_m

・・・

モジュールは全部で201種類

+ブロック

プレイしたステージのログ

未経験のステージ

モジュールのネットワーク関係の利用

Page 10: kobayashi_m

モジュールごとのfunの推定画面内には22~3個のモジュール

死亡回数 :d

通過回数 :p

fun: sp =p

pd

モジュールごとの

121番

1

1

2929個のノード 121番

122番

135番

・・・

・・・

150番

1

29

1

29

1

29

121番モジュールを通過した時のネットワークを利用した推定

Page 11: kobayashi_m

通過回数+1

画面内には22~3個のモジュール

死亡回数 :d

通過回数 :p

fun: sp =p

pd

モジュールごとの

121番

1

1

2929個のノード 121番

122番

135番

・・・

・・・

150番

1

29

1

29

1

29

121番モジュールを通過した時のネットワークを利用した推定

モジュールごとのfunの推定

Page 12: kobayashi_m

通過回数+1/2 通過回数+1/2

画面内には22~3個のモジュール

死亡回数 :d

通過回数 :p

fun: sp =p

pd

モジュールごとの

121番

1

1

2929個のノード 121番

122番

135番

・・・

・・・

150番

1

29

1

29

1

29

121番モジュールを通過した時のネットワークを利用した推定

モジュールごとのfunの推定

Page 13: kobayashi_m

通過回数+1/3

通過回数+1/3

画面内には22~3個のモジュール

死亡回数 :d

通過回数 :p

fun: sp =p

pd

モジュールごとの

121番

1

1

2929個のノード 121番

122番

135番

・・・

・・・

150番

1

29

1

29

1

29

121番モジュールを通過した時のネットワークを利用した推定

モジュールごとのfunの推定

Page 14: kobayashi_m

... ,1

5,1

4

1

4,1

5, ...

画面内には22~3個のモジュール

死亡回数 :d

通過回数 :p

fun: sp =p

pd

モジュールごとの

121番

1

1

2929個のノード 121番

122番

135番

・・・

・・・

150番

1

29

1

29

1

29

121番モジュールを通過した時のネットワークを利用した推定

モジュールごとのfunの推定

Page 15: kobayashi_m

画面内には22~3個のモジュール

死亡回数 :d

通過回数 :p

fun: sp =p

pd

モジュールごとの

121番

1

1

2929個のノード 121番

122番

135番

・・・

・・・

150番

1

29

1

29

1

29観測部分 推定部分

121番モジュールを通過した時のネットワークを利用した推定

モジュールごとのfunの推定

Page 16: kobayashi_m

プレイしたステージのログ 未経験のステージ

分解

分解

プレイしたステージのログ

合算

未経験のステージの評価

funの推定

Page 17: kobayashi_m

未経験のステージのfun

未経験のステージn

ステージnのfun

プレイしたステージのログ

x1 x2 x3

・・・・・・

xn

・・・・・・

x ' 1

x ' 2

x ' 3

・・・・・・

x ' n

・・・・・・

ネットワークを利用した推定

平均

−1.0≤fun≤1.0

Page 18: kobayashi_m

実験概要使用するゲーム使用するゲーム

自作したマリオクローン(2Dプラットフォーム型ゲーム)

実験1実験1

全5ステージ用意(1つのステージが200個のモジュールで構成)ステージ1から順に難しくなるステージ順は固定

実験2実験2

全20ステージ用意(1つのステージが110個のモジュールで構成)ステージ1から順に難しくなる(実験1の場合ほど明確ではない)ステージ順は提案手法によって選択される

目的:skillの変化に応じてfunが変化するか

目的:提案手法によるステージ選択の結果確認

Page 19: kobayashi_m

実験1で使用したステージ

ステージ1ステージ1

ステージ2ステージ2

ステージ3ステージ3

ステージ5ステージ5

ステージ4ステージ4クリボー、落とし穴(平地)ノコノコ(前方に壁無)

ノコノコ(前方に壁有)、トゲゾー連続した敵(同種)

ノコノコ(前方後方に壁有)高さのある落とし穴連続した敵(異種)

キラー(単体)キラー(壁越え利用)

キラー(複数)キラー+落とし穴

5人:ステージ1~ステージ5の順にプレイ9人:ステージ5~ステージ1の順にプレイ

ステージ1から順に難しくなる設計

Page 20: kobayashi_m

1 2 3 4 5

0.00

0.02

0.04

0.06

0.08

1 2 3 4 5-0.005

0.000

0.005

0.010

0.015

0.020

1 2 3 4 5

-0.0030

-0.0025

-0.0020

-0.0015

-0.0010

-0.0005

0.0000

0.0005

1 2 3 4 5

0.00

0.02

0.04

0.06

0.08

1 2 3 4 5-0.02

0.00

0.02

0.04

0.06

1 2 3 4 5-0.02

0.00

0.02

0.04

0.06

1 2 3 4 5

0.00

0.05

0.10

0.15

0.20

1 2 3 4 5-0.02

0.00

0.02

0.04

0.06

1 2 3 4 5

-0.008

-0.006

-0.004

-0.002

0.000

プレイ回数の増加に伴うfunの値の変化(正順)

1回目のプレイ終了後 全体の半分が経過 最後の1回player

A

プレイ回数

350回

クリア

stage5

B

プレイ回数

29回

クリア

stage5

C

プレイ回数

84回

クリア

stage2

ステージ1ステージ1 ステージ2ステージ2 ステージ3ステージ3 ステージ4ステージ4 ステージ5ステージ5ステージ順

c

f

c

f

c

f

c

f

c

f

c

f

c

f

c

f

c

f

プレイ回数

Page 21: kobayashi_m

1 2 3 4 5

-0.40

-0.30

-0.20

-0.10

0.00

0.10

0.20

0.30

1 2 3 4 5

0.00

0.10

0.20

0.30

1 2 3 4 5

0.00

0.05

0.10

0.15

0.20

1 2 3 4 5

0.00

0.05

0.10

0.15

0.20

0.25

1 2 3 4 5

0.00

0.05

0.10

0.15

0.20

0.25

1 2 3 4 5

-0.010

-0.008

-0.006

-0.004

-0.002

0.000

1 2 3 4 5

-0.40

-0.30

-0.20

-0.10

0.00

0.10

0.20

0.30

1 2 3 4 5-0.05

0.00

0.05

0.10

0.15

0.201 2 3 4 5

-0.014

-0.012

-0.010

-0.008

-0.006

-0.004

-0.002

0.000

プレイ回数の増加に伴うfunの値の変化(逆順)

A

プレイ回数

452回

クリア

stage1

B

プレイ回数

80回

クリア

stage1

C

プレイ回数

105回

クリア

なし

1回目のプレイ終了後 全体の半分が経過 最後の1回player

ステージ5ステージ5 ステージ4ステージ4 ステージ3ステージ3 ステージ2ステージ2 ステージ1ステージ1ステージ順

c

f

c

f

c

f

c

f

c

f

c

f

c

f

c

f

c

f

プレイ回数

Page 22: kobayashi_m

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

-0.04

-0.02

0.00

0.02

0.04

0.06

0.08

0.10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

0.00

0.05

0.10

0.15

0.20

実験2ー提案手法によるステージ選択の例ー

プレイ回数:47

ステージ1ステージ1 ステージ12ステージ12 ステージ14ステージ14 ステージ16ステージ16

クリアクリア クリアクリア クリアクリア クリアクリア

stage12クリア後

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

-0.02

-0.01

0.00

0.01

0.02

0.03

0.04

0.05

0.06

0.07

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

-0.02

-0.01

0.00

0.01

0.02

0.03

0.04

stage16クリア後

stage1クリア後

c

f

c

fstage14クリア後

c

f

c

f

Page 23: kobayashi_m

実際のステージ選択の例(考察)

ステージ1ステージ1

ステージ12ステージ12

ステージ14ステージ14

ステージ16ステージ16

ステージ13ステージ13

未知のシチュエーション

Page 24: kobayashi_m

まとめ

LowHigh

High

High

skill

challenge

fun

FLOWboredom

anxiety

ステージをモジュールという部品に分解 モジュール一つ一つのfunからステージのfunを推定

fun

High

HighLow challenge

skill s skill t

プレイしたステージのログ 未経験のステージn

目的目的 プレイヤーの楽しさが最大となるステージの選択

Page 25: kobayashi_m
Page 26: kobayashi_m

デジタルゲームの製作手順デジタルゲームの製作手順

コンテンツデータ

3Dモデル

スクリプト

音楽

音声

設定データ

2Dデータ

ツール

3Dツール

2Dツール

スクリプト言語

サウンドツール

エンジン

ゲームプログラム

ツールプログラマー

開発者

ゲームプログラマー

ゲーム開発における課題

ニッチな手法が多く、汎用性に乏しいプレイヤーの癖や性格といった特徴をプレイ履歴や入力から解析する手法が確立されてはいない

コンテンツ生成に関する研究

プレイヤーを楽しませるための研究

2Dプラットフォーム型ゲームにおけるマップの自動生成に関する研究[Sorenson et al 2010]

協調型共進化を用いた研究[Cook et al 2012]

ゲームシステム・ルールの改良に関する研究[Togelius et al 2008],[Cook et al 2011]

プロシージャル技術以前の製作手法

・手作業によるゲームデータの生成・手作業によるゲームデータの動作定義

プロシージャル技術

・計算によるゲームデータの生成・計算によるゲームデータの動作定義

プロシージャル技術とその課題

Page 27: kobayashi_m

デジタルゲームの製作手順デジタルゲームの製作手順

プロシージャル技術とその課題

コンテンツデータ

3Dモデル

スクリプト

音楽

音声

設定データ

2Dデータ

ツール

3Dツール

2Dツール

スクリプト言語

サウンドツール

エンジン

ゲームプログラム

ツールプログラマー

開発者

ゲームプログラマー

ゲーム開発における課題

ニッチな手法が多く、汎用性に乏しいプレイヤーの癖や性格といった特徴をプレイ履歴や入力から解析する手法が確立されてはいない

コンテンツ生成に関する研究

プレイヤーを楽しませるための研究

2Dプラットフォーム型ゲームにおけるマップの自動生成に関する研究[Sorenson et al 2010]

協調型共進化を用いた研究[Cook et al 2012]

ゲームシステム・ルールの改良に関する研究[Togelius et al 2008],[Cook et al 2011]

プロシージャル技術以前の製作手法

・手作業によるゲームデータの生成・手作業によるゲームデータの動作定義

プロシージャル技術

・計算によるゲームデータの生成・計算によるゲームデータの動作定義

Page 28: kobayashi_m

デジタルゲームの製作手順デジタルゲームの製作手順

コンテンツデータ

3Dモデル

スクリプト

音楽

音声

設定データ

2Dデータ

ツール

3Dツール

2Dツール

スクリプト言語

サウンドツール

エンジン

ゲームプログラム

ツールプログラマー

開発者

ゲームプログラマー

ゲーム開発における課題

ニッチな手法が多く、汎用性に乏しいプレイヤーの癖や性格といった特徴をプレイ履歴や入力から解析する手法が確立されてはいない

コンテンツ生成に関する研究

プレイヤーを楽しませるための研究

2Dプラットフォーム型ゲームにおけるマップの自動生成に関する研究[Sorenson et al 2010]

協調型共進化を用いた研究[Cook et al 2012]

ゲームシステム・ルールの改良に関する研究[Togelius et al 2008],[Cook et al 2011]

プロシージャル技術以前の製作手法

・手作業によるゲームデータの生成・手作業によるゲームデータの動作定義

プロシージャル技術

・計算によるゲームデータの生成・計算によるゲームデータの動作定義

プロシージャル技術とその課題

Page 29: kobayashi_m

デジタルゲームの製作手順デジタルゲームの製作手順

コンテンツデータ

3Dモデル

スクリプト

音楽

音声

設定データ

2Dデータ

ツール

3Dツール

2Dツール

スクリプト言語

サウンドツール

エンジン

ゲームプログラム

ツールプログラマー

開発者

ゲームプログラマー

ゲーム開発における課題

ニッチな手法が多く、汎用性に乏しいプレイヤーの癖や性格といった特徴をプレイ履歴や入力から解析する手法が確立されてはいない

コンテンツ生成に関する研究

プレイヤーを楽しませるための研究

2Dプラットフォーム型ゲームにおけるマップの自動生成に関する研究[Sorenson et al 2010]

協調型共進化を用いた研究[Cook et al 2012]

ゲームシステム・ルールの改良に関する研究[Togelius et al 2008],[Cook et al 2011]

プロシージャル技術以前の製作手法

・手作業によるゲームデータの生成・手作業によるゲームデータの動作定義

プロシージャル技術

・計算によるゲームデータの生成・計算によるゲームデータの動作定義

プロシージャル技術とその課題

Page 30: kobayashi_m

プレイ回数の増加に伴うfunの推移(正順)

ステージをクリアできなかった

ステージをクリアした

○ 内の数値は挑戦回数

挑戦回数0

0.16stage1

0.015

0.025

stage2

-0.025

0.025

stage5

-0.04

0.05

stage4

-0.01

0.06

stage3

ステージn挑戦時の評価値の推移

Page 31: kobayashi_m

ステージn挑戦時の評価値の推移

挑戦回数-0.01

0.0

stage1

-0.025

0.01

stage2

-0.35

0.15

stage5

-0.02

0.14

stage4

-0.02

0.07

stage3

プレイ回数の増加に伴うfunの推移(逆順)

Page 32: kobayashi_m

B

実際のステージ選択の例プレイ回数:48

ステージ1ステージ1 ステージ12ステージ12 ステージ18ステージ18

クリアクリア クリアクリア 諦めた諦めた

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

-0.05

0.00

0.05

0.10

0.15

0.20

stage1クリア後

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

-0.04

-0.02

0.00

0.02

0.04

0.06

0.08

0.10

0.12

stage12クリア後

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

-0.04

-0.02

0.00

0.02

0.04

0.06

0.08

stage18最後のプレイ後