remove
powerd by nog twitter

RPG INSTITUTE > FF2 > 真・ダメージ計算式


FF2の真・ダメージ計算式

 乱数テーブルまで考慮した究極のダメージ計算式を導出できたらいいなという感じです。これが完成すれば、戦闘だけなら完璧に再現できるのでしょうが、さすがにそこまでは無理っぽいです。

基本条件

 特に断りがない場合はこの条件で戦闘を行っています。まあ、戦闘結果を完璧に再現するための条件を一定にしただけで、このやり方自体にはあまり意味ありません。

セーブ場所
カシュオーン城のすぐ下の橋の上
エンカウント条件
データロードしたら上ボタンを押し続ける
本体条件
エンカウントテーブルが00からスタート
出現する敵
バルーン×2、ソルジャー×2

キャラクターの能力値

  素早さ 体力 知性 精神 魔力 攻撃 防御 命中 回避 魔法防御
フリオニール 20 30 10 10 10 5 160 46 1-99% 1-21% 1-32%
マリア 29 99 1 99 99 39 14 0 1-81% 16-99% 16-35%
ガイ 25 5 15 20 10 5 12 15 1-99% 1-00% 1-30%
レオンハルト 53 45 46 36 16 32 104 0 8-99% 3-99% 3-54%

キャラクターの基本装備

  右手 左手 備考
フリオニール マサムネ なし きょじんのかぶと くろしょうぞく なし  
マリア なし なし なし なし なし  
ガイ なし なし なし なし きょじんのこて  
レオンハルト なし ディフェンダー なし なし なし 死亡

 

乱数テーブルの調査1

 まずは、乱数テーブルがどのようになっているかを調べる必要があります。Yさんによると、ブリンクを使うと1レベルあたり、テーブルが1進むらしいのでブリンクを使って乱数テーブルがどうなるかをダメージから調査してみました。

実験結果

マリアの行動 ダメージ1 ダメージ2 ダメージ3 ダメージ4
なし 204 304 319 192
ブリンク1→フリオニール 202 300 315 319
ブリンク1→フリオニール(*) 202 300 315 319
ブリンク1→マリア 202 300 315 319
ブリンク1→ガイ 202 300 315 319
ブリンク1→ガイ(干渉100) 189 282 297 315
ブリンク1→レオンハルト 204 304 319 192
ブリンク2→フリオニール ミス ミス ミス ミス
ブリンク2→マリア ミス ミス ミス ミス
ブリンク2→ガイ ミス ミス ミス ミス
ブリンク2→ガイ(干渉100) ミス ミス ミス ミス
ブリンク2→レオンハルト 204 304 319 192
ブリンク3→フリオニール ミス 188 203 297
ブリンク3→マリア ミス 188 203 297
ブリンク3→ガイ ミス 251 266 203
ブリンク3→ガイ(干渉100) ミス 233 248 270
ブリンク3→レオンハルト 204 304 319 192

ダメージ1はエクスカリバー(攻撃力110、命中率1-95%)でガイを攻撃

ダメージ2はマサムネで(攻撃力160、命中率1-99%)でガイを攻撃

ダメージ3はマサムネできょじんのこてを外したガイ(防御0、回避率1-05%)を攻撃

ダメージ4はマサムネで(攻撃力160、命中率1-99%)でボムを攻撃

干渉100はマリアにアイスシールドを2つ装備

*はレオンハルトが生存していることを示す。このときはレオンハルトに
ダイヤシリーズをつけて行動をフリオニールの後にした。

常に先制攻撃で戦闘が開始した

マリアの行動がなしの時は、ダイヤシリーズを装備して回避確率を下げ、
フリオニールがマリアより先に行動するようにした。

行動順は、基本的にマリア、フリオニール、ガイの順番に鳴る

検証

この結果から明らかに次のことが分かります。

  1. 生存キャラの数は乱数テーブルに影響しない
  2. ダメージは防御力1につき1ダメージ減る
  3. 死体にブリンクを使っても乱数は消費されない(判定自体を無視する)
  4. ブリンクはかける対象で乱数消費は変化しない
  5. ボムに攻撃すると乱数消費が少ない(回避レベルが0?)

 ここでエクスカリバーとマサムネのダメージを比較してみます。

エクスカリバー(防御15) 204 202 189      
ダメージ/攻撃力 1.85 1.84 1.72      
マサムネ(防御15) 304 300 282 188 251 233
ダメージ/攻撃力 1.90 1.88 1.76      
エクスカリバー(防御0、推定) 219 217 206      
ダメージ/攻撃力 1.99 1.97 1.87      
マサムネ(防御0) 319 315 297 203 266 248
ダメージ/攻撃力 1.99 1.97 1.86      

