ダメージ暗算でポケモン界をぶっ壊す!【脱ダメージ感覚】

猫村銀杏(ねこむらいちょう)と申します。ポケモンの話中心。小説とかも書いてます。

ポケモンのダメージを暗算する方法

ご覧いただきありがとうございます。猫村銀杏です。

当記事では、タイトルの通りポケモンにおいて、実戦中にダメージを暗算する方法を紹介します。

f:id:nekomura_icho:20191008214046j:plain

(今回紹介するダメージ暗算式)

 ポケモンソード・シールドに現仕様がどこまで受け継がれるかわかりませんが、少なくともこの方法はダイヤモンド・パール以来10年以上全く変わることなく使うことができた方法です。ですので、新作でもおそらく通用する方法だと考えています。

新作でさらに対戦を頑張りたいという方は、新作が出てくるまでのこの時期にダメージ暗算法を身につけて、新作でスタートダッシュを切ってみませんか?

また、そこまでガチ勢じゃないという方は、別にこんな方法知らなくても対戦は普通に楽しめますのでそれでいいと思います。

ただ、こんなやり方もあるんだと知っているだけでも面白いものだと思いますので、もしよろしければ最後まで一読いただけますと嬉しいです。

同内容を以下の動画で説明していますので、そちらもご覧いただくとよりわかりやすいかと思います。(暗算法の説明は10:10~)

宣伝となりますがよければチャンネル登録も宜しくお願いします。

 

1.ダメージ計算について

ダメージ暗算法に入る前に、まずポケモンのダメージ計算法について知っておかないといけない。

ポケモンのダメージは以下の式によって計算される。

f:id:nekomura_icho:20191008194450j:plain

ポケモン対戦考察まとめWiki(ダメージ計算式)から参照:http://pokemon-wiki.net/%E3%83%80%E3%83%A1%E3%83%BC%E3%82%B8%E8%A8%88%E7%AE%97%E5%BC%8F

実際にはこの式ほど単純ではなく、持ち物補正やら天候補正やらが掛かってくるので、詳細についてはリンク先も一読頂きたい。

ただ、最初の内は補正位置とかこだわらずに持ち物が鉢巻ならトータルのダメージに1.5倍するとか、持ち物が突撃チョッキならトータルのダメージを2/3倍するとか、適当に計算してもそんなにずれるものでもないので、そこまで気にしないでもいい。

ダメージ暗算をする理由は、とにかく早くおおよそのダメージを出してその次の手に活かすためであって、その精度をそこまで気にする必要は最初はない。

大体、精度が欲しいなら計算ツールや電卓を使えばいいというFAが出てしまっている。

(私に限っては入力ミスとかするので、精度すら電卓やツールと変わらなかったりするが)

もちろん、1の差が生死を分けるという鉄火場であれば精度を上げて計算したほうがいい。しかし、大抵の場合は多少の誤差を許容してしまっても問題ない。

すぐにダメージが見えれば、その次の手に活かす考慮時間が増えて、選択肢も広がるはずだ。

ちょっと話が脱線してしまったが、ダメージ計算について見ていこうと思う。とはいえ、ダメージ計算式についてはここに書いてある通りであるとしかいえないので、ここでは具体例をあげて説明したいと思う。

今回は、以下の場面を考える。

この条件をダメージ計算式に当てはめていく。

まず、攻撃側のレベルを50とすると、

  • 50×2÷5+2=22

この22という値は絶対に覚えておくこと。

レート対戦は大体レベル50で行われるものであり、この計算を毎度する必要なんて全くない。

次に、サンダーの特攻の実数値とシャワーズの特防の実数値を計算する。

f:id:nekomura_icho:20191008201023j:plain

ポケモン対戦考察まとめWiki(ステータス計算式)から参照:http://pokemon-wiki.net/%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E8%A8%88%E7%AE%97%E5%BC%8F

以上の式でステータスは計算されるので、各々の種族値個体値努力値を代入すると、サンダーの特攻実数値は177シャワーズの特防実数値は115となる。

ここでは細かい説明は省いたので詳しく知りたいなら各々手計算すればいい。実際のダメージ暗算ではここには手間をかけない。実戦では相手の実数値というのは基本的に推測するしかないから、個体値Vを前提として以下の三つの条件しかダメージ暗算では使わず、レベル50では表に示してある式で簡単に計算できる。 

努力値全振り性格補正なし 種族値+52
努力値全振り性格補正あり (種族値+52)×1.1
努力値無振り 種族値+20

サンダーの特攻の実数値は、努力値全振り性格補正なしのため、

  • 125+52=177

シャワーズの特防の実数値は、努力値無振りのため、

  • 95+20=115

また、実戦においては計算するのは相手のステータスのみであり、自分のポケモンの実数値はもちろん生値を使えばいい。

さらにコツコツと条件を当てはめて計算していく。

  • 22×90=1980 (10万ボルトの威力90を代入)
  • 1980×177=350460(サンダーの特攻の実数値を代入)
  • 350460÷115=3047.4 →切り捨て(シャワーズの特防の実数値を代入)
  • 3047÷50=60.9 →切り捨て
  • 60+2=62(実際にはここで乱数計算が入るがここでは乱数は1とする)
  • 62×1.5=93(タイプ一致ボーナス:1.5倍)
  • 93×2=186(効果抜群ボーナス:2倍)

