まるちゃん 2020/03/24 15:45

敵のステータス作成(防御力について 3/3)

ほとんど自分の考えを整理するためだけに書いてました
何人かにいいねを押してもらい見てもらいました
ここで感謝を、ありがとう!

今回で最後で敵のステータスを作成します
多分、こういう順番でRPGの数値を作成すればいいんだと思います


威力3は数字がでかすぎて怖くなってしまいました
なので、a.atk * 2 - b.def * 1 の計算式を製作中のゲームでは選択しています
通常通りの計算式でゲームを作る人は少し計算式が違ってくると思います
また、RPGにおけるダメージの計算式は色々あります
a.atk / b.def みたいにして攻撃力が2倍になるとダメージが2倍になる
そういう計算式を取るゲームもあります
この計算式の欠点は攻撃力の数値に比べて防御力が低くなるというところです
防御力をゲーム中であまり出さないゲームならおすすめの計算式だと思います
プリコネやトルネコがこの計算式だったと思います

敵のステータスを作成するために自分は以下の手順を取りました
(1)アクターのステータスを作成する
(2)スキルと装備の数値を作成する
最初に敵のステータスを作るっていうのもありなのかなぁ?

敵ステータスの作成

① アクターのステータス決定(防御力について 1/3) - まるちゃん - Ci-en(シエン)
https://ci-en.net/creator/2689/article/229315
② スキル、装備の作成(防御力について 2/3) - まるちゃん - Ci-en(シエン)
https://ci-en.net/creator/2689/article/230018

敵の攻撃力

enemy.atk * 2 - actor.def * 1 = damage
通常戦闘の敵がどういう行動をするかわかりませんが
製作中のゲームでは通常攻撃を基本として考えています
デフォルトの人はenemy.atk * 4 - actor.def * 2 = damage です
他には通常攻撃と同じ計算式の魔法攻撃とかを考えていたりします
アクターの防御力は ① よりステータスの最大値より決定できました
レベルアップによる能力の上昇値は 10/5 = 2.0 となっています
今回は1次職の基本となる防御力である 5/5 = 1.0 を使用します
actor.def = (20 + level * 1.0) * 1.5 となります
* 1.5 は装備による上昇値を考慮しています
enemy.atk * 2 - (30 + level * 1.5) = damage
damage がどれくらいの値にするかはアクターの最大HPより決定します
アクターの最大HPは 2000 + level * 20 としました
製作中のゲームでは、これを狙われ率によって変化させます
damage = (2000 + level * 20) * 0.05 とします
つまり、最大HPの 5% のダメージを雑魚敵は与えます
今回は1回戦闘をクリアするごとに1体敵が増えますので
10回戦うと20体ぐらい出現します
なのでダメージ量は 5% とすることにしました
通常は10%ぐらいがいいかもしれません
まとめると下式になります
enemy.atk * 2 - (30 + level * 1.5) = 100 + level * 1.0
敵の攻撃力を enemy.atk = atk + level * n と仮定します
(※ この level はアクターのレベルではなく敵のレベルです)
atk *2 - 30 = 100
敵の攻撃力の初期値は 65 が妥当だという計算です
敵のレベルによる上昇値は敵のレベルと味方のレベルが同値と考えます
level * n * 2 - level * 1.5 = level * 1.0
n * 2 - 1.5 = 1.0
n = 1.25
よって、敵の攻撃力は 65 + level * 1.25 となります
(2020/03/25)計算ミスがあった

敵の防御力とHPを作成

これは2つまとめて作るから大変です
結論である「通常戦闘の敵に防御力は不要」というのが一番わかってくれると思います
通常戦闘では味方の全体魔法攻撃による一掃を基本として考えています
なのでダメージ計算式は表より下式のようになります
actor.mat * 4 - enemy.mdf * 2 = damage
damage は敵のHPと同じ値でいいと考えます
これは人、ゲームによって様々だと思います
自分はダンジョンで敵を倒すほど敵のレベルが上昇します
結果、ステータス差で殺されるという仕様なので1回で十分なのです
damage = mhp + level * n となります
味方の攻撃力は下式になります
actor.mat = (20 + level * 6/5) * 1.5
6/5 にしているのはアタッカーの攻撃力、魔法力の成長値です
* 1.5 は装備によるステータス上昇です
これらを当てはめると下式になります
(30 + level * 1.8) * 4 - enemy.mdf * 2 = mhp + level * n
敵と味方のレベルがありますが同値として考えています
通常は敵のレベルを考える必要はありません
敵の防御力を enemy.mdf = mdf + level * m とします

120 - mdf * 2.0 = mhp
この式の難しさがわかりますか?
敵の防御力を設定してないから最大HPがわからない
敵の最大HPを設定してないから防御力がわからない
それだったら、防御力いらないじゃん!
もちろんボスと戦う場合、防御力を下げるデバフがあるので
ボスには防御力を設定する必要があります
でも、通常戦闘にデバフって使用しないと想定されるので
通常戦闘の敵に防御力のステータスはいらないんじゃないかと
自分はボス以外の敵に防御力を設定することをやめました
あえていうならば
mdf = 0, mhp = 120 となります
他に
mdf = 10, mhp = 100 と設定しても構いません
自分にとってはこの自由度があまり好きになれません
level * 7.2 - level * m * 2.0 = level * n
7.2 - m * 2.0 = n
これが敵の成長値です
m が防御力、 n がHPによるものです
m = 0 のとき n = 7.2 となります
m = 1.8 のとき n = 3.6 となります

敵の防御力を 10 + level * 1.8 とすると
敵の最大HPは 100 + level * 3.6 となります
また、防御力を 0 にしてしまえば
敵の最大HPは 120 + level * 7.2 となります
(2020/03/25)計算ミスがあった

まとめ

敵の防御力をどう設定すればいいのか自分にはわかりませんでした
わからないので捨てました
自分の生きていく上での1つのルールなんですけど
「できないことはやらない、できることをやる」
座右の銘とでも言うのでしょうか?
これはソフトウェア工学の基本的な考えの1つだと自分は学習しました
例えば、敵の防御力が味方の攻撃力より2倍以上たかいとダメージが0になります
ダメージ0じゃ毒のステートを与えて長時間の戦闘をしないと勝てません
それをプレイヤーに通常戦闘でやらせることはしたくありません
なにより装備を新しくしたらダメージが増えた!
これを実感させるためには防御力は不要じゃないかということです
これは自分の製作中のゲームで言えることなので
もしかしたら、他のゲームでは言えないかもしれません
例に上げた敵の防御力が高いとダメージが与えられないで有名なのが
かの有名なアルテリオス計算式です
アルテリオス計算式とは (アルテリオスケイサンシキとは) [単語記事] - ニコニコ大百科
ドラクエでは確かツクール2000と同じ計算式をとっていたと思います
a.atk / 2 - b.def / 4 = damage です
今回のゲームはこれを2倍にしてツクール VXace の 1/2 にした計算式です
この計算式がどういう間違いを起こすのかまだわかりません
でも、とりあえずいいんじゃないのかなぁと思っています
欠点とかあれば指摘お願いします
アルテリオス計算式は非常にわかりやすいと思います
防御力がそれだけダメージを軽減する数値になるのです
自分がいつか作りたいゲームはアルテリオス計算式で行きたいんです
通常戦闘は今回と同じように敵に防御力を与えません
そうすれば、攻撃力がそのまま敵に与える数値となります
今回もステータス差で殺すことをゲームの目的としているので
アルテリオス計算式でもいいのかと思いましたが
やっぱりダメージが入らないのは面白くないのでやめました
ボス程度なら防御力でダメージで軽減されても許されるかなぁって
他に、バフ・デバフといたスキルもありますから
どういう結果になるかは実際に作ってみなければわかりません
まてよ…、アルテリオス計算式でいってもいいのか???
ボスだけって限定するならいいんじゃないの?
ちょっと、もう少し考えてみようと思います
記事を書くとこういうことが再発見できてとてもタメになります
ボスにも防御力や魔法防御を設定せずにデバフを作ることは可能です
魔法ダメージ率、物理ダメージ率を 1.5 倍などと設定すればよいのです
ツクールのデフォルトにある能力値低下は使えないので面倒ですけど

つい昨日、ゲームに必要なアイテム、装備が大体揃いました
まだ魔法の装備と言われる強い装備が作れていません
新たな能力値を装備に付与するからです
しかし、装飾品にしか自分はステータス上昇を許可していません
ステータスの最大値を突破しても構わないとは自分は思えないので
頭ひねりながらやっています

ダンジョンは敵が登場して、敵を倒すと宝箱が出現する
こんな程度なんであともう少しでゲームが完成するような気がします

余談ですがソフトハウスキャラが解散するようです
ツイッターでは皆さん巣作りドラゴンしか話題にしていません
みんなそこで止まっているみたいです
自分はウィザーズクライマーも好きなんですが、忍流が一番好きかもしれません
なんで?ってきかれるとほたるちゃんが可愛いからとしか…
自分は働かないでツクールしかしてないんでお金なくて
お金もパソコンを買うためだけに貯めてるのでエロゲも買えない…
ソフトハウスキャラ、エウシュリー、アリスソフト
この3大巨頭のうち1つが消えてしまい残念です
エウシュリーは自分はそんなにやってません
とても残念なニュースです

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

限定特典から探す

記事を検索