小数点以下3桁目を四捨五入した

これを見れば分かるように防御力0と仮定した場合、ダメージ/攻撃力が一定になっています。
つまり、1ヒットあたりのダメージ=攻撃力×乱数補正-防御力と思われます。

これだけでは、データが少ないのでこれ以上の検証は難しいです。さらに検証を進めるためにデータを増やします。

乱数テーブルの調査2

結果

マリアの行動 ダメージ1 ダメージ2 ダメージ3(推定) D3/160
なし 204 304 319 1.99
ブリンク1→フリオニール 202 300 315 1.97
ブリンク1→ガイ(干渉100) 202 300 315 1.97
ブリンク1→ガイ 189 282 297 1.85
ブリンク2→フリオニール ミス ミス ミス -
ブリンク2→ガイ(干渉100) ミス ミス ミス -
ブリンク2→ガイ ミス ミス ミス -
ブリンク3→フリオニール ミス 188 203 1.27
ブリンク3→ガイ(干渉100) ミス 251 266 1.66
ブリンク3→ガイ ミス 233 248 1.55
ブリンク4→フリオニール   251 266 1.66
ブリンク4→ガイ   255 270 1.69
ブリンク4→ガイ(干渉100)   174 189 1.18
ブリンク5→フリオニール   255 270 1.69
ブリンク5→ガイ(干渉100)   233 248 1.55
ブリンク5→ガイ   232 247 1.54
ブリンク6→フリオニール   233 248 1.55
ブリンク6→ガイ(干渉100)   174 189 1.18
ブリンク6→ガイ   221 236 1.48
ブリンク7→フリオニール   267 282 1.77
ブリンク7→ガイ(干渉100)   290 305 1.91
ブリンク7→ガイ   167 182 1.14
ブリンク8→フリオニール   174 189 1.18
ブリンク8→ガイ(干渉100)   232 247 1.54
ブリンク8→ガイ   246 261 1.63
攻撃→ガイ   251 266 1.66

検証

ブリンク1あたり、乱数を消費するとして整理してみます。

ブリンクのレベル -2 -1 0 1 2 3 4 5 6 7 8
ダメージ3   192 319 315 ? 203 266 270 248 282 189
ダメージ/160   1.20 1.99 1.97   1.27 1.66 1.69 1.55 1.76 1.18
100段階乱数   20 99 97   27 66 69 55 76 18

ブリンク1をフリオニールに使った時のダメージを基準とする

ここで、ダメージ計算の流れを次のように仮定して乱数判定を整理してみました。

  1. 命中判定[H](攻撃回数だけ乱数判定を行う)
    99段階テーブルの値が命中確率以上ならミス(M)とする。
  2. 回避判定[A](回避レベルだけ乱数判定を行う)
    99段階テーブルが値が回避確率以上ならミス(M)とする。
  3. ダメージ判定[ダメージ]
    ダメージ=攻撃力×乱数補正-防御力
ダメージ   192 304 300 282 188 251 255 233
99段階テーブル ? 20 99 97 85 27 66 69 55
なし H A(M) 304            
ブリンク1 MH H A(M) 300          
ブリンク1(ガイ、干渉100) MH(M) H A(M) 300          
ブリンク1(ガイ) MH H A(M) A(M) 282        
ブリンク2 MH MH H(M)            
ブリンク2(ガイ、干渉100) MH(M) MH H(M)            
ブリンク2(ガイ) MH MH H(M)            
ブリンク3 MH MH MH H A(M) 188      
ブリンク3(ガイ、干渉100) MH(M) MH MH(M) H A(M) A(M) 251    
ブリンク3(ガイ) MH MH MH H A(M) A(M) A(M) A(M) 233
ブリンク4 MH MH MH MH H A(M) 251    
ブリンク4(ガイ、干渉100) MH(M) MH MH(M) MH(M) H A(M) A(M) 255  

注意すべき点

  1. クリティカル判定を入れるとうまく説明できない。
  2. 魔法の命中判定では命中率100%があると仮定しないと説明できない
  3. ブリンクは魔法の命中判定(MH)を魔法レベルだけ行う。
    この時乱数テーブルの値が魔法命中確率以下なら魔法が成功すると仮定した
    詠唱効率=精神(知性)-魔法干渉の合計
    魔法命中確率=魔法の命中率+詠唱効率
  4. ブリンクは魔法成功回数だけ、回避レベルを上げる魔法である
  5. ブリンク3を使ったときにエクスカリバーはミスだが命中率を96%にすると命中した
    (99段階テーブルは97だが、端数処理や正式な乱数が不明なので、誤差範囲である)
  6. フィールド用の乱数テーブルに今回求めた乱数テーブルが全く対応しない。
    戦闘用の乱数テーブルはフィールド用のテーブルと全く別のものを使用しているようだ