これが、最初の条件におけるダメージの最高乱数の結果になる。

シャワーズ(HP種族値130)のHPの実数値については以下の式で求められるが、

f:id:nekomura_icho:20191008202513j:plain

ポケモン対戦考察まとめWiki(ステータス計算式)から参照:http://pokemon-wiki.net/%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E8%A8%88%E7%AE%97%E5%BC%8F

これも個体値V前提で簡単に求める計算式があり、

HP努力値全振り 種族値+107
HP努力値無振り 種族値+75

ダメージ暗算では以上の二つの条件しか使わない。実戦では自分のHPは生値を使えばいいし、相手のHPバーを読めるのであればその値を使えばいい。(相手のHPを読むのはホントに難しいので誰かやり方教えてください)

シャワーズの場合、努力値無振りでも、

  • 130+75=205

となり、10万ボルトの最大乱数186を耐えることができる。

(実戦では、急所に当たったり、持ち物が予想外だったりで、こう計算通りにいかないことも多々あるが)

 では、実際にダメージ暗算をどうするのかといえば、この計算式を頭の中だけでやればいい

……。

こいつ何言ってんだと思うかもしれないが、私はダメージ暗算をやり始めた当初、本当にこれをやっていた。(我ながらバカだったと思う)

人生の経験上、人の計算力というものには相当な個人差があり、自分で言うのもなんだが私はそこそこ計算力があるほうであり、条件にもよるがこのアホみたいな式も30~40秒ほどで解けた。

選択時間が1分としてまあギリギリ計算は間に合うし、なんとか実用もできていたのである。

とはいえ、あまりにも時間がかかり過ぎるし、私も人間であるから計算ミスも相当量起こる。

こんな式使うならそれこそツールや電卓を使えばいい。

とはいえ、何度も計算する上で気づくこともあり、そこから以下で紹介する暗算法に派生することになる。

これからダメージ暗算をしようとする人はこの方法を真似しないほうがいいので、ココは流し読みにしといたほうがいい。

ただ、この知識は絶対に必要になるので、いくつか実例あるいは実戦で出会った場面を自分で手計算はしておくといいと思う。あとダメージ計算式とステータスの簡単な計算式は覚えましょう。(最初はメモとか見ながらでもいい)

 

2.ダメージ暗算法について

 というわけで、本題のダメージ暗算法について説明する。

まず、ダメージ計算式をちょっと整理する。

f:id:nekomura_icho:20191008211527j:plain

以上の式は、最初の式をただ見やすくしただけだ。

特に分数の部分に注目してみると、ダメージを増やす分子には技の威力と攻撃力(特殊攻撃力)があり、ダメージを減らす分子には防御力(特殊防御力)と、なんか調整用の50という値がある。

f:id:nekomura_icho:20191008211723j:plain

 分数の部分をちょっと並び替えたのがこの式だ。
技の威力と調整用の50を一つの分数と見て、攻撃力と防御力を一つの分数と見る。

なぜ、このような見方に変えたのかというと、

ポケモンの技の威力というのはそんなに種類が多いわけじゃない。

おおよそ5から10刻みで、よく出てくる技の威力は多くて30~40種類しかないから、それぞれの技の威力に対して22×技の威力/50の値も30~40種類しかない。

ダメージ計算式の最初の22は、レベル50であるから簡単にできた部分だが、この分数の組み合わせにすることで、攻撃と防御の分数以外の部分をまとめてしまうことができる。

f:id:nekomura_icho:20191008214046j:plain

そのまとめた部分を一括したものが、この式で私はダメージベース(DB)と呼んでいる。このダメージベースは、技の威力に応じて一様に決まるものであり、この記事を読むようなポケモンガチ勢なら技の威力くらいは大体覚えているだろうから、それと連動して覚えるだけの簡単なものだ。

レベル50におけるダメージベースを簡単にまとめたものは下表のようになる。

f:id:nekomura_icho:20191008214420j:plain

この表は適当に作ったものだったので、ミスがあったら申し訳ないが、とにかくこのダメージベースを全て覚えてしまう。なんなら、最初の内は表を見ながらでも構わないし、忘れてしまったら22×技の威力/50を計算してしまってもいい。

そのダメージベースに攻撃と防御の比率(攻防比)を掛けることで分数の部分の計算は終わる。この攻防比については、ダメージベースと違って場面に応じて組み合わせが半無限に存在するものであり、ダメージベースと違って覚えることなど不可能であり、都度計算する。

この攻防比の計算には、1.ダメージ計算についてで示したステータス計算式を利用する。

また、そのためには極端な話をすれば全てのポケモン種族値を覚えないといけないが、別にそこまでしないでも最初は実戦でよく出てくるポケモンを中心に覚えていくだけでもダメージ暗算は活用できるようになる。例えば、キャタピー種族値なんて覚えていても実際に使う機会はほとんどこないでしょう。(キャタピーファンの方申し訳ない)

