ゲームの科学(効率方程式)
2007年2月11日 ゲームの科学パラメータ間の関係において、
パラメータ同士の交換率を決定するパラメータが
特別に重要なのは経験的に知っているものの、
その均衡点はどこやというお話。
()は単位。
総仕事量 T(1)
…仕事の総量。単位なし。
初期効率 1(1/時間)
…普通に仕事をした時の仕事の消化速度。
効率化率 r(1/時間^2)
…効率化によって初期効率に加算される
時間あたりの増加効率量。
所要時間 H(時間)
…仕事が終了するまでにかかる時間。
効率化時間 t(時間)
…効率化にかける時間。
原則的にまず最初に全ての効率化を行うとする。
まず所要時間。
H = {T/(1+rt)}+t
所要時間が最適化される均衡点において
dH(t)/dt=0 だから、
x(t)=1+rt とすると、H(x)=(T/x)+{(x-1)/r} 。
合成関数として微分して、
dH(t)/dt = 0
{dH(x)/dx}{dx(t)/dt} = 0
{(-T/x^2)+(1/r)}r = 0
(-Tr/x^2)+1 = 0
x = +-(Tr)^(1/2)
1+rt = +-(Tr)^(1/2)
t = {-1+-(Tr)^(1/2)}/r
t>=0 なので、
所要時間が最も短くなる均衡点におけるtは、
t = {-1+(Tr)^(1/2)}/r
効率の上昇が一次関数であることは稀だが、簡単のために。
その場合、所要時間の(1+rt)をtの効率関数と考え、
0次以上、1次以下の関数で近似するとよい。たぶん。
【例題】
ある少女が林檎をカゴに入れて運んでいる。
カゴには林檎が一度に10個まで入り、
取って帰ってくるのに2時間かかる。
林檎は全部で500個ある。
ここでh時間かけると
カゴを林檎が20個入るように改造できる時、
改造しない時より仕事が早く終了する
hの限度を求めよ。
さらに、
t時間でカゴに入る最大個数をt個だけ増やせる時、
最も早く仕事を終了する事ができるtを求めよ。
--------------------------------------------------
(解答)
まず総仕事量Tは、
T = 500/(10/2) = 100
効率化しない場合、T=H だからhの限度は、
100/(1+1)+h = 100
h = 50 (時間)
よって、改造した方が早く終わるhの限度は50時間。
なお、効率化率rを効率を1として
換算していることに注意する。
次に均衡点tについて、
t時間で入る林檎がt個増えるのだから効率化率rは、
r = (1/1)/(10/2) = 0.2
よって公式よりtは、
t = {-1+(100*0.2)^(1/2)}/0.2
(ルート20=4.5として)
t = 3.5/0.2
t = 17.5 (時間)
また、その所要時間Hは、
H = {100/(1+0.2*17.5)}+17.5
H = 22.2+17.5
H = 39.7 (時間)
よって、最も仕事が早く終わるのは
t=17.5 時間を効率化に努めた時で、
その場合の所要時間はH=39.7 時間となる。
あってる?
ちなみに逆算すると少女は
林檎を22.5個ずつ運んで仕事を終えた事に。
.5・・・
パラメータ同士の交換率を決定するパラメータが
特別に重要なのは経験的に知っているものの、
その均衡点はどこやというお話。
()は単位。
総仕事量 T(1)
…仕事の総量。単位なし。
初期効率 1(1/時間)
…普通に仕事をした時の仕事の消化速度。
効率化率 r(1/時間^2)
…効率化によって初期効率に加算される
時間あたりの増加効率量。
所要時間 H(時間)
…仕事が終了するまでにかかる時間。
効率化時間 t(時間)
…効率化にかける時間。
原則的にまず最初に全ての効率化を行うとする。
まず所要時間。
H = {T/(1+rt)}+t
所要時間が最適化される均衡点において
dH(t)/dt=0 だから、
x(t)=1+rt とすると、H(x)=(T/x)+{(x-1)/r} 。
合成関数として微分して、
dH(t)/dt = 0
{dH(x)/dx}{dx(t)/dt} = 0
{(-T/x^2)+(1/r)}r = 0
(-Tr/x^2)+1 = 0
x = +-(Tr)^(1/2)
1+rt = +-(Tr)^(1/2)
t = {-1+-(Tr)^(1/2)}/r
t>=0 なので、
所要時間が最も短くなる均衡点におけるtは、
t = {-1+(Tr)^(1/2)}/r
効率の上昇が一次関数であることは稀だが、簡単のために。
その場合、所要時間の(1+rt)をtの効率関数と考え、
0次以上、1次以下の関数で近似するとよい。たぶん。
【例題】
ある少女が林檎をカゴに入れて運んでいる。
カゴには林檎が一度に10個まで入り、
取って帰ってくるのに2時間かかる。
林檎は全部で500個ある。
ここでh時間かけると
カゴを林檎が20個入るように改造できる時、
改造しない時より仕事が早く終了する
hの限度を求めよ。
さらに、
t時間でカゴに入る最大個数をt個だけ増やせる時、
最も早く仕事を終了する事ができるtを求めよ。
--------------------------------------------------
(解答)
まず総仕事量Tは、
T = 500/(10/2) = 100
効率化しない場合、T=H だからhの限度は、
100/(1+1)+h = 100
h = 50 (時間)
よって、改造した方が早く終わるhの限度は50時間。
なお、効率化率rを効率を1として
換算していることに注意する。
次に均衡点tについて、
t時間で入る林檎がt個増えるのだから効率化率rは、
r = (1/1)/(10/2) = 0.2
よって公式よりtは、
t = {-1+(100*0.2)^(1/2)}/0.2
(ルート20=4.5として)
t = 3.5/0.2
t = 17.5 (時間)
また、その所要時間Hは、
H = {100/(1+0.2*17.5)}+17.5
H = 22.2+17.5
H = 39.7 (時間)
よって、最も仕事が早く終わるのは
t=17.5 時間を効率化に努めた時で、
その場合の所要時間はH=39.7 時間となる。
あってる?
ちなみに逆算すると少女は
林檎を22.5個ずつ運んで仕事を終えた事に。
.5・・・
ゲームの科学(N-Oモデル)
2006年11月2日 ゲームの科学やはりゲームは複雑性によって解釈しうると確信する。
まず手始めにシャノン・エントロピーを
複雑さの指標に捉え、
複雑さと面白さの関係を見極める。
単純の為、二つの現象について
ある一つの現象の起こる確率をpとし、
もう一つは1-pで起こるとする。
このときシャノン・エントロピーは
h(p)=-plog(p)-(1-p)log(1-p)
によって求まる。らしい。
シャノン・エントロピーは読み飛ばしててよく分からんが、
対象の持つ情報の量として定義される。
上式は0<p<1において凸型の曲線を描くが、
これは、p=0またはp=1の時、
最も情報を持たず単純な現象であることを示し、
p=0.5において最も複雑化することを意味する。
ここからは心理学的手法を用いる。
単純な確率系面白さでいえば心理学にはすでに
手堅い変比率スケジュールが存在するが、
ここで重要なのは正味の面白さではなく、
あくまで複雑さと面白さの相関を表すことである。
複雑さに面白さが関係するといっても、
複雑であればあるほど面白いとは限らない。
つまり、複雑さの傾きの絶対値に関係するのか、
単純さと複雑さの中間点に関係するのか、
それとも1:3:2:1の区切りに面白さを感じるのか、
統計的に解明することで、
確実なゲーム理論の構築が可能となるのだ・・・
というわけでこんなん作ってみました。
とりあえず黙って1万回クリックだろ?
S・E体感プログラム
http://members4.tsukaeru.net/boo/SE.zip
ぐがああ
-----------
夜明け
-----------
しかしこれ、正確な評価を出すのにものすごく集中力いるね・・・
<僕の試行データ>
23
4
50
2
13
7
6
7
67
6
25
2
30
3
71
4
80
5
76
3
86
3
84
4
6
7
67
6
3
5
27
3
76
2
58
6
33
3
25
4
20
6
5
8
42
4
53
3
4
4
54
4
65
2
55
5
80
6
48
3
61
3
66
3
33
4
43
3
想定外の結果だが、
これは複雑性との相関というより、難易度の解だなぁ・・・
やはり確率で面白さを量るのは無理があったか。
中心で複雑性が最大化するといってもそれは、
1パラメータによる確率の複雑さの中では、
という意味なのだから、
どれ以上複雑になったら面白さが下降しはじめるか?
について全く意味が無い試行だ。
それとは別に、成功率と面白さについて、
一つの仮説がたつ。
すなわち、
成功率が半分以下の時、成功率は低いほど面白く、
成功率が半分以上の時、成功率は低いほど面白い。
ただし成功率が0か1の時、面白さは最小値をとり、
成功率が半分の時、面白さは極小値をとる。
これは難易度の解として機能する。
成功率0← /\/\ →成功率1
な感じの曲線。
それなりに体感と一致する。
左側極大はレゲー、マゾゲーの分野。
右側極大はライトRPG、カジュアルゲーの分野。
それぞれ左側に急激なクソゲーゾーンが
口を開けているのを見ると妙に頷いてしまうぜ・・・
しかしあくまで成功率の中間点は面白さの
極小であって最小ではないのが、
現在の難易度調整の主流の理由なんだろうな。
嫌なことに気づいたが、
この難易度曲線、人生にも適用できるね・・・
とんでもない困難か、半分以上の成功率に人は落ち着く。
中途半端に困難でもあまりに成功し易すぎてもつまらない。
SS
いやむしろこの難易度曲線自体が、
複雑性と面白さの媒介を果たしているのか?
人は問題に対して
基本的に成功する為に取り組むと考えると、
複雑性は成功率の初期値と上昇速度に関係し、
難易度曲線にある3つの谷のうち、
右2つに陥りにくい複雑性を定めるのが
優れたゲームデザインということなのか?
Jを成功率上昇速度、tを時間、
AJ?tを飽きとし(単位は面白さと同じ)、
Aを飽き定数とする。
JはJ(F)でシステムの複雑さで決まる関数とし、
・・・・・・。いや、
SをS(F,t)の
システムの複雑さとプレイ時間で決まる成功率とし、
難易度関数NはN(S)で面白さを与え、
飽き関数AはA(|dS/dt|)と定義すると、
複雑さFのゲームをh時間プレイした時に体感できる
総合的面白さOは、
O =∫(0〜h){N(S(F,t))-A(|dS/dt|)}dt
じゃね?
これを最大化するSを求めるのが重要であって、
複雑性Fはその手段でしかないということか?
まず手始めにシャノン・エントロピーを
複雑さの指標に捉え、
複雑さと面白さの関係を見極める。
単純の為、二つの現象について
ある一つの現象の起こる確率をpとし、
もう一つは1-pで起こるとする。
このときシャノン・エントロピーは
h(p)=-plog(p)-(1-p)log(1-p)
によって求まる。らしい。
シャノン・エントロピーは読み飛ばしててよく分からんが、
対象の持つ情報の量として定義される。
上式は0<p<1において凸型の曲線を描くが、
これは、p=0またはp=1の時、
最も情報を持たず単純な現象であることを示し、
p=0.5において最も複雑化することを意味する。
ここからは心理学的手法を用いる。
単純な確率系面白さでいえば心理学にはすでに
手堅い変比率スケジュールが存在するが、
ここで重要なのは正味の面白さではなく、
あくまで複雑さと面白さの相関を表すことである。
複雑さに面白さが関係するといっても、
複雑であればあるほど面白いとは限らない。
つまり、複雑さの傾きの絶対値に関係するのか、
単純さと複雑さの中間点に関係するのか、
それとも1:3:2:1の区切りに面白さを感じるのか、
統計的に解明することで、
確実なゲーム理論の構築が可能となるのだ・・・
というわけでこんなん作ってみました。
とりあえず黙って1万回クリックだろ?
S・E体感プログラム
http://members4.tsukaeru.net/boo/SE.zip
ぐがああ
-----------
夜明け
-----------
しかしこれ、正確な評価を出すのにものすごく集中力いるね・・・
<僕の試行データ>
23
4
50
2
13
7
6
7
67
6
25
2
30
3
71
4
80
5
76
3
86
3
84
4
6
7
67
6
3
5
27
3
76
2
58
6
33
3
25
4
20
6
5
8
42
4
53
3
4
4
54
4
65
2
55
5
80
6
48
3
61
3
66
3
33
4
43
3
想定外の結果だが、
これは複雑性との相関というより、難易度の解だなぁ・・・
やはり確率で面白さを量るのは無理があったか。
中心で複雑性が最大化するといってもそれは、
1パラメータによる確率の複雑さの中では、
という意味なのだから、
どれ以上複雑になったら面白さが下降しはじめるか?
について全く意味が無い試行だ。
それとは別に、成功率と面白さについて、
一つの仮説がたつ。
すなわち、
成功率が半分以下の時、成功率は低いほど面白く、
成功率が半分以上の時、成功率は低いほど面白い。
ただし成功率が0か1の時、面白さは最小値をとり、
成功率が半分の時、面白さは極小値をとる。
これは難易度の解として機能する。
成功率0← /\/\ →成功率1
な感じの曲線。
それなりに体感と一致する。
左側極大はレゲー、マゾゲーの分野。
右側極大はライトRPG、カジュアルゲーの分野。
それぞれ左側に急激なクソゲーゾーンが
口を開けているのを見ると妙に頷いてしまうぜ・・・
しかしあくまで成功率の中間点は面白さの
極小であって最小ではないのが、
現在の難易度調整の主流の理由なんだろうな。
嫌なことに気づいたが、
この難易度曲線、人生にも適用できるね・・・
とんでもない困難か、半分以上の成功率に人は落ち着く。
中途半端に困難でもあまりに成功し易すぎてもつまらない。
SS
いやむしろこの難易度曲線自体が、
複雑性と面白さの媒介を果たしているのか?
人は問題に対して
基本的に成功する為に取り組むと考えると、
複雑性は成功率の初期値と上昇速度に関係し、
難易度曲線にある3つの谷のうち、
右2つに陥りにくい複雑性を定めるのが
優れたゲームデザインということなのか?
Jを成功率上昇速度、tを時間、
AJ?tを飽きとし(単位は面白さと同じ)、
Aを飽き定数とする。
JはJ(F)でシステムの複雑さで決まる関数とし、
・・・・・・。いや、
SをS(F,t)の
システムの複雑さとプレイ時間で決まる成功率とし、
難易度関数NはN(S)で面白さを与え、
飽き関数AはA(|dS/dt|)と定義すると、
複雑さFのゲームをh時間プレイした時に体感できる
総合的面白さOは、
O =∫(0〜h){N(S(F,t))-A(|dS/dt|)}dt
じゃね?
これを最大化するSを求めるのが重要であって、
複雑性Fはその手段でしかないということか?