『当たるかな』プロジェクト~防御率編1

※この記事は,ルネサンス以前に書かれた記事です.ルネサンス後に通用する場合は十分ご注意ください※

しばらくほっぽり出しになっているかのように見える『当たるかな』プロジェクトですが,コツコツ進んでおります.

今回は与ダメについて考えてみます.

いつも大変お世話になっているMapleStoryDropさんの記載では,攻撃力までの式はありますが,与ダメの式はありません.で,MapleStory wiki*さんを覗いてみると,「防御は関係なくなった模様なので一応コメントアウト」ということわりがあって,

魔法攻撃:

( (算出攻撃力×アンプ×属性判定)×属性武器補正×クリティカル追加ダメージ×攻撃回数) – 敵魔法防御率

という記載になっています.

モンスターのステータスには,防御力と防御率があるのですが,防御力は関係なくなった,ということでしょうか.モンスターブックやモンスターカードのセット効果,ヴァンレオン装備のセット効果などには,「防御力○○%無効」とあったりするのですが,そもそも防御力は無効なんだそうです.

 

ホンマかいな?

 

まあ,それを信用するとしても,MapleStory wiki*さんの与ダメの式は見るからに間違っていますよね.防御「率」って「率」ですから,係数の形で式に入ってこないとおかしい.でも,名前が間違っている可能性も否定できません.根倶損ですから.

んなわけで,調べてみましたよ,サブローの与ダメを.

 

【目的】

MapleStory wiki*さんの与ダメの式を検証する.特に,モンスターの防御力,防御率が与ダメに与える影響を明らかにする.最終的には,正しい与ダメの式を特定したい.

 

【背景】

BB後,与ダメの計算式が変更になり(特に魔),老舗サイトの膨大な検証データが無意味になっており,自前の検証が必要になっている.

 

【理論】

MapleStory wiki*さんによれば,与ダメの式は以下のとおり.

( (攻撃力×アンプ×属性判定)×属性武器補正×クリティカル追加ダメージ×攻撃回数) - 敵魔法防御率

ただし,これは最大値.攻撃力は,一回の攻撃のごとに,最大値と最小値の間でランダムに決まる.最小値は習熟度の影響を受けるが,ステータスウィンドウで確認できるので,その算出式については,ここでは触れない.

この式を簡単にするために,以下の要因を排除する(排除すべき5要因).

  1. アンプの影響
  2. 属性の影響
  3. 属性武器の影響
  4. クリティカルの影響
  5. 攻撃回数の影響

これらを排除すると,

与ダメ = 攻撃力 - 敵魔法防御率

となる.

攻撃力は最大値と最小値の間でランダムに決まるので,与ダメも

最大与ダメ = 最大攻撃力 - 敵魔法防御率 (1)

最小与ダメ = 最小攻撃力 - 敵魔法防御率 (2)

の範囲内でランダムに決まるはずである.

 

【方法】

与ダメを測定する方法は以下の通り.

  1. 攻撃キャラ:聖魔サブロー
  2. 武器:Mバイローブスタッフ
  3. 攻撃スキル:Aレイ(スキルレベル21)
  4. 敵:城クマ(ベアウルフ)

狩りの様子を5秒毎にSS撮影し,クリティカル以外の与ダメを抜き出して記録する.

上記の条件で測定を行うことで,理論で述べた排除すべき5要因を確実に排除できる.

  1. アンプ:聖魔はアンプを使用できない.
  2. 属性:Aレイは聖属性だが,城クマは聖弱点も聖耐性も持たない.
  3. 属性武器:Mバイローブスタッフは無属性.
  4. クリティカル:クリティカルの与ダメは無視する.
  5. Aレイの攻撃回数は1.

また,その他の不確定様子をなるべく排除するために,グルを組まず,ソロ狩りとする.また,測定前後でステータスウィンドウを開き,最大攻撃力と最小攻撃力の実際の値を確認する.

狩り場は城壁の下5.城クマ単独マップなので,他のモンスターへの与ダメを誤ってカウントするミスが発生しない.また,一匹を長期にわたって安置から攻撃できるので,与ダメの表示が重なりあって見えにくくなることもない.

この条件下で狩りをし,最大与ダメと最小与ダメを測定し,式(1),式(2)の関係が成立するかどうかを確かめる.

 

【結果】

測定日:2011年6月24日

時刻:19:00~20:00(途中休憩あり)

有効データ数:89個

最大与ダメ:33,343

最小与ダメ:25,075

図:与ダメ(城クマ) 図:与ダメ(城クマ)

ただし,このグラフでは,予ダメを小さい方から順に並べ替えてある.

※サブローの火力がいかに低いかがバレバレですねw なつめ最弱聖魔の名に恥じない火力となっております.

 

【結論】

まず,サブローの攻撃力について考える.

