HPのいろはについて
不思議の幻想郷だけではなく、全てのローグライクにおいて重要視される体力(HP)
その仕様について色々と考察してみようというのがこのページです。
その仕様について色々と考察してみようというのがこのページです。
HPの基本仕様
- Lv1の時の初期値はHP10
- 最大HPはLvが1上がった時に3から8までの範囲でランダムに増加する。
- HPが最大の時に緑茶を飲むと最大HPが1、玉露を飲むと最大HPが3増加する。HPは最大HPが増えた分だけ回復する。
- どくだみ茶を飲むと最大HPが5増加する。ただしHPは増えた分も回復しない。
- ターンを消費した後にHPは自然回復する。ただし衰弱状態・満腹度0の時は1ターンを消費するごとにHPが1減少する。
これらは不思議の幻想郷をする上で必要不可欠なものである。
なお最大HPの限界は999である。
最大HPが999の時にレベルアップ、ドーピングをしても最大HPは999のままで、しかもHPが999の時にダメージを受けると998以下になる。
よって見た目だけでなく実際の限界も999であることが分かる。
最大HPが999の時にレベルアップ、ドーピングをしても最大HPは999のままで、しかもHPが999の時にダメージを受けると998以下になる。
よって見た目だけでなく実際の限界も999であることが分かる。
レベルアップによる最大HP上昇量の分布
HPの基本仕様で「Lvが1上がった時に3から8までの範囲でランダムに最大HPが増加する」ことは説明したが、ここではそのランダムがどの程度の確率で分布しているものかを調べる。
調べ方
裏庭でしあわせになれるくすりを飲み、ひたすらレベルアップ時に増えた最大HPをメモする。
また、不思議おはぎの経験値2倍の効果を得た状態でしあわせになれるくすりを飲み、1回で2Lv上がる場合でも同様に最大HPをメモする。
また、不思議おはぎの経験値2倍の効果を得た状態でしあわせになれるくすりを飲み、1回で2Lv上がる場合でも同様に最大HPをメモする。
調査結果
- 1度に1Lv上がる時の最大HP増加量(試行回数600回)
HP+3 | HP+4 | HP+5 | HP+6 | HP+7 | HP+8 |
100回 | 103回 | 101回 | 103回 | 97回 | 96回 |
最大HP増加量の平均⇒5.47
- 1度に2Lv上がる時の最大HP増加量(試行回数480回)
HP+6 | HP+7 | HP+8 | HP+9 | HP+10 | HP+11 | HP+12 | HP+13 | HP+14 | HP+15 | HP+16 |
9回 | 20回 | 48回 | 44回 | 78回 | 88回 | 55回 | 55回 | 37回 | 33回 | 13回 |
最大HP増加量の平均⇒11.08
考察
1度に1Lv上がる時の最大HP増加量の分布は+3から+8までほぼ等確率であり、確率的に+5や+6が+3や+8より発生しやすい等ということは起こらないことが分かる。
よって1Lv上がる時の最大HP増加量の期待値は+5.5であると考えてほぼ間違いないだろう。
よって1Lv上がる時の最大HP増加量の期待値は+5.5であると考えてほぼ間違いないだろう。
1度に2Lv上がる時の最大HP増加量の分布は+11の確率が最も高く、+11から離れるほど低くなっている。
つまり1度に2Lv以上上がる時も、1Lvごとに最大HP増加の判定が行われていると考えられる。
1000回2000回とさらに多くデータを集めれば、それぞれの確率が1/36、2/36、…、6/36、7/36、6/36、…、2/36、1/36に近づくと考えられる。
つまり1度に2Lv以上上がる時も、1Lvごとに最大HP増加の判定が行われていると考えられる。
1000回2000回とさらに多くデータを集めれば、それぞれの確率が1/36、2/36、…、6/36、7/36、6/36、…、2/36、1/36に近づくと考えられる。
レベルダウンによる最大HP減少量の分布
Lvが下がると当然最大HPも下がるが、ここではその減少量について調べる。
調べ方1(Lv2からドロドロおはぎで調査)
裏庭でしあわせになれるくすりを1個飲み、Lv2の時の最大HPが18(13)になるよう調整する。
最大HPが18(13)になったらドロドロおはぎを何個も食べ、レベルが下がったらその時の最大HPをメモする。
※古井戸限定ドロップの逆行薬を狙えば調査が容易なのだが、この時古井戸で逆行薬を倉庫に送ることが出来なかったため妥協案として賽銭箱や腐敗の罠で容易に手に入るドロドロおはぎを使用した。
最大HPが18(13)になったらドロドロおはぎを何個も食べ、レベルが下がったらその時の最大HPをメモする。
※古井戸限定ドロップの逆行薬を狙えば調査が容易なのだが、この時古井戸で逆行薬を倉庫に送ることが出来なかったため妥協案として賽銭箱や腐敗の罠で容易に手に入るドロドロおはぎを使用した。
調査結果1(Lv2からドロドロおはぎで調査)
- Lv2HP18からレベルダウン(試行回数200回)
HP-3 | HP-4 | HP-5 | HP-6 | HP-7 | HP-8 |
42回 | 37回 | 33回 | 24回 | 32回 | 32回 |
最大HP減少量の平均⇒5.32
- Lv2HP13からレベルダウン(試行回数200回)
HP-3 | HP-4 | HP-5 | HP-6 | HP-7 | HP-8 |
40回 | 22回 | 29回 | 31回 | 33回 | 35回 |
最大HP減少量の平均⇒5.49
- 上の2つの表をまとめたもの(試行回数400回)
HP-3 | HP-4 | HP-5 | HP-6 | HP-7 | HP-8 |
82回 | 59回 | 72回 | 55回 | 67回 | 65回 |
最大HP減少量の平均⇒5.4
考察1(Lv2からドロドロおはぎで調査)
レベルアップ時のHP上昇量と同様、レベルダウン時のHP減少量は-3~-8からランダムに選ばれることが調査結果から明らかとなった。
また、最大HPが十分に低いとレベルダウンによって最大HPが初期値10を下回る可能性があることも判明した。
また、最大HPが十分に低いとレベルダウンによって最大HPが初期値10を下回る可能性があることも判明した。
2つの表をまとめたものでは最大HP-3が若干出やすいように見えるが、全て等確率とみなせたレベルアップと違い、本当にHP-3が出やすいかどうかはもう少しデータを集める必要があるだろう。
調べ方2(高いレベルから逆行薬で調査)
裏庭であらかじめしあわせになれるくすり適量と最大HPのドーピングを行い、万が一最大HP-8が出続けてもLv1までに最大HPが1以下にならないようにする。
その後、蛇と蛙の髪飾りを身につけて逆行薬を飲み、最大HPの減少量をメモする。
その後、蛇と蛙の髪飾りを身につけて逆行薬を飲み、最大HPの減少量をメモする。
調査結果2(高いレベルから逆行薬で調査)
HP-3 | HP-4 | HP-5 | HP-6 | HP-7 | HP-8 |
339回 | 293回 | 300回 | 304回 | 345回 | 329回 |
最大HP減少量の平均⇒5.53
試行回数⇒1910回
試行回数⇒1910回
考察2(高いレベルから逆行薬で調査)
調査結果には一番多いHP-7が345回、一番少ないHP-4が293回と50回程度の差が生じている。
しかしHP-3から-8まで等確率に生じるとした場合でもこの程度の差は起こりうる。
(※何故起こりうるかは統計学の話になるため詳しいことは割愛するが、今回の場合では計算上95%の確率で286回~351回のどれかの回数が出る。)
よってHP-3が特別出やすいのではなく、HP-3から-8までが等確率で出るということも十分考えられる。
本当に等確率かどうかはまだまだ疑わしいところなので、断定出来る結論を出すためにはさらに数千回の試行を繰り返す必要があるだろう。
が、2000回近くも同じ調査を行いそろそろ気が滅入ってきたため、レベルダウン時の最大HP減少量についての考察はこれにて打ち切りとする。
しかしHP-3から-8まで等確率に生じるとした場合でもこの程度の差は起こりうる。
(※何故起こりうるかは統計学の話になるため詳しいことは割愛するが、今回の場合では計算上95%の確率で286回~351回のどれかの回数が出る。)
よってHP-3が特別出やすいのではなく、HP-3から-8までが等確率で出るということも十分考えられる。
本当に等確率かどうかはまだまだ疑わしいところなので、断定出来る結論を出すためにはさらに数千回の試行を繰り返す必要があるだろう。
が、2000回近くも同じ調査を行いそろそろ気が滅入ってきたため、レベルダウン時の最大HP減少量についての考察はこれにて打ち切りとする。
ピンチの時の点滅状態
HPが減少しピンチになると画面上の文字が赤く点滅するが、HPがどの程度減ったら点滅状態になるかをここでは調べる。
調べ方
裏庭でしあわせになれるくすりを必要個飲み、Lvと最大HPをメモする。
その後防具を付けずに爆薬を飲むとHPが1になり、点滅状態となるのでHPを自然回復させる。
自然回復しているうちに点滅状態からそうでない状態に回復するので、いつ回復したかを記録する。
これを様々なLvと最大HPについて調べる。
なお結果が分かりやすくなるように、最大HPは5の倍数にする。
その後防具を付けずに爆薬を飲むとHPが1になり、点滅状態となるのでHPを自然回復させる。
自然回復しているうちに点滅状態からそうでない状態に回復するので、いつ回復したかを記録する。
これを様々なLvと最大HPについて調べる。
なお結果が分かりやすくなるように、最大HPは5の倍数にする。
調査結果
レベル | 最大HP | 解除された時 |
1 | 10 | HP3 |
2 | 15 | HP4になってから4ターン後(表示はHP4) |
3 | 20 | HP6 |
4 | 25 | HP7になってから2ターン後 |
5 | 30 | HP9 |
6 | 35 | HP10になってから2ターン後 |
7 | 40 | HP12 |
8 | 45 | HP13になってから1ターン後 |
9 | 50 | HP15 |
10 | 55 | HP16になってから2ターン後 |
11 | 60 | HP18 |
13 | 70 | HP21 |
15 | 80 | HP24 |
17 | 90 | HP27 |
19 | 100 | HP30 |
レベル | 最大HP | 解除された時 |
10 | 80 | HP24 |
15 | 80 | HP24 |
20 | 80 | HP24 |
レベル | 最大HP | 解除された時 |
10 | 55 | HP16になってから2ターン後 |
10 | 80 | HP24 |
20 | 80 | HP24 |
20 | 105 | HP32 |
考察
点滅状態はLvに関係なくHPが最大HPの3割未満の時であると考えられる。
また最大HPが奇数(1の桁が5)の時、点滅状態がHPが□まで回復した時ではなく、□になってから△ターン経過(HPは□のまま)した時に解除されている。
したがって3割未満というのは画面に表示されている整数値のHP(以下「表示HP」)ではなく、プログラム内部で管理されている小数点以下を含むHP(以下「内部HP」)が最大HPの3割未満であることのようである。
また、表示HPは内部HPの小数点以下を切り捨てた値になるようである。
また最大HPが奇数(1の桁が5)の時、点滅状態がHPが□まで回復した時ではなく、□になってから△ターン経過(HPは□のまま)した時に解除されている。
したがって3割未満というのは画面に表示されている整数値のHP(以下「表示HP」)ではなく、プログラム内部で管理されている小数点以下を含むHP(以下「内部HP」)が最大HPの3割未満であることのようである。
また、表示HPは内部HPの小数点以下を切り捨てた値になるようである。
HPの自然回復量
前述したとおり、ローグライクでは特定の状況下を除きターンを消費するごとにHPが自然回復する。
また多くのローグライクではこのHPの自然回復は「1ターンにつき最大HP÷150だけHPが回復する」という仕様になっている。
不思議の幻想郷ではどんな要素によって回復量が変化し、1ターンにどれだけ回復するのか、それをここで調べる。
また多くのローグライクではこのHPの自然回復は「1ターンにつき最大HP÷150だけHPが回復する」という仕様になっている。
不思議の幻想郷ではどんな要素によって回復量が変化し、1ターンにどれだけ回復するのか、それをここで調べる。
調べ方
こちらも裏庭でしあわせになれるくすりを必要個飲み、Lvと最大HPをメモする。
その後防具を付けずに爆薬を飲むとHPが1になるので、HPがxからx+1まで回復するため消費するターンをx=1から出来るだけ多く記録する。
なお爆薬を飲んだターンにもHPは自然回復しているため、HPが1から2まで回復するために消費したターンには爆薬を飲んだターンを含める。
(古井戸の終盤等で爆発の罠を踏んでしまった時、踏んだターンにもHPが1から回復するのはそのためである。)
また1ターンにHPが2回復する時もある。例えばHP2から1ターンでHP4まで回復することがある。
この時は便宜上、HP2から3に回復するため0ターンを、3から4に回復するため1ターン消費したこととする。
その後防具を付けずに爆薬を飲むとHPが1になるので、HPがxからx+1まで回復するため消費するターンをx=1から出来るだけ多く記録する。
なお爆薬を飲んだターンにもHPは自然回復しているため、HPが1から2まで回復するために消費したターンには爆薬を飲んだターンを含める。
(古井戸の終盤等で爆発の罠を踏んでしまった時、踏んだターンにもHPが1から回復するのはそのためである。)
また1ターンにHPが2回復する時もある。例えばHP2から1ターンでHP4まで回復することがある。
この時は便宜上、HP2から3に回復するため0ターンを、3から4に回復するため1ターン消費したこととする。
まずはHPの自然回復量に関係するだろう最大HPとLvのどちらが自然回復量に関わるかを調べる。
なお最大HPはレベルアップで増える分とアイテムドーピングで増える分があるため、それも区別して調べることとする。
なお最大HPはレベルアップで増える分とアイテムドーピングで増える分があるため、それも区別して調べることとする。
自然回復量に関わる要素が判明したら、今度は詳細にHPが1回復するまでに消費するターンを記録し、そこから1ターン毎のHP自然回復量を逆算する。
なお表示HPの仕様上、自然回復量の逆算は若干複雑なものを用いる必要があるので、計算方法を考えるのが煩わしいという方は逆算方法を省略してもらって構いません。
なお表示HPの仕様上、自然回復量の逆算は若干複雑なものを用いる必要があるので、計算方法を考えるのが煩わしいという方は逆算方法を省略してもらって構いません。
+ | HP自然回復量の逆算方法 |
調査結果1(自然回復量に関わる要素の調査)
※以下断りのない時はアイテムドーピングによる最大HP増加は無い
- レベルアップによって増えた最大HPが同じで、レベルが違う場合
レベル | 最大HP | HPを1回復させるために消費したターン | |||||||||||||
1→2 | 2→3 | 3→4 | 4→5 | 5→6 | 6→7 | 7→8 | 8→9 | 9→10 | 10→11 | 11→12 | 12→13 | 13→14 | 14→15 | ||
10 | 80 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 |
15 | 80 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
20 | 80 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 1 | 2 | 1 | 2 |
- アイテムドーピングによって増えた最大HPが同じで、レベルが違う場合
レベル | 最大HP | HPを1回復させるために消費したターン | |||||||||||||
1→2 | 2→3 | 3→4 | 4→5 | 5→6 | 6→7 | 7→8 | 8→9 | 9→10 | 10→11 | 11→12 | 12→13 | 13→14 | 14→15 | ||
9 | 50 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 2 | 3 | 2 | 3 | 2 | 3 |
9 | 80(Lv9HP50から緑茶30) | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 2 | 3 | 2 | 3 | 2 | 3 |
9 | 80(Lv9HP50から玉露10) | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 2 | 3 | 2 | 3 | 2 | 3 |
9 | 80(Lv9HP50からどくだみ6) | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 2 | 3 | 2 | 3 | 2 | 3 |
15 | 80 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
- レベルが同じで、最大HPが違う場合
レベル | 最大HP | HPを1回復させるために消費したターン | |||||||||||||
1→2 | 2→3 | 3→4 | 4→5 | 5→6 | 6→7 | 7→8 | 8→9 | 9→10 | 10→11 | 11→12 | 12→13 | 13→14 | 14→15 | ||
10 | 55 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 |
10 | 80 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 | 2 | 3 | 2 |
20 | 80 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 1 | 2 | 1 | 2 |
20 | 105 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 1 | 2 | 1 | 2 |
考察1(自然回復量に関わる要素の調査)
最大HPが同じ時でも、レベルが違うと自然回復量はレベルが高ければ高い程大きくなっている。
逆にレベルが同じ時は、最大HPが違っても自然回復量が全く同じになっている。
よって不思議の幻想郷のHP自然回復量はレベルによって変化し、最大HPは関係しないことが分かった。
逆にレベルが同じ時は、最大HPが違っても自然回復量が全く同じになっている。
よって不思議の幻想郷のHP自然回復量はレベルによって変化し、最大HPは関係しないことが分かった。
調査結果2(自然回復量の調査)
- HPを1回復させるために消費するターンのデータ
今回はLv1から60までの場合において、少ない時は1Lvにつき9~39個、多い時は1Lvにつき199個のデータを取った。
しかしこれを全て載せると非常に膨大な量のデータを記述する必要があるため、ここには参考程度に一部のデータを載せることとする。
しかしこれを全て載せると非常に膨大な量のデータを記述する必要があるため、ここには参考程度に一部のデータを載せることとする。
+ | データテーブル(Lv20のHP1→20までの消費ターンのデータ) |
Lv1とLv4では「HP自然回復量がどのターンでも同じだとすると矛盾する」ターン数が出てきた。
同じ回復量では消費するターン数は1だけ違う2種類が繰り返し登場するはずであるが、Lv1では9と10と11、Lv4では4と5と6が出てくる。
他のLvではこのようなことは起こっていないため記録ミスを疑ったが、何度試しても同じデータが取れたため、記録ミスでもないようである。
同じ回復量では消費するターン数は1だけ違う2種類が繰り返し登場するはずであるが、Lv1では9と10と11、Lv4では4と5と6が出てくる。
他のLvではこのようなことは起こっていないため記録ミスを疑ったが、何度試しても同じデータが取れたため、記録ミスでもないようである。
- Lv1から60までの1ターン毎のHP自然回復量
+ | データテーブル(消費ターンから逆算した自然回復量の条件) |
考察2(自然回復量の調査)
消費ターンから逆算した自然回復量の条件を満たす小数第二位の数字を1ターン毎のHP自然回復量と仮定し、書きかえると下のようになる。
レベル | HP自然回復量 | (差分) | レベル | HP自然回復量 | (差分) | レベル | HP自然回復量 | (差分) | ||
1 | 0.10 | × | 21 | 0.71 | 0.02 | 41 | 1.39 | 0.04 | ||
2 | 0.11 | 0.01 | 22 | 0.75 | 0.04 | 42 | 1.41 | 0.02 | ||
3 | 0.14 | 0.03 | 23 | 0.79 | 0.04 | 43 | 1.45 | 0.04 | ||
4 | 0.20 | 0.06 | 24 | 0.81 | 0.02 | 44 | 1.49 | 0.04 | ||
5 | 0.25 | 0.05 | 25 | 0.85 | 0.04 | 45 | 1.51 | 0.02 | ||
6 | 0.30 | 0.05 | 26 | 0.89 | 0.04 | 46 | 1.55 | 0.04 | ||
7 | 0.34 | 0.04 | 27 | 0.91 | 0.02 | 47 | 1.59 | 0.04 | ||
8 | 0.40 | 0.06 | 28 | 0.95 | 0.04 | 48 | 1.61 | 0.02 | ||
9 | 0.41 | 0.01 | 29 | 0.99 | 0.04 | 49 | 1.65 | 0.04 | ||
10 | 0.43 | 0.02 | 30 | 1.01 | 0.02 | 50 | 1.69 | 0.04 | ||
11 | 0.45 | 0.02 | 31 | 1.05 | 0.04 | 51 | 1.71 | 0.02 | ||
12 | 0.47 | 0.02 | 32 | 1.09 | 0.04 | 52 | 1.75 | 0.04 | ||
13 | 0.49 | 0.02 | 33 | 1.11 | 0.02 | 53 | 1.79 | 0.04 | ||
14 | 0.50 | 0.01 | 34 | 1.15 | 0.04 | 54 | 1.80 | 0.01 | ||
15 | 0.51 | 0.01 | 35 | 1.19 | 0.04 | 55 | 0.00 | |||
16 | 0.55 | 0.04 | 36 | 1.21 | 0.02 | 56 | ||||
17 | 0.59 | 0.04 | 37 | 1.25 | 0.04 | 57 | ||||
18 | 0.61 | 0.02 | 38 | 1.29 | 0.04 | 58 | ||||
19 | 0.65 | 0.04 | 39 | 1.31 | 0.02 | 59 | ||||
20 | 0.69 | 0.04 | 40 | 1.35 | 0.04 | 60 |
上の表からいえることは
- 1ターン毎のHP自然回復量を即座に導くことのできる公式は存在しない。
- Lv54まではレベルが上がると1ターン毎のHP自然回復量も増加する。
- Lv55以降のHP自然回復量はLv54と変わらない。
- HP自然回復量の増分は、Lv3~8では大きく、Lv8~Lv15では逆に小さく、Lv15~Lv53では3Lv周期で規則正しく変化している。
ことだろう。
実際にこの回復量を用いて爆薬を飲んでからの自然回復をシミュレーションしたところ、実際の自然回復に近いものが得られた。
しかしわずかながら誤差が見られる場合も存在する上に、矛盾したデータが得られるLv(Lv1やLv4等)も存在するため、この考察で得られたのは「かなり正確ではあるが完全ではない近似データ」である。
厳密に正確なデータを得るためには、誤差が生じる理由をどうにかして探し出すか、あるいはAQUA STYLEに直接質問するかしなければならないだろう。
しかしわずかながら誤差が見られる場合も存在する上に、矛盾したデータが得られるLv(Lv1やLv4等)も存在するため、この考察で得られたのは「かなり正確ではあるが完全ではない近似データ」である。
厳密に正確なデータを得るためには、誤差が生じる理由をどうにかして探し出すか、あるいはAQUA STYLEに直接質問するかしなければならないだろう。
少なくとも不思議の幻想郷のHP自然回復の仕様がかなり特殊なものであることは分かったので、今回の考察はかなりの収穫があったということでこれにて終了する。