ポケモンの強さはレベルの4乗に比例する?

ポケモンSVのストーリーをやっていると、レベル差のあるバトルをすることがあります。このとき、レベル差がどのくらいあるとポケモンの強さがどのくらい変わるのかというのは気になります。

タイトルの通り、ポケモンの強さはレベルの4乗におおよそ比例すると考えられると思ったので、そのことについて書きます。

要約

相手に与えるダメージの割合(ダメージ/最大HP)はおおよそレベルと攻撃力に比例し、防御力とHPに反比例します(簡単のために物理攻撃を考えます)。 また、攻撃力と防御力とHPは、おおよそレベルに比例します。なので、ポケモンの強さはレベルの4乗におおよそ比例すると考えられます。(この記事はこのことを詳しく書きます)

例えば、レベルが1.5倍違うと、ポケモンの強さは1.5の4乗≒5倍違うという計算になります。

ポケモンのダメージの計算式

ポケモンのダメージの計算式は以下で与えられます。

ダメージ = 攻撃側のレベル × 2 ÷ 5 + 2 → 切り捨て
 × 物理技(特殊技)の威力 × 攻撃側のこうげき(とくこう) ÷ 防御側のぼうぎょ(とくぼう) → 切り捨て
 ÷ 50 + 2 → 切り捨て
 × 乱数(0.85, 0.86, …… ,0.99, 1.00 の何れか) → 切り捨て

ダメージ計算式 - ポケモン対戦考察まとめWiki|最新世代(スカーレット・バイオレット) より引用)

小さな定数(2)や切り捨てを無視すれば、ダメージはレベルと攻撃側のこうげきに比例し、防御側のぼうぎょに反比例します。

ポケモンのステータスの計算式

ポケモンのステータスの計算式は以下で与えられます。

HP
 {(種族値×2+個体値努力値/4)×Lv/100}+10+Lv
攻撃,防御,特攻,特防,素早さ
 [{(種族値×2+個体値努力値/4)×Lv/100}+5]×性格補正(1.1,1.0,0.9)

ステータス計算式 - ポケモン対戦考察まとめWiki|最新世代(スカーレット・バイオレット) より引用)

小さな定数(10や5)を無視すればHPや攻撃などはレベルに比例します。

ポケモンの強さとはなにか

2匹のポケモンP, Qが同一の条件で攻撃し合うとします(技の威力が同じでタイプ相性倍率が同じなど)。また、簡単のために物理技を使うものとします。

ここでは、ポケモンの強さを「相手に与えるダメージの割合(ダメージ/最大HP)が大きい方が強い」と考えます。素早さなどは無視します。

このとき、ダメージ計算式から以下のことがいえます。

  • ポケモンPからポケモンQに攻撃するときのダメージ割合は「Pのレベル」×「Pの攻撃」/ (「Qの防御」×「QのHP」) の定数倍
  • ポケモンQからポケモンPに攻撃するときのダメージ割合は「Qのレベル」×「Qの攻撃」/ (「Pの防御」×「PのHP」) の定数倍

(定数倍の部分は共通の値。定数項などを無視しているので少し誤差あり。以下誤差を無視する。)

よって、ダメージ割合を比較する際には、

  • 「Pのレベル」×「Pの攻撃」/ (「Qの防御」×「QのHP」)
  • 「Qのレベル」×「Qの攻撃」/ (「Pの防御」×「PのHP」)

の比較をすればよいです。

上記の2つの値に「Pの防御」×「PのHP」×「Qの防御」×「QのHP」を掛けた、

  • 「Pのレベル」×「Pの攻撃」×「Pの防御」×「PのHP」
  • 「Qのレベル」×「Qの攻撃」×「Qの防御」×「QのHP」

の比較をしてもダメージ割合の比較ができます。 つまり、「レベル」×「攻撃」×「防御」×「HP」が大きい方が相手に与えるダメージ割合が大きくなります。

すなわち、(物理技同士での攻撃し合いを考えると)「レベル」×「攻撃」×「防御」×「HP」はポケモンの強さを表していることになります。(特殊の場合でも同様の議論ができます)

ポケモンの強さはレベルの4乗に比例する