複数回ヒットのダメージ計算式

 2001/5/26追加

フリオニール(命中率2-99)がガイ(防御15)にパーティアタック

ダメージ     304 300 282 188 251 255 233 実ダメージ
99段階テーブル ? 20 99 97 85 27 66 68 55  
なし H H A(M) 300 CT 188 CT     300+188=488
ブリンク1 MH H H(M) A(M) 282 CT 251 CT   282+251=533
ブリンク2 MH MH H(M) H A(M) 188 CT 255 CT 188+255=443

フリオニール(命中率2-99)がボム(防御0)に攻撃

ダメージ     319 315 297 203 266 270 248 282 189 実ダメージ
99段階テーブル ? 20 99 97 85 27 66 68 55 76 18  
なし H H 319 CT 297 CT           319+297=616
ブリンク1 MH H H(M) 315 CT             315
ブリンク2 MH MH H(M) H 297 CT           297

フリオニール(命中率3-99)がガイ(防御15)にパーティアタック

ダメージ     304 300 282 188 251 255 233 267 174 実ダメージ
99段階テーブル ? 20 99 97 85 27 66 68 55 76 18  
なし H H H(M) A(M) 282 CT 251 CT 233 CT   766
ブリンク1 MH H H(M) H A(M) 188 CT 255 CT 267 CT 710

注意点

  1. クリティカル判定はダメージ判定の後に行っているようだ。
    (ただし、実際にクリティカルしたことはない)
  2. 最終ダメージは1ヒット当たりのダメージをヒット数だけ判定した合計になる
  3. パーティアタックの場合は、1回でもヒットしたら武器レベルだけヒットする。
  4. ブリンクはマリアが使用した、ただし対象はフリオニールにした
  5. 実ダメージは実際に戦闘で得られたダメージである計算上のものと一致した。
  6. 追加効果がある武器の場合、ダメージ判定の後魔法防御レベルだけ乱数が消費された。
    これは、魔法防御の判定をしたためだと考えられる。(面倒なので結果はアップしません)

うーん、なんだか確認作業になっているだけのような気が・・・。

今後の予定

  1. 魔法のダメージ計算式の説明
  2. アルテマのダメージ計算式を求める

 魔法の場合はデータは取れているのですが、説明するのが面倒なのでまた今度ということで(死)。とりあえず、下にデータだけ載せてみました。今は説明はしないので、わかる人だけわかってください(死)。でも、アルテマだけは意味不明です(死)。

魔法のダメージデータ(知性99のファイア(威力34))

99段階テーブル ? 20 99 97 85 27 66 68 55 76 18 22
ファイア1(ボム) MH MR 136 CT 126 CT             262 262
ファイア1(干渉100、ボム) MH(M) MR 136 CT 126 CT             262 262
ファイア1(ガイ) MH MR 68 CT                 68 68
ファイア1(干渉100、ガイ) MH(M) MR 68 CT                 68 68
ファイア1(ガイ、リボン) MH MR 34 CT                 34 34
ファイア1(干渉100、ガイ、リボン) MH(M) MR 34 CT                 34 34
ファイア1(ソルジャー) MH MR MR(M) 67 CT               67 67
ファイア1(干渉100、ソルジャー) MH(M) MR MR(M) 67 CT               67 67
ファイア2(ボム) MH MH MR(M) 134 CT 86 CT 114 CT 120 CT   454 454
ファイア2(干渉100、ボム) MH(M) MH(M) MR(M) 134 CT 86 CT 114 CT 120 CT   454 454
ファイア2(ガイ) MH MH MR(M) 67 CT 43 CT 57 CT 60 CT   227 227
ファイア2(干渉100、ガイ) MH(M) MH(M) MR(M) 67 CT 43 CT           110 110
ファイア2(ガイ、リボン) MH MH MR(M) 33 CT 22 CT           55 55
ファイア2(干渉100、ガイ、リボン) MH(M) MH(M) MR(M) 33 CT 22 CT           55 55
ファイア2(ソルジャー) MH MH MR(M) MR(M) 63 CT 56 CT 52 CT 40 CT 211 213
ファイア2(干渉100、ソルジャー) MH(M) MH(M) MR(M) MR(M) 63 CT 56 CT         119 120

魔法の後に直接攻撃して乱数テーブルの位置を確認してるのでこれでいいはず。


RPG INSTITUTE > FF2 > 真・ダメージ計算式 公開開始 2001/4/21