さて今回はRPGのダメージ計算式の導出を行ってみたいと思います. ダメージがあらかじめ予測できると作戦が立てやすくなり,さまざまな制限プレイやタイムアタックの基本情報とも言えるでしょう. メジャーなゲームは既に解析されていることが多いですが,マイナーなゲームの特殊攻略に手を出す人は,ある程度自分で導出できるノウハウを持っていたほうがいいと思います. と,えらそうな事を言ってますが,私自身は全くの素人ですので多くは期待しないで下さい.
ドラクエには”ドラクエ式”とも呼ばれる有名なダメージ計算の基本式があり,次式で表されます.
ダメージ = 攻撃力 / 2 −守備力 / 4
実際はこの式に揺らぎを持たせる項が存在するのですが,今回の内容はそこまでの追求が難しいので,単純に上記の式を導く事を考えます.
(理由はルカナンやスクルトがなく,敵の防御力を確定できないためです.)
式の導出にはいくつかの仮定が必要になっています. この仮定が正しくなければ,導出する式も正確ではなくなってしまいます(ただし経験式としては十分利用できます).
今回の調査では以下の仮定を置いています.
1.に関してはDQ1という昔のゲームだからこそ成り立つ仮定でしょう. 現在のゲームでは考えられないと思いますが,逆に属性が前面に紹介されているので,各属性ごとに調べていく事は可能となります. DQ1では炎の剣という紛らわしい武器が存在しますが,実際に攻撃をしてみても,炎の剣だけが式からずれるという事は確認できておらず,無属性だと言っていいでしょう.
2.も現在のゲームではありえないと思います. DQ1でも耐性は存在しているのですが,ダメージ値ではなく呪文の成功率という形でのみ現れているようです.
3.はDQ1では検証が難しいです. 敵がこちらのステータスを変化させる手段を持っていれば検証できると思うのですが. ただし製作側の気持ちになって考えると,わざわざ敵味方別の計算式を作るよりも,敵ステータスを調整してダメージを考えたほうが楽だと思いますので,正しい仮定と言えるはずです.
4.別ステータスの影響であり,DQ1ではこの検証も難しいです. DQ1では残ったステータスとして「素早さ」があります. 敵の素早さに関して,こちらの素早さを変化させることである程度の傾向はつかめるものの,値を確定するに至りません. また,同レベルで素早さだけを自由に変化できるほどの手段がありません(素早さの種は1個のみで,装備による素早さの変化はありません). 正しいと決めてかかるしかないと思います.
あいきき(Lv17,ドーピングなし)にいろいろな武器を持たせスライムを20回殴り,ダメージを集計した.
ダメージをグラフ化したところ,図1が得られた.
平均値の近似曲線の傾きから,攻撃力が1変化するとダメージが0.5(1/2)変化する事がわかる. (なお,最大値と最小値はズレが大きいと思われる. これは最大値及び最小値はどれだけデータを集めても「1つ」しか値が得られないこと,また,ゲーム中でダメージが整数値のみを取り,小数点以下は何らかの処理が施されているためと考えられる.)
あいきき(Lv17,ドーピングなし)にいろいろな防具を持たせ,ドラゴン@ローラ姫の洞窟から30回ダメージを受けた.
ダメージをグラフ化したところ,図2が得られた.
平均値の近似曲線の傾きから,攻撃力が1変化するとダメージが-0.25(-1/4)変化する事がわかる.
以上の結果より,DQ1のダメージ計算式は以下の通りであると結論付けられる.
ダメージ = 攻撃力 / 2 - 守備力 / 4
ということで,今回は正解を知った上での調査ですので楽でしたが,未知のゲームだとこうはいきません. しかし正解といかずとも,経験則としては十分価値がありますので,マイナーゲームに手を出す際は試してみてください.
注意点としては,ゲームによってはステータス詐欺(表示と実際の効果が異なる)が存在しますので,そういったゲームは気をつけて下さい. ロマサガとかロマサガとか,ロマサガとか.