スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【 --/--/-- --:-- 】

| スポンサー広告 |
わかりやすいダメージ計算方法 を考えてみる
ポケモン対戦で、自分の攻撃で相手にどれだけダメージを与えられるかを知ることは、結構重要な知識になってきます。攻撃で与えるダメージを事前に知ることで、それにあわせて適切に行動することが可能になりますからね。
そこでちょっと問題をひとつ出題。

こうげき 154 のLV50フローゼルが、HP 215、ぼうぎょ 64のLV50プクリンに滝登りで攻撃し続けたとき、何回目の攻撃でプクリンを倒すことができるでしょう。(急所や道具の効果はなしとする)

さてこの場合、攻撃154のフローゼルが、威力80でタイプ一致の滝登りで、防御64のプクリンに攻撃したときHP215のうち何割くらいを減らせるのか、ということなんですが・・・
わ・・・わかりづらい・・・!!
ある程度対戦に慣れてくれば、「大体このくらいのダメージは与えられるだろう」という勘ができてきますが、それがハッキリしない場合も多々あるし、攻撃してみたら「え、こんなに!?」とか「え、これだけ!?」なんてこともしばしば。

こんなダメージ量のわかりづらさは、ポケモンを育成する段階でもちょっとした壁になります。
倒したい相手や活躍させたい場面をシュミレートして、ダメージ計算ツールを使って事前にどれだけのダメージがやり取りされるのかを把握する、なんてことをやった人はいることかと思いますが(私も結構やりますけど)、これがまた面倒で、いちいち計算したい場面によって項目を埋めなおさなくてはいけません。別のポケモンを育成するときには、またそれを一からやり直し。
それを何度も繰り返していくと、今までの計算が知識として身についてはきますが、それも何度も計算した本人だけなんですよねぇ・・・。

と、言うわけで、今回は直感的で、誰にでもわかりやすく、なおかつ計算しやすいダメージの計算方法の考案にチャレンジしてみました~。
過程はいいから結果だけ知りたい!という方は、記事の下のほうの「まとめ」の項目まで移動してください。
それと、「ポケモンを数字でがんじがらめにしたくない!」という方は、見ないことをお勧めします。

あ、ちなみに上の問題の答えを白文字で書いておきますね
答えを知りたい方は、↓の空白をドラッグして文字反転させてください

フローゼルの滝登りでプクリンに与えるダメージは、一回130~110
つまり、HP215のプクリンは2回目の攻撃で瀕死になります。
ちなみに私は、3回目だと思ってました・・・w


『アタックポイント・ディフェンスポイント』
さて、まず理想的な仕組みについて考えて見ます。
要するに、今のダメージ計算は防御と攻撃に関する数字がそれぞれ二つ以上あるのがややこしくなっている原因のひとつなわけで、これを一括りの数字にしてしまえば大分わかりやすくなるはず~・・
そこでまず、技の威力とこうげき・とくこうを一括りにしたものをAP(アタックポイント)、HPとぼうぎょ・とくぼうをひとつの数字にしたものをDP(ディフェンスポイント)と名づけておきます。
さすがに物理攻撃に対するうたれ強さと、特殊攻撃に対するうたれ強さを一緒にするのは難しそうなので、物理攻撃に対するうたれ強さを物理DP、特殊攻撃に対するうたれ強さを特殊DPと分けておくことにします。

んで、あるポケモンの攻撃が100APで、攻撃を受けるポケモンが200DPだとすると、単純に半分くらいのダメージを与える(受ける)ような仕組みができればわかりやすいですね!
こんな感じになることを目標として考えてみることにします。

そうすると、ことは割りと簡単・・・?
たとえば攻撃力が2倍になれば、結果的なダメージも2倍に、逆に技の威力がある技に比べて半分なら、結果的なダメージも半分に。
同じく、HPが2倍なら単純に2倍耐えられ、防御が半分なら半分しか耐えられない・・・。
つまり、APとDPは単純にHPやこうげきなんかを掛け算割り算することで求めることができるはず。

まあなんにせよ、まずは「基準」がなければことは進まない。
というわけで、その「基準」を決めるため、こんなポケモン同士が戦うことを想定してみます。

架空ポケモン
HP100 こうげき100 ぼうぎょ100 とくこう100 とくぼう100 すばやさ100
技:なぞのタックル 威力:100 タイプ:なぞ

種族値ではなく、ステータスそのものが100です。これは後々計算しやすいように・・・。
さて、まずはこの架空のポケモンをもとに、APの基準を決めます。
まあ計算しやすいように、単純にこうげき(とくこう)×技の威力ということにしますね。
この場合100×100=10000になりますが、数字が大きくてわかりづらいので、100分の1にして小数点以下切捨てということにしておきます。
こうげき(とくこう)100のポケモンが威力100の技で攻撃したときのAPが100。これを基準にします。
実際のポケモンを例にたとえると、こうげき150のポケモンが、威力75の雷パンチを使ったときのAPは150×75÷100=112.5。小数点切捨てで112となります。