ポケモンの強さを「レベル」×「攻撃」×「防御」×「HP」と考えます。

ステータスの計算式から攻撃・防御・HPはレベルにおおよそ比例します。 なので、「レベル」×「攻撃」×「防御」×「HP」はレベルの4乗におおよそ比例します。つまり、ポケモンの強さはレベルの4乗の比例すると考えられます。

例えば、レベル33とレベル50だと、レベルが50/33≒1.52倍くらい違います。このとき、ポケモンの強さは(50/33)の4乗 ≒ 5.27倍くらい違うという計算になります。(自分がレベル33で相手がレベル50の場合、相手が5倍程度強い分をタイプ相性や戦略などで挽回をすればよいという話になります。)

余談: 計算式に現れる定数を無視しない場合

この記事ではダメージ計算式やステータス計算式に現れる定数を無視してきました。無視しない場合はどうなるか考えます。

ダメージ計算式

ダメージ計算式を再掲します。

ダメージ = 攻撃側のレベル × 2 ÷ 5 + 2 → 切り捨て
 × 物理技(特殊技)の威力 × 攻撃側のこうげき(とくこう) ÷ 防御側のぼうぎょ(とくぼう) → 切り捨て
 ÷ 50 + 2 → 切り捨て
 × 乱数(0.85, 0.86, …… ,0.99, 1.00 の何れか) → 切り捨て

「攻撃側のレベル × 2 ÷ 5 + 2」の部分について考えると、

攻撃側のレベル × 2 ÷ 5 + 2 = (攻撃側のレベル + 5) × 2 ÷ 5

となります。なので、ダメージは「レベル + 5」におおよそ比例するという方がより正確です。 (ただし、他の定数項や切り捨てなどがあって、正確に比例するわけではないです。)

HPの計算式

HPの計算式を再掲します。

HP
 {(種族値×2+個体値努力値/4)×Lv/100}+10+Lv

K = 種族値×2+個体値努力値/4 とすると、HPの計算式は以下のように変形できます。

HP
= {(種族値×2+個体値努力値/4)×Lv/100}+10+Lv
= K×Lv/100 + 10 + Lv
= (K/100 + 1)×Lv + 10
= (K/100 + 1)×(Lv + 10/(K/100 + 1))

つまり、HPは「Lv + 10/(K/100 + 1)」におおよそ比例するというほうがより正確です。

「10/(K/100 + 1)」の部分について、例えば、

となります。HPは「レベル + 2~5くらい」におおよそ比例すると考えられます。(レベルに足す値は種族値個体値努力値に依存します。旅パだと「レベル+4」くらいでしょうか。)

攻撃などの計算式

攻撃などの計算式を再掲します。

攻撃,防御,特攻,特防,素早さ
 [{(種族値×2+個体値努力値/4)×Lv/100}+5]×性格補正(1.1,1.0,0.9)

{(種族値×2+個体値努力値/4)×Lv/100}+5 の部分について考えます。 K = 種族値×2+個体値努力値/4 とすると、以下のようになります。

{(種族値×2+個体値努力値/4)×Lv/100}+5
= K×Lv/100 + 5
= K/100×(Lv + 5/(K/100))

つまり、攻撃などは「Lv + 5/(K/100)」におおよそ比例するというほうがより正確です。

「5/(K/100)」の部分について、例えば、

となります。攻撃などは「レベル + 1~5くらい」におおよそ比例すると考えられます。(旅パだと「レベル+4」くらいでしょうか。)

ポケモンの強さとレベルの関係

今までの話から、旅パにおいては、ポケモンの強さは「(レベル+5)×(レベル+4)の3乗」に比例するくらいに思っておくとよりよいかもです。この場合、レベル33とレベル50の強さは4.50倍違うことになります。(レベルの4乗に比例すると考えて計算をした場合は5.27倍でした。)

実際のところ、強さの倍率について正確な計算をする必要はないはずで、なんとなく「4~5倍強さが違うんだな」というのが分かれば十分かなと思います。そういう意味で、ポケモンの強さはレベルの4乗におおよそ比例すると考えてもそんなに問題はないかなと思います。