一週間連続でぼやきごとを更新するなんて何年振りだろうか…。
いや、もしかしたら初めてかもしれない。
さて、今回は編成画面で見ることのできるユニットのパラメータについて説明します。
まずパラメータの一覧を再掲します。
これらのうち、HP、SP、MP、WT、防御力、回避、ガード、移動力、跳躍力については以前書いた記事以上に書くことは特にありません。
以前書いた記事(2009-10-09/ゲーム制作は妄想段階が一番楽しい)を参照してください。
今回主に書くのは次の二点になります。
さて、RPGの一つでもやったことのある人ならば、『属性』と聞けば大体どういう要素なのか想像が付くと思います。
このゲームにおける攻撃属性および属性耐性もそういった一般的な『属性』から大きく外れるような要素ではありません。
ただし、一つの攻撃手段に基本属性と追加属性という二つの属性を併せ持つ点がやや独特かもしれません。
まず属性名、区分、およびその属性を持つ攻撃例の一覧を次の表に示します。
属性名 | 区分 | 攻撃例 |
---|---|---|
斬撃 | 基本 | 剣、槍での攻撃 |
打撃 | 基本 | 鎚、ハンマーでの攻撃 |
射撃 | 基本 | 弓矢での攻撃 |
法撃 | 基本 | 魔法での攻撃 |
火 | 追加 | 火属性魔法での攻撃 |
氷 | 追加 | 氷属性魔法での攻撃 |
風 | 追加 | 風属性魔法での攻撃 |
雷 | 追加 | 雷属性魔法での攻撃 |
土 | 追加 | 土属性魔法での攻撃 |
魔 | 追加 | 魔属性魔法での攻撃 |
このゲームにおけるあらゆる攻撃手段は1個の基本属性と0個以上の追加属性を持ちます(一部武器には例外あり)。
そして相手のその属性に対する属性耐性によって与えるダメージが変動します。
属性耐性の値は、0%が基本値で、プラスになるほどダメージ軽減、マイナスになるほどダメージ増加となります。
即ち、実際に受けるダメージの割合は(100−属性耐性)%ということになります。
物理攻撃および魔法攻撃の与ダメージに影響するパラメータは次の通りです。
以上を踏まえて以前の記事に書いた計算式を修正すると次のようになります。
なお、式 [x]
は、この説明においては x
の小数点以下を削除する処理となります(ガウス記号ではない)。
即ち、 [3.14] = 3
、 [-3.14] = -3
ということです。
De
(物理、魔法共通)E0
、追加属性をその個数分だけ E1, E2, …
とする。E
としたとき、その属性に対する相手の属性耐性を D.E
と表す。
De = (100−D.E0)÷100
De = (100−(D.E0+D.E1))÷100
De = (100−(D.E0+D.E1+…+D.En))÷100
Ba
、乗算補正値を Br
とする。
As = [自分のSP÷10] Ds = [相手のSP÷10] Dd = 1−(相手のDEF÷1000) 基本威力値 = 攻撃力+(As−Ds) 与ダメージ = [[[(基本威力値+Ba)×Br]×Dd]×De]
Am = 自分のMP÷1000 Dm = 相手のMP÷1000 与ダメージ = [[魔法の基本威力値×(1+(Am−Dm))]×De]
計算式だけだとわかりにくいと思うので、具体例を挙げようと思います。
まず、次の三つの攻撃手段を例として定義します。
これらの攻撃手段で、次のような属性耐性を持つモンスターを攻撃するとします。
属性名 | 耐性値 |
---|---|
斬撃 | 20% |
打撃 | 25% |
法撃 | -40% |
火 | -25% |
雷 | 50% |
自分のSPとMPは共に400、相手のSPとMPは共に200、相手のDEFは100とします。
また、通常物理攻撃の加算補正値は0、乗算補正値は1.0とします。
この時、それぞれの攻撃手段で与えられるダメージを上述の計算式によって求めると次のようになります。
De
De = (100−20)÷100 = 0.8
As = [400÷10] = 40 Ds = [200÷10] = 20 Dd = 1−(100÷1000) = 0.9 基本威力値 = 300+(40−20) = 320 与ダメージ = [[[(320+0)×1.0]×0.9]×0.8] = 230
De
De = (100−(25−25))÷100 = 1.0
As = [400÷10] = 40 Ds = [200÷10] = 20 Dd = 1−(100÷1000) = 0.9 基本威力値 = 250+(40−20) = 270 与ダメージ = [[[(270+0)×1.0]×0.9]×1.0] = 243
De
De = (100−(−40+50))÷100 = 0.9
Am = 400÷1000 = 0.4 Dm = 200÷1000 = 0.2 与ダメージ = [[250×(1+(0.4−0.2))]×0.9] = 270
計算式やこの計算結果等から言えることは次の通りです。
また、その他の属性に関する事項は次の通りです。
パラメータに関してはこんな所でしょうか。
属性計算をなるべく単純化すべく複数の属性耐性は加算する方式にしたのですが、もしかしたら仕様を変更するかもしれません。
次回はアイテムについてです。
アイテムの種類と、アイテム情報シーン内の遷移について説明することになると思います。