さて基準となるAPが決まったので、これをもとにDPを決めていきます。
最初に提示した理想的な仕組みを実現させるためには、HP100、ぼうぎょ(とくぼう)100の架空ポケモンが100APの攻撃に対し何倍まで耐えられるのかを計算すれば、DPを求めることができますね。

そこで、外部サイトのダメージ計算ツールを使って、実際にダメージを計算して見ましょう。
ここで役に立つのがオニゴーリ。オニゴーリは、努力値、性格補正なしの個体値最高で、HP以外のステータスがちょうど100となって、この実験にはぴったりです。
さっそく、ステータスがALL100のオニゴーリが、これまた威力100の地震で攻撃したときのダメージを計算ツールで計算させて見ました。
そこで出たダメージは39~46
そういえばダメージは決められた範囲でランダムに変化するんでしたっけ・・・。
それじゃあ、この場合の最大ダメージをもとに出したDPを最小DP、最小ダメージのほうを最大DPとでもしておきますか。DPはその範囲で変動する、ということで。
ダメージの範囲は、1~0.85ということなので、最小DPを求めたら、それを0.85で割って最大DPを求めてもよさそうですね。

架空ポケモンのHPは100なので、最小DPは100÷46×100で求められます。ここでもめんどくさい小数点は切り捨て、答えは最大DPが217、それを0.85で割って最大DPは255。
架空ポケモンのDPは217~255となりました!
さあこれで完成!あとはこれを基準に実際のポケモンのステータスを当てはめていくだけで、DPを求めることができるはず!
例えば、HPが架空ポケモンの1.5倍の150なら、DPも架空ポケモンの1.5倍、ぼうぎょが半分の50なら、DPも半分になるということが言えるはずです。
つまり、DPの計算式は217×(HP÷100)×(ぼうぎょ(とくぼう)÷100)ですね!

うーん、意外とあっけなく終わったのがちょっと不安・・・
念のため、これをもとにもうひとつ計算しておこう・・・
架空ポケモンのDPは217~255なので、逆を言えば、217APの攻撃を最大ダメージで受ければ、ちょうど一撃で倒れてしまうはず。
そこで、再びダメージ計算ツールでこんな計算をして実験。
こうげき217のラムパルドが、地震でぼうぎょ100のオニゴーリに攻撃。
ラムパルドの地震は、217×100÷100で217APとなり、防御100のオニゴーリに対し最大ダメージがちょうど100になるはず・・・でも小数点以下を切り捨ててるから1下がって99になることも考えられるかな・・。
まあとりあえず計算・・・結果は

82~97

なん・・・だと
ということは、ダメージはポケモンのステータスの倍率を正確に反映してるというわけじゃないのかー。

『AP補正値』
仕方ないので、いまさらながらポケモンのダメージ計算式を見てみました。
これがその計算式(LV50の場合)

(22 × 技の威力 × 攻撃側の能力値 ÷ 防御側の能力値 ÷ 50 + 2 )×(0.85~1)

・・・・・・・
どうやらこの + 2 が曲者みたいです。
この + 2 は、お互いのポケモンのステータスを掛け合わせたあとに + 2 されるので、戦うポケモンのステータスがどうであろうと変動はしないということになるはず~・・
つまり、ステータスを掛け合わせて導き出すAPやDPにはちょっと厄介な存在になるわけですね。
この + 2 をどう処理するべきか・・・。

ええっと、逆を言えば、この + 2 がなければ先に考えたAP・DP計算法は正確になるということになりますね。
それなら、まずはこの + 2 をないものとしてAP・DPを求めたあとで、この + 2 をどう処理するか考えることにします。

気を取り直して最初から。まずこうげき100のポケモンが威力100の技で攻撃したときのAPが100というのはOK。
次に + 2 を除いてもう一度DPを計算しなおします。
今回はちゃんとしたダメージ計算式がわかっているので、ダメージ計算ツールを使う必要はありません。
ちょっと長いけど、架空ポケモンの最小DPを求めるにはこの式でいいはず。

100÷(22 × 100× 100 ÷ 100 ÷ 50)×100

やたらと100が出てくる式・・・小数点以下切捨てで227。さらに0.85を割って267。
架空ポケモンのDPは227~267となりました。
よって、DPの計算式は

227×100分のHP×100分のぼうぎょ・とくぼう÷1~0.85

となります。
HP160、とくぼう150のマイナンの場合、227×1.6×1.5÷(1~0.85)で、特殊DPは542~638となります。

さて、ここからが問題。
めんどくさそうなので後回しにしていた + 2 をどう扱うか・・・。
+ 2 をなんとかDPに変換したいものです。
えーと、この2は実際に受けるダメージとしての数字になるわけで、つまりは相手から攻撃を受けるとき、常に2余計にダメージを受けていると考えることもできます。
2のダメージが割合的にどのくらいのダメージになるかは、そのポケモンのHPによりますね。
例えば、HP100のポケモンにとって2のダメージ=2%のダメージですが、HP200のポケモンにとっては半分の1%のダメージということになります。
つまり、この2ダメージは攻撃に上乗せされるということになりますが、AP・DP換算でどのくらいになるのかというのは、攻撃を受けるポケモンによって違うということになりますね~・・・。
ということは、ポケモンAがポケモンBに攻撃したとき、どのくらいの割合のダメージを与えるかを見るには、ポケモンBにとっての2ダメージをAP・DP換算した数字を、ポケモンAのAPに上乗せさせる必要が出てくることになります。うーん、ちょっとめんどくさそう。
まあでも、そんなにものすごく数字が変動するわけではないので、ここはまあ適当に考えてもらってもいいかな~。
とりあえず、この2ダメージをAP・DP変換した数字をAP補正値とでも名づけておくことにします。

ともかくここまでくれば、この2ダメージをAP・DP換算する式は簡単。要するに、相手の攻撃に攻撃を受ける側のHP分の2ダメージの割合のDP分を上乗せされるわけですから、AP補正値の計算式は

DP×HP分の2

となります。この2も1~0.85の補正を受けるので、ここで当てはめるDPは最小DPにします。
さらに、DPの計算式を分解すると、227×(HP÷100)×(ぼうぎょ(とくぼう)÷100)×(2÷HP)となり、HPを約分して計算しやすそうなところでまとめると、

4.54×100分のぼうぎょ・とくぼう

の式でも求められます。
ここででた値を、攻撃側のAPに足すことで、より正確な値を求めることができます。
例えばぼうぎょ200のコータスの場合、AP補正値は4.54×2=9.08となり、相手から物理攻撃を受けることを想定したとき、相手のAPに9ほど足してやればいいわけですね。
もし相手の攻撃がタイプ一致なら、AP補正値も影響を受けて1.5倍されるので、そちらもお忘れなく。

『まとめ』
さてまとめです。
これまでのことから、私が結論付けた計算式は次のようになります。

AP=こうげき・とくこう×技の威力÷100+相手のAP補正値

タイプ一致のこうげきの場合、これにさらに1.5倍、弱点なら2倍、4倍していきます。
道具や特性などによる威力の変化については、ひとつひとつ掛け算される場所が異なるので、詳しくはポケモン対戦考察まとめWikiのダメージ補正位置の項目をご覧ください。

DP=227×100分のHP×100分のぼうぎょ・とくぼう÷1~0.85

あるポケモンを一撃で倒したい場合は最大DPを、逆にある攻撃に絶対耐えたい場合は最小DPを目安にすればOK

AP補正値=4.54×100分のぼうぎょ・とくぼう

タイプ一致の場合に1.5倍したものを計算しておくと、後々便利かも

さて、こんな式をずらずら並べてもいまいちピンとこないと思うので、ためしに私のポケモンを例に計算して見ます。

ゴウカザル
ゴウカザルアイコン
HP148 こうげき99 ぼうぎょ86 とくこう156 とくぼう89 すばやさ178
物理DP 288~339 AP補正値 3.9(タイプ一致時5.8)
特殊DP 299~351 AP補正値 4.04(タイプ一致時6.06)
技:気合玉 280 大文字 280(421) 真空波 93 挑発

  
ちなみに、技のAPはタイプ一致の1.5倍を施した数字です。
大文字のかっこ内の数字は、特性猛火発動時のAP。
AP補正値もタイプ一致の影響を受けるので、相手のAP補正値×1.5倍の数値を足すと、より正確な値を出すことができます(特性猛火は「技の威力」が1.5倍なので、AP補正値に影響を与えません)。

これを見ると、もしこのゴウカザル同士が戦った場合、片方の気合玉に対し確実に一発は耐えるということがわかってしまいます。
また一度こうやって計算したものを残しておくと、いちいち計算しなおさなくても、数字を見比べるだけでどのポケモンがどれにどのくらいダメージを与えられるかがわかってしまうんですね~。
これは便利!

はじめに紹介したフローゼルとプクリンの場合、
フローゼルの滝登りはAP184、プクリンの物理DPは312~367、AP補正値2.9(タイプ一致時4.3)になり、滝登り一回で約AP188.、2回でAP376となり、プクリンの最大DPでも耐えられないのがわかります。
また、このフローゼルが上のゴウカザルを攻撃した場合、余裕で一撃ダウンを狙えることがよくわかりますね。

このように、計算のサンプルデータを増やせば増やすほど、ダメージの相関図が見えてしまうというわけですね。
次回はサンプルデータを増やすという意味も兼ねて、色々なポケモンのAP・DPを計算して遊んでみたいと思います。

最後にひとつ注意事項。実際のダメージとAP・DPは、小数点以下を切り捨てる場所などの関係で完全に一致しない場合があります。
本当に1の誤差もなく計算したい場合は、ダメージ計算ツールなどを使って計算することをお勧めします。AP・DPはあくまで目安として考えてくださいね。
スポンサーサイト

テーマ:ポケットモンスタープラチナ - ジャンル:ゲーム

【 2009/03/11 00:19 】

| ポケモン雑記 | コメント(5) | トラックバック(0) |
| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。