Aレイ(スキルレベル21)は攻撃力666%であるので,サブローのステータスウィンドウに表示される攻撃力に6.66をかけたものが,トータルの攻撃力となる.

最大攻撃力:41,751 (少数切捨て)

最小攻撃力:31,315(少数切捨て)

式(1),式(2)が正しいとすれば,

最大与ダメ = 41,751 - 敵魔法防御率 (1’)

最小与ダメ = 31,315 - 敵魔法防御率 (2’)

となるはずである.ところが,城クマの魔法防御率は20でしかない(全モンスターを通して概ね50を超えない).つまり,

最大予ダメ = 41,731

最小与ダメ = 31,295

最小与ダメ/最大予ダメ = 0.75

という結果になることが期待される.

一方,測定結果は

実測最大予ダメ = 33,343

実測最小与ダメ = 25,075

最小与ダメ/最大予ダメ = 0.752

であった.

実測値のサンプル数は89個と少ない数であるので,実測最大予ダメと実測最小与ダメが,理論値を正しく反映していない恐れもある.しかし,最小与ダメと最大予ダメの比が,誤差1%以内で期待値に一致しているため,同程度の誤差範囲内に収まっていることが期待できる.

一方,予ダメの理論値と実測値は大きな隔たりがあり,これを測定誤差で説明することはできない.

よって,MapleStory wiki*さんに掲載されている与ダメの計算式は誤植であり,予ダメを正しく評価できるものではないという結論になる.

 

【考察】

MapleStory wiki*さんの式が誤りであるとして,では,正しい与ダメの計算式はどういうものであろうか.

防御「率」という言葉を忠実に受け止めれば,被ダメの何割かをカットする能力が防御率である.

そう仮定すると,

最大与ダメ = 41,751 × (100 - 20) ÷ 100 (3)

最小与ダメ = 31,315 × (100 - 20) ÷ 100 (4)

となる.これを計算して,

理論最大予ダメ = 33,400

理論最小与ダメ = 25,052

を得る.

これは,実測値と0.2%以内の精度で合致している.

よって,「防御率が20であるということは,予ダメの20%がカットされることを意味する」という推測が立つ.

これからは,防御率が異なるモンスターに対して同様の測定を行い,上記の推測の実証を進めることにする.

 

おまけ

 

予ダメのグラフを見ていただければ分かりますが,予ダメは最小値から最大値までほぼ均一にならんでいます.これは,その部分の乱数が「一様乱数」であることを示しています.

乱数発生器の中では,一様乱数の発生器が一番安価であるため,ゲームなどではほとんど一様乱数が使われています.メイプルストーリーでも一様乱数が使われているという仮定は妥当ですが,実際の乱数として一様乱数が自然で当たり前な乱数というわけではありません.
※正確に言うと,乱数の質について何も考えない設計者がとりあえず使う乱数発生器が,たまたま一様乱数発生器だということです.一様乱数が欲しくてそれを選んでるのではなく,身近にあった安価な乱数発生器を採用したら,たまたまそれが一様乱数発生器だったというだけの話です.
もっと言えば,安価な乱数発生器があらゆる統計的テストをパスした一様乱数発生器であるかというと,全然そうではありません.
まあ,たかだかゲームの与ダメの計算ですから,多少テキトーな乱数発生器が使われたところで何の問題も生じないだろうとは思います.

予ダメの乱数が一様乱数であるということの裏が取れた,というおまけがつきました.

広告

コメント / トラックバック3件 to “『当たるかな』プロジェクト~防御率編1”

  1. クリティカルを含んだ平均与ダメの計算式1 Says:

    […] 今,攻撃力と与ダメの関係は「『当たるかな』プロジェクト~防御率編1」ではっきりさせましたので,mobと自分の攻撃が決まれば,攻撃力と与ダメは比例関係にあることが分かっています. […]

  2. 馬です Says:

    なるほど!んではステ攻撃力にスキルの攻撃分かけてやって防御率引いてやれば他の職も計算出来そうですね
    後は俺の場合、ダークフォースの60%アップがどこにはいってくるかですね
    出先なんですが俺のステ攻撃力の最大にバスターの145%かけて、ダークフォースの160%かけて2割引いてみたらクリがないときのダメにニアリーのようですが
    それとDKにはダークスピリットって召喚スキルで熟練度があがるんでその辺職によって見ていかないとですかね

    • 次郎宗光 Says:

      うい馬さん.いつもコメントありです.

      防御の扱いに目途が立ったということで大丈夫ですかね.
      あれだけ高精度の合致が出た以上,防御率の扱いの特定について
      これ以上コスト投入したくないです^^

      次は,クリティカルの扱いに進みます.


コメントを書く:匿名のコメントも歓迎しますが,名前欄が空欄だと自動的に承認待ちになってしまいます.名前欄には,なるべく文字を入れて下さい.

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。