種族値を覚えるのは面倒かもしれないが、ダメージ暗算そのものが少しでも勝率をあげるためにあえて労力を使ってやっていることであり、種族値を少しでも覚えておくことが対戦で役立つことは、ダメージ暗算をしない人でも分かることだろう。

Sの種族値をかなり正確に把握している人は多いと思うが、それがHABCDにも拡張されるだけの話だ。

 

3.実例

実例として2例示す。(今後断りのない限り、レベル50個体値Vとする)

まずは、以下の条件の場合を考える。

これは特に計算がしやすい条件である。よければ、みなさんも上の説明を見ながら計算して頂きたい。(計算式はちょっと下)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

計算できただろうか?

それでは、暗算式は以下のようになる。

f:id:nekomura_icho:20191008215830j:plain

地震のDBは44で、攻防比は2。これだけすっきりしているとすごく計算しやすい。

乱数を1とするとダメージは135となる。

こんなに簡単にできるのかと疑われるかもしれないが、実戦でもこれくらいあっさり計算できることはそれなりの頻度である。

 

次に、以下の条件を考える。

1.ダメージ計算についてで、示した条件と同じものである。

これをダメージ暗算ですると、どれだけすっきり計算できるのだろうか?

f:id:nekomura_icho:20191008220238j:plain

暗算式に代入してみると、10万ボルトのDBは39.6、攻防比は177/115とちょっと計算がめんどくさそうだ。

f:id:nekomura_icho:20191008220336j:plain

しょうがないので、ちょっと値をいじってみる。

何度も言うが、ダメージ暗算はあくまで次の立ち回りに活かすためにやっているのであって、精度そのものを気にしすぎてはいけないので、計算速度を速めるために積極的に簡略化する。正直、この辺は数学的センスが少しいると思うが、何度も繰り返すことで自分の中で誤差を修正していけばいい。あまり踏み込み過ぎてもしょうがないとおもうのでここではその精度の上げ方には言及しないが、極めれば誤差±1くらいの精度には普通にできる。

f:id:nekomura_icho:20191008220453j:plain

DBの表には概値というものも示したが、ダメージ暗算ではこの概値も積極的に利用するので、10万ボルトのDB概値40にして、攻防の比率もかなり思い切って180/120とした。

f:id:nekomura_icho:20191008221010j:plain

ここまでくれば計算も簡単なもので、この結果は186となり、最初に計算した結果と偶然にも一致した。まあ、普通は少しずれるものだが、この誤差も慣れればだんだんと少なくなるはずである。

最初は多少の誤差を気にせず、あくまで立ち回りに活かすためにダメージ暗算は利用しよう。

 

(なぜ、偶然にも計算結果が一致したのか?)

ここから先は、ダメージ暗算の初歩にはあまりにも発展しすぎた内容なので無視していただいても構わない。また、動画でも説明はしていないが、私がこれを実戦でやっているならあえてこういう簡略化をしたのだ。というか、これは本当に実戦でやったことのある暗算である。

まず、10万ボルトのDBを39.6→40としたが、これをそのまま計算すると最終的な結果は1%上の値が出ることになる。

さらに、攻防比を177/115→180/120としたが、これをそのまま計算するとさすがに瞬時には分からないがおおよそ1%ちょっと下の値が出ることになる。

DBで1%↑に補正して、攻防比で1%↓に補正したことになる。

つまり、互いにほぼ誤差を打ち消し合って結果としてかなり信用できる値が出るということになる。

さらに、このダメージ暗算というのは、なにもその暗算をがりがり正確にやる必要はない。

なぜなら、DB×攻防比のあとに切り捨て処理が入るからだ。

DB×攻防比の小数点以下はどうでもよくて、つまり、

  • N ≦ DB × 攻防比 < N + 1

以上の式のNを求めることが、ダメージ暗算の神髄であり、それだけの精度があればもうそれ以上求める必要は全くない。

今回の暗算では、DB×攻防比を60としたが、実際の値が60.9......未満になるのであればそれで誤差無しの計算ができたということになる。

実戦でこれをやったときもおそらくこの計算は合っているだろうと、ここら辺の知識を前提としながら頭の中ではぼんやりと考えた。

あるいは、概算した値が N-1 ≦ DB × 攻防比 < N の範囲に収まるのであれば、暗算した値を+1してやればいい。

ここら辺の話は、何度もダメージ暗算をすることで身につけたものであって、私も頭の中で若干無意識的に慣れでやっている程度のことでしかない。

概算をさらにおおざっぱにして量的な感覚から±3,4,5なんてやることもしばしばである。

あくまで、ダメージ暗算はダメージを素早く計算して、立ち回りに活かすためにあるのだ。

ダメージ暗算を初めてしてみようという人は、とりあえずこの部分はホントに無視したほうがよく、流し見する程度でいいと思います。

 

3.まとめ

以上、ダメージ暗算の方法に関する説明となりますが、いかがでしたか?

もし興味を持たれた方は、自分の実戦であったシーンを使ってまずは手計算をしてみて、慣れてきたら暗算を初めてみるといいと思います。

質問等ありましたらコメントにどうぞ。