海外のredditユーザーのvanpik氏が、『パルワールド』における与ダメージの計算式に関しての考察と、現状判明しつつある計算式について投稿した。本記事では、vanpik氏の投稿を翻訳して記載する。
結論
ダメージ計算式はプレイヤーの武器のダメージにプレイヤーの攻撃力を掛けたものを、対象の防御力で割り、±10%の補正が適用されたものです。
プレイヤー与ダメージ=([武器攻撃力][プレイヤー攻撃力]÷[対象の防御力])±10%補正
防御力に関しては、50+対象のレベル*6で大まかな推定ができます。また、アルファやラッキーパルには別のダメージ現象ボーナスが適用されます(アルファには約-95%、ラッキーについては未検証)。そして異なる各パル種にはHP、攻撃力、または防御力にボーナスが適用される場合があります(実測上の最高値は+20%)。さらに、プレイヤーの攻撃力が相手の防御力より高い場合、ダメージが2倍になります。
パルのダメージに関して検証した結果、±2.6%程度の誤差があるものの、下記の計算式の通りだと思われます。
パル与ダメージ=1.1(((1.5[パルのレベル])+20)[技の威力][パルの攻撃ステータス]÷[目標の防御ステータス)÷15
上記の計算式はプレイヤー対パルの計算式よりもかなり複雑ですが、実測値が十分に理にかなっていると思われます。
プレイヤーダメージの検証
私は、ダメージ計算式が単純で簡単なものであり、乗算だけを含んでいることを期待していました。もし私がゲームを開発していたら、単純なものを選びますし、プレイヤーの攻撃力と防御力の数値が100から始まることから、それはおそらく乗算システムだろうと思いました。したがって、私は実際にダメージ計算式が下記の式であると予想しました。
[武器のダメージ]*[プレイヤー攻撃力]÷防御力
そこで、自然と私はこの理論をテストする作業に取り掛かりました。私は攻撃力100のキャラクターを持って、クロスボウで弱小パルたちを倒しに行きました。すぐに私の理論から何かが欠けていることが明らかになりました。弱小パルに対して2倍の乗数を加えることで問題は解決しましたが、高レベルのパルに移行すると、2倍の乗数は無くなりました。そこで私はもう一度最初からやり直し、さまざまな式やデータ収集方法を試しましたが、最終的には最初にやるべきだったことをしました。
成功した実験は次のとおりです。私は自分のダメージと攻撃力をメモします。また、狙っているターゲットのレベルもメモします。そして戦闘に入り、戦っているパルを捕獲するつもりでいます。戦闘中、私は最高と最低のダメージ数値を追跡し、ダメージ範囲が純粋に雰囲気に基づく±10%だという仮定のもとで作業をします。パルを捕獲したら、最高と最低のダメージの平均を取り、値の範囲を確認します。マージンが5%未満であれば、そのデータは排除します。狭いダメージマージンは、私が計算した平均が実際の平均からかけ離れている可能性が高いことを意味します。このデータを得た後、それらは予測に非常に近いものであることに気付きました。以下に私の発見を詳しく説明します。私は攻撃力110のキャラクターとクロスボウ(280ダメージ)を使用したので、私の「基本ダメージ」は308です。
対象のパル | レベル | 防御力 | 最小値 | 最大値 | 平均 | ダメージ範囲 | 予想与ダメージ | エラー |
---|---|---|---|---|---|---|---|---|
メルパカ | 13 | 152 | 209 | 241 | 225 | ±7.1% | 202.63 | -11.03% |
エレパンダ | 19 | 216 | 134 | 153 | 143.5 | ±6.6% | 142.59 | -0.63% |
ラブラドン | 19 | 211 | 131 | 157 | 144 | ±9.0% | 145.97 | +1.35% |
ベリゴート | 11 | 135 | 210 | 234 | 222 | ±5.4% | 228.15 | +2.69% |
ニャンバット | 12 | 140 | 200 | 229 | 214.5 | ±6.7% | 220 | +2.50% |
メルパカに具体的に何が起こったのかはわかりませんが、他のすべては3%以内の誤差範囲内に収まっているので、この公式が正しいとかなり確信しています。
パルダメージの検証
プレイヤーのダメージ公式を手に入れたことで、パルのダメージ公式についていくつかの仮定を立てることができました。まず、攻撃者の攻撃力、防御者の防御力、そして技の威力が関係していると考えました。そこで、訓練用ダミーを用いてデータ収集に取り掛かりました。テストのパートナーは5匹のガウルフで、レベルは6、9、10、10、12、攻撃力はそれぞれ149、169、174、197、186でした。ガウルフを選んだのは、乗ることができるため、同じ技を一貫して選ぶことができるからであり、また、彼らの技が非常にシンプルだからです。
プレイヤーのダメージ公式を使って、訓練用ダミーの防御力が100であることをすぐに把握しました。これは私のテストに適しています。そこで、一匹ずつ、訓練用ダミーに対してワイルドファングを使用し、最小・最大のダメージ範囲を収集しました。同時に、タイプ一致ブーストが1.2倍であることを発見しました。平均からの範囲が±10%(またはそれ以下)のときに最小・最大値が得られることがわかり、何が起こっているのかを解明しようと試みました。すぐにレベルが要因であることが明らかになりました。なぜなら、攻撃力186のレベル12のガウルフが、攻撃力197のレベル10のガウルフよりも多くのダメージを与えていたからです。プレイヤーの公式とは異なり、第三の変数が存在したため、単純に何らかの補間を行うことはできず、何が起こっているのかを把握する必要がありました。何時間もかけて、どのように比較すべきかを考え出そうとしましたが、一貫して失敗し、ポケモンのダメージ公式を見て、それが1:1のコピーであるかどうかを確認するように誰かが提案するまで、有力な手掛かりを見つけることができませんでした。
もちろん、パルワールドのダメージ計算式はポケモンのダメージ計算式と完全に同じではありませんが、その機能的な形は同じです。レベルに乗数と定数を掛けて、別の定数で割り、その後に乗数が適用されます。ポケモンでは、ダメージ計算式は大まかには((2/5 x レベル) + 2)x 威力 / 50となっています。そこから始めて、私のスプレッドシートに入れ、数字を変えてみました。補間する方法がわからなかったので、数字が適切に見えるまで手動で変更し続けました。時間はかかりましたが、最終的に勝利の公式を見つけました。これは、「結論」に詳述された実験データと比較して、誤差率が±2.5%でした。
公式が決まったので、テストに出かけました。私はレベル24のツノガミを連れて、ラブラドンを捕まえに行きました。ツノガミの攻撃力は324、捕まえたラブラドンの防御力は188でした。公式は平均297のダメージを予測し、私はラブラドンに対する攻撃で平均293のダメージを記録しました。これは±7%の範囲内で、公式が正しいことを確認するのに十分な範囲です。また、皆さんにもこの公式を試し続けていただきたいです。データは常に歓迎されます。
最後に
同氏は現在捕獲率に関して検証を進めている。元スレッドを追いたい場合はこちらのスレッドを要チェックだ。
https://www.reddit.com/r/Palworld/comments/19dj25c/the_damage_formula