ダメージ計算の話

ツクる上でのちょっとした小ネタや裏ワザなどを紹介してみましょう。
アバター
htsmh
記事: 48
登録日時: 2016年3月15日(火) 18:43

ダメージ計算の話

投稿記事by htsmh » 2016年10月07日(金) 22:52

自分が考えてきたダメージ計算の話です。つまらない分が続くので面倒なら■3まで飛ばしてください。

■1
まずツクールのデフォのダメージ計算は 攻撃×4-防御×2 です。この式はこれにかけるスキル倍率やステータス強化弱体スキル(強化をバフ、弱体をデバフと言う)によっては少しおかしな数字になるのでそれの説明をします。
まず例としてスキル倍率1.5倍のスキル、DQで言えばせいけん突きのようなスキルで、攻撃を100防御を100として計算します。
ここで補正をかける場所は多分下のA、Bの二つの場所のどちらかにする人がほとんどだと思います。
A 100×4×1.5-100×2 = 400
B (100×4-100×2)×1.5 = 300
Aは攻撃に直接かけ、Bは最終的に求めた値にかけてます。そしてA,Bの値はそれぞれ別の値になりました。当然ですがかける場所で答えが変わります。分かりやすく見るなら
Aが 
100×4×1.5-100×2
でBの()を分解すると
100×4×1.5-100×2×1.5
となり別の式であることが分かると思います。
A,Bの答えを見れば分かるとおり思いのほか差が出来てます。AはBの約1.34倍です。
もし貴方が作ってるゲームの式がA,Bが両方混ざってると戦闘バランスが狂うかもしれません。
蛇足ですが攻撃を200にしたときのAは1000、Bは900、攻撃を400にしたときはAは2200、Bは2100とダメージの差はそれほど大きくなりません。

■2
■1で触れたバフデバフの話をします。■1のA,Bの式を攻撃バフ、防御バフ、攻撃デバフ、防御デバフの順で表します。さらに元のA,Bの何倍かも右に表します。
バフは1.25倍、デバフは0.8倍で表すと
攻撃バフ
100×4×<1.25>×1.5-100×2 = 550   Aの1.375倍
(100×4×<1.25>-100×2)×1.5
=100×4×<1.25>×1.5-100×2×1.5 = 450 Bの1.5倍
防御バフ
100×4×1.5-100×2×<1.25> = 350   Aの0.875倍
(100×4-100×2×<1.25>)×1.5 
=100×4×1.5-100×2×<1.25>×1.5 = 225 Bの0.75倍 
攻撃デバフ
100×4×<0.8>×1.5-100×2 = 280    Aの0.7倍
(100×4×<0.8>-100×2)×1.5 
=100×4×<0.8>×1.5-100×2×1.5 = 180 Bの0.6倍
防御デバフ
100×4×1.5-100×2×<0.8> = 440   Aの1.1倍
(100×4-100×2×<0.8>)×1.5 
=100×4×1.5-100×2×<0.8>×1.5 = 360 Bの1.2倍
となります。

■3
で、何が言いたいかと言うとツクールデフォの計算式は攻撃にかかる能力変化によるダメージ変化幅が広く、逆に防御にかかる能力変化によるダメージ変化幅は比較的小さいということです。上のを見れば分かると思いますが、Bの計算式にかけた攻撃バフデバフは1.25倍のバフでダメージが1.5倍、0,8倍のデバフでダメージが0.6倍とかなり大きな変化幅になっています。
差が出てしまうのは攻撃と防御の値が離れすぎたり近づきすぎたりするからです。
Bは攻撃100×4×1.5の600、防御の100×2×1.5の300ですが攻撃デバフBは攻撃100×4×1.5×0.8の480、防御300と結構差がでてます。
バフデバフ倍率をちょうどいいものにするか、成功率が低めのスキルにするか、そもそも使わないなどするなどかんがえるといいでしょう。

改善案を一つ上げると (攻撃×4-防御)×スキル倍率 というものを考えました。
攻撃バフデバフによる上昇幅はかけた倍率に近いダメージ量となります。防御バフに関しては防御の値そのものに補正をかけずに物理、魔法ダメージ倍率や耐性によって計算で求めたダメージの割合カットをするようにします。欠点は防御の値の必要性が薄れることです。というように式によって利点や欠点があるのでシステムにあった計算式を考えるのもよいゲームつくりの一歩になるかもしれません。

“MV:小ネタ・TIPS・講座” へ戻る