ロートル元ゲーム開発者がツクールでゲームを作る|バトル計算式を考える

昨日はワザ名の話をしたので、今日はバトル計算式の話でも。

RPGのバトル計算式にもいろいろありまして、一番単純なのではファイアーエムブレムなんかで採用されている『攻撃力-防御力』なんてのから、複雑なのではポケモンの『{(攻撃側のレベル × 2 ÷ 5 + 2)× 技の威力 × 攻撃側の能力値 ÷ 防御側の能力値 ÷ 50 + 2}× 乱数(85~100)÷ 100 ×タイプ一致 × タイプ相性1 × タイプ相性2』なんて長たらしい(しかしポケモン廃人は普通に覚えてたりするからスゴイ)ものまであります。中でもポピュラーなのはドラクエシリーズで採用されている
『基本ダメージ = 攻撃力 ÷ 2 - 守備力 ÷ 4
ダメージ幅(乱数)= 基本ダメージ ÷ 16 + 1
実際のダメージ =(攻撃力 ÷ 2 - 守備力 ÷ 4)± ダメージ幅』
という奴ではないでしょうか。今回のゲームではドラクエ方式を採用してみます。

次にワザのダメージ計算式ですが、これはダメージ値に倍率をかけたものになります。倍率1.5倍のワザを使った場合はダメージ値 × 1.5で端数を切り捨てた値になる訳です。簡単ですね。

会心の一撃についてですが、ツクールでは与えるダメージの倍になるようです。ですがこれだと、たとえば防御力が極端に高い相手に攻撃した場合、1だったダメージが2になるだけで爽快感がありません。ドラクエでは会心の一撃の場合、防御力を無視して攻撃力と同等のダメージを与えることになっています。これを実現させるプラグインが配布されていますので、導入してみたいと思います。

最後に呪文について。今回のゲームはムシずもうですので、攻撃呪文を使うことはありませんが、ドラクエでは『(こうげき魔力 × 呪文倍率)+ 固定値』となっています。呪文倍率と固定値の値は呪文ごとに異なります。さらに敵によっては呪文に対して耐性と弱点があり、たとえば炎の魔法には1.3倍のダメージをくらうが氷の魔法は0.5倍になってしまうなんてことができるわけです。ムシずもうとは言え、炎の突きみたいなワザにすることはできると思うので、ちょっと考えてみたいところではあります。

あと強化魔法。いわゆるバイキルトですが、1段階目で攻撃力を1.2倍、2段階目で1.4倍します。スクルトも同様に防御力にかかります。ちなみに弱体化呪文であるルカニは1段階目で30%、2段階目で40%、防御力が下がります。バフデバフで勝負が決まる対戦ものは好きなので、是非とも取り入れたいところです。

そんな感じで計算式を決めたら、各ムシのパラメータを設定していきます。たとえばHPが200とかあるのに1回で与えるダメージが10程度しかなかったらダレますよね。そういうことが無いように攻撃力とか防御力を決めていく訳です。今回のゲームでは実質11キャラしかいないことになっているので、そんなに時間はかからないかなと。

#ゲーム #雑記 #開発 #JavaScript #RPGツクール #RPGツクールMV

コーヒー代でも投げてくれると、作者が喜びます。