(自分用)ダメージ計算式のメモ

RPGの永遠のテーマである、ダメージ計算式について、いろいろと調べてダメージ計算式についてまとめたので、自分のメモ用に。メリットとデメリットを上げておくのでそれも参考になれば幸いかと…。

なお、断り書きがなければ、自分で勝手につけたものである。

※この記事を作るにあたって、ぷらんとメモのゲームのダメージ計算式の記事を参考にしていただきました。ぷらんとメモの管理人の@ppprant1121さん、この記事の二乗除算+分母加算式の原型である、加算除算複合式を考え出していただきありがとうございます!!

用語集

用語 概要
攻撃力 (断り書きがなければ)攻撃を与える側の攻撃力など。
防御力 (断り書きがなければ)攻撃を受ける側の防御力など。
定数 何らかの値。例えばツクール計算式(下記参照)では2と4が定数である。
基礎ダメージ 攻撃と防御から算出されたダメージの基準。下記の補正を考慮しないときのダメージである。
補正 乱数補正、技の威力、属性相性などなど。基準ダメージにかけられる諸々の値

減算計算式(有名なパターンについても)

  • 古くからある伝統的な計算式。
(攻撃力×定数-防御力×定数)×補正

または、

(攻撃力×定数×補正)-(防御力×定数)

共通事項

メリット

  • 攻撃力-防御力なので、ダメージの影響がわかりやすく実装がしやすい。
  • 攻撃力から防御力を引くので大体の見当はつく。

デメリット

  • 攻撃力の補正の倍率と防御力の補正の倍率によっては大ダメージになってしまう。
  • 防御力×補正>攻撃力×補正だと0になってしまう。

(これを回避するために最小限保証ダメージなどが実装されていることも多い。)

  • キャラの格差が出やすい。(これをメリットにすることも可能である)
  • 攻撃力に直接補正をかけると何倍ものダメージが出る。(特に攻撃力と防御力が近いときだが、メリットになることも)

定数なし減算式(アルテリオス計算式)

  • レトロゲーやFEやマリオストーリーやウディタの基本システム(未改造)で採用。
  • 一部では悪名高い計算式。ただしゲーム制作者の力量次第では、うまく化けることも。
攻撃力-防御力

ドラゴンクエスト・ツクール計算式

  • 非常に有名かつツクールで亜種が標準で採用されている計算式。
  • 一言で言うなら攻撃力を半分にして防御力をさらに半分にした計算式。
攻撃力÷2-防御力÷4
  • ツクールの場合は以下の通りである。
攻撃力×4-防御力×2
  • ウディタの自作基本システム改造コモンでもこれの亜種(厳密には以下の計算式)を採用する。(追記:かもしれない…使わないかもしれないが念の為。)
攻撃力-防御力÷2
  • 本来なら以上の式でもいいはずなのだが、ファミコンの仕様によって攻撃力も半分にせざるを得なかったのだろう。

除算式(有名なパターンや自分が使う予定のネットユーザーが作ったパターンについても)

  • こちらも古くからある伝統的な計算式。
(攻撃力×定数÷防御力)×補正

メリット

  • 防御力>攻撃力でもダメージを与えられる。

デメリット

  • 割り算という性質上、攻撃力に定数をかけないと必然的にデフレが発生する。
  • 割り算という性質上、防御力0を扱えない。
  • そのため採用するときは、以下の二乗除算式やレベル補正付き除算式のように定数をかけて使うことが多い。

定数なし除算式

  • 主に採用されているのはファミコン版女神転生II、Incubator(おそらく)。
  • 他にこれが採用されているゲームはないかな?
攻撃力÷防御力

二乗除算式

  • これが採用されているゲームは(自分が知る限りでは)不明であるが、有名なことは確かなようである。
攻撃力×攻撃力÷防御力

レベル補正付除算式

  • 主にポケモンで採用されている。(更に定数をかけているが)
攻撃力×レベル÷防御力

二乗除算+分母加算式

攻撃力×攻撃力÷(攻撃力+防御力)
  • 一言で言うなら減算式+除算式。
  • 要はアルテリオス計算式と二乗除算式のいいとこ取り。

以下、ぷらんとメモの記事より引用。

  • 二乗減算式に近いが、分母に攻撃力を加算している。(これにより、防御力=0でも計算可、またこのとき基礎ダメージが攻撃力の値になるなど、便利な性質を得られる。)

メリット(手前味噌だけど)

  • 二乗除算式と同様、防御力>攻撃力でも、ダメージが発生する。
  • 加算式と同様、防御力=0を使える、また、このときは攻撃力(に補正を書けた値)がそのままダメージとなる。つまり、最大ダメージは攻撃力によってのみ決定し、インフレしにくい。

デメリット

  • 癖がない分、ダメージ計算式の特性を上手く使った戦い方を楽しむのは難しい。
  • 攻撃力の増減によるダメージの変化具合が分かりにくい。
  • 環境次第では実装は少し大変。
  • 攻撃力が0でかつ、防御力が0だとゼロ除算が起こる。このときは攻撃力が0なのでダメージは0にしてしまえばよいが、場合によってはそのための処理が必要。
  • 除算式同様、攻撃力と防御力がそれぞれ与えるダメージへの影響が大きく異なる。

その他の計算式

累算式

  • 攻撃力を何らかのアクションで変動させるシステムが搭載されているソシャゲではこれだけで成立する。
攻撃力×補正

メリット

  • プレイヤー自身のアクションなどでダメージが変化するゲームとの相性がいい。
  • キャラが持つ戦闘関係のデータは攻撃力(相当のもの)だけなので、防御力がいらない。

デメリット

  • 防御力が前提のゲームとの相性が悪い。
  • これによって防御力の処理の実態が倍率による補正になってしまうこと。

倍率累乗式

  • 主に初期頃の不思議のダンジョンに採用されていた。
攻撃力×(一定の倍率^防御力×定数)

メリット

  • 不思議のダンジョンのような攻撃力と防御力の差が大きいゲームとの相性がいい。
  • 防御力の数値だけダメージが一定の倍率分軽減されるので、インフレが発生しにくい。
    (SFC版風来のシレンで説明すると、ダメージが15/16倍(約94%)ずつ軽減される。)
  • ダメージが防御力の数値1上がるにつき特定倍率分軽減されるので、大きな攻撃力でもインフレしにくい。
  • 減算式と同様最大ダメージが攻撃力に依存するので大きくなりにくい。
  • この計算式によって防御力が重要になり、戦略性が上がる。

デメリット

  • 減算式のように防御力の数値分減らしたり、除算式のように攻撃力を防御力の数値分割るというよりはダメージを防御力の数値だけ軽減させるというニュアンスになってしまう。
  • 特定の倍率ずつ軽減する関係上、小さな攻撃力では防御力の恩恵が得られにくい。
  • 下手に一定の倍率を小さくしすぎるとデフレしやすくなり、下手に定数を使ったり、使わずに大きな数字を計算すると更にデフレする。
  • 攻撃力と防御力の関係がイメージしにくくなる。
    (ダメージのデフレとこれが最大のデメリットにしてこの計算式が普及しなかった理由である)
    (チュンソフト側もこの計算式が攻撃力と防御力の関係をイメージしにくく、デフレの原因になると判断したのか、最近の不思議のダンジョンは減算式になっている。)

分子減算式

  • FF6、7、8、10で採用されたダメージ計算式。減算式と倍率累乗式の良いとこ取りという感じに近い。(他に採用例無いのかな?)
攻撃力×(定数-防御力)/定数

メリット

(倍率累乗式に加えて)

  • 防御力の最大値=定数なので、倍率累乗式のデメリットを一部解消している。

デメリット

(倍率累乗式に加えて)

  • 防御力が大きくなればなるほど定数が大きくなっていく。つまりこの計算式だと逆に定数がインフレするのである。(これが最近のFFでこのダメージ計算式が採用されなくなった理由であると思う…)

追記:レベル補正付除算式のミスを修正。