RPGでよく使われるダメージ計算式とは?実例とバランスの考え方

技術ノウハウ

初めに

「攻撃力100、防御力50ならダメージはいくつ?」――ゲームを作るときに必ず出てくる疑問です。

一見シンプルな問題ですが、ダメージ計算式の設計次第で「爽快感」「戦略性」「難易度バランス」が大きく変わります。

この記事では、RPGを中心に使われているダメージ計算式の例をまとめ、それぞれのメリットと使いどころを解説します。

① シンプルな引き算方式

最も基本的な方式。防御力をそのままダメージ軽減に使う。

ダメージ = 攻撃力 - 防御力
(ただし最低1以上)

例:攻撃力100、防御力80 → ダメージ = 20

→ ドラクエの初期作品などでよく使われる方式。

② 割合軽減方式(よくあるRPG)

防御力が「割合でダメージを減らす」式。防御が高いほど効き目があるが、完全に無効化はしにくい。

ダメージ = 攻撃力 × ( 攻撃力 / (攻撃力 + 防御力) )

例:攻撃力100、防御力50 → ダメージ ≈ 67

例:攻撃力100、防御力200 → ダメージ ≈ 33

→ FFやポケモン、MMORPGなどで採用例が多い。

③ 防御力を係数に変換する方式

防御を「%軽減」に変換して扱うやり方。

ダメージ = 攻撃力 × (1 - 防御力 / (防御力 + 定数))

例:定数=100

攻撃力100、防御力50 → ダメージ = 100 × (1 – 50/150) = 67

攻撃力100、防御力200 → ダメージ = 100 × (1 – 200/300) = 33

→ 「硬くなればなるほど追加で硬くなる」カーブを調整しやすい。

④ 乱数を加える方式

ランダム性を入れて戦闘を予測不能にする。多くのRPGで採用。

ダメージ = (攻撃力 - 防御力 / 2) × (0.85 ~ 1.15の乱数)

例:攻撃力120、防御力60 → 基本値 = 90 → 実ダメージ = 76~103

→ ポケモンシリーズで使われている方式に近い。

⑤ 固定比率軽減(アクションRPGで多い)

防御力を「被ダメージの割合」に変換する方式。

ダメージ = 攻撃力 × (100 / (100 + 防御力))

例:防御力100 → ダメージ半減

防御力300 → ダメージ25%

→ DiabloやLoLなどアクション寄りのゲームでよく使われる。

⑥ 防御を「ダメージカット値」として使う方式

攻撃力がどんなに高くても、防御が一定以上ならダメージをかなり抑える。

ダメージ = max(1, 攻撃力 - 防御力 × 0.8)

例:攻撃力100、防御力50 → ダメージ = 60

例:攻撃力100、防御力120 → ダメージ = 4(最低保証で1以上)

→ シンプルだが「鉄壁タンク」を作りやすい。

まとめ

  • 引き算式 → 分かりやすいがインフレしやすい
  • 割合式 → バランスがとりやすく主流
  • 乱数式 → 戦闘にスリルが出る
  • 固定比率式 → PvPやアクションRPG向き

自分の作りたいゲームのスタイルに合わせて最適なダメージ計算を選んでください!

タイトルとURLをコピーしました