投稿記事

まるちゃん 2020/04/07 16:22

固定ダメージのいいところが分かった

パーティー能力.txt (パーティー能力.txt) ダウンロード | VXace スクリプト 【 作成者:まるちゃん 】 | uploader.jp
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/73
ターゲット拡張.txt (ターゲット拡張.txt) ダウンロード | KGC rgss3 | uploader.jp
https://ux.getuploader.com/KGC_rgss3/download/8

バグがやっぱり有ったので修正しました
今はスキルをまた制作したりとかしていました
レベルアップが目的だからスキルをたくさん増やせばもっと面白いと思いました
なので、魔法をⅫまでつくってガンガンレベル上げるようにしました
今は敵を作っていてある問題に直面しました
魔法が強すぎる…
Ⅻまでつくって、それを固定ダメージではなく魔法力に依存したダメージ計算にしました
そしたら威力が 12 倍とかになりました
それに合わせて敵のステータスを作ればいいと思いました
敵の行動を決めるとき、どの魔法を使えばいいんだろう?ってなりました
敵の威力は味方の10%程度のダメージになるように設定したので
威力が 12 倍の魔法を使用すればワンパンで死にます
だから魔法って固定ダメージにしないといけないんだなぁと思いました

ダメージ計算や敵のステータスの算出は問題ないはずです
魔法を固定ダメージにすると威力に合わせてステータスを作る必要がないんので
逆に楽になったかもしれません

敵はⅠの威力の魔法やスキルを使うで問題ないと思うんですけど
ラスボスがⅠのスキルを使うってかっこ悪くないですか?
それはやりたくないなぁと思ったので魔法を固定ダメージにすることにして
レベルに合わせてたくさん作ることにしました
以前はそれが嫌いだったんですけど調整という面を考えると
そうするのが一番いいと思いました

もし魔法をⅫランクまで作らずに対応させると
ダメージ計算にレベルを参照するものを加えれば解決できます
しかし、そうすると威力がレベルが上がるごとに増していくのに
コストが一定なのでMPをレベルアップで上げる必要がなくなります
レベルアップでMPを増やしたいなぁと思ってるので…

文章にまとまりがないんですけど問題がまだ一つあります
敵をレベルに応じて能力が変化する形にしているので
スキルも変化させる必要があります
パーティーの平均レベルに応じてスキルの威力を決めるとき
レベルを参照してもらったほうが楽です
敵はそれでいいとしても、味方はそれだとコストが一定で困って…
敵の行動が大変なことになっていてどうしようかと…
インフレを起こしたので大変になったというか…

特技は減らすことにしようかなぁと思っています
強力攻撃というスキルもⅫまで作りましたが、どうしようかなぁと…


とりあえず計算

物理ダメージについて(敵のHPを作成)

a.atk * 4 - b.def * 2 = damage
通常戦闘の敵は防御力を持たないので
damage = (20 + 6/5 * level) * 1.5 * 4
damage = 120 + level * 7.2
魔法の威力とダメージ計算が同じだった
敵と味方のレベルが同値のときに成り立つ
多分これが敵のHPとなるような気がします
このダメージが 60% の割合がいいのかで変わると思いますが
今回は敵が沢山出現するので1発でいいきがします

魔法ダメージ作成

魔法を固定ダメージとして一度計算してみることにしてみます
敵のステータスは 120 + level * 7.2 と決定しました
アクターのステータスは 20 + level * 6/5 に装備を考慮します
固定ダメージを N としたとき
N + a.mat * 2 - b.mdf * 2 = 120 + level * 7.2
というダメージ計算を例として考えます
これはツクールのデフォルト計算と同じです
今回のゲームでは通常戦闘の敵に防御力と魔法防御は不要だと考えました
N + (20 + level * 6/5) * 3 = 120 + level * 7.2
ここではアクターのレベルと敵のレベルは同値として考えます

N + 60 = 120
N = 60 程度が妥当?でしょうか
level * 3.6 = level * 7.2
魔法力の成長より敵のHPの成長のほうが早いので
N = 60 として考えると敵のレベルより2倍ないと倒せません
それは魔法を使用する意味がないので固定値を大きくする事が必要です

N = 60 + level * 3.6
こうすることで魔法をたくさん作らなくても大丈夫なはずです
味方と敵のレベルを同値として考えました
能力開放という次の威力のスキルを習得する魔法を作成しました
もうこれ以上スキル考えられないし、何より好きなので
やっぱりスキルはたくさんあったほうがいい気がしますが
敵の行動を考えるとスキルがたくさんあると大変…
あちらをたてると、こちらがたたず


敵を一発で倒せると考えるて以下を計算します

level == 100 のとき

N + 140 * 3 = 840
N = 840 - 420 = 420

level == 50 のとき

N + 80 * 3 = 480
N = 480 - 240 = 240

N == 500 としたとき

500 + (20 + level * 6/5) * 3 = 120 + level * 7.2
560 + level * 3.6 = 120 + level * 7.2
440 = level * 3.6
level = 122.222
レベル 122 程度までは一発で倒せるという威力です


転職後について考える

a.atk = 20 + 8/5 * level
a.mat = 20 + 8/5 * level となるとき

ダメージ計算式はデフォルト通りとし、通常戦闘の敵は防御力を持たない
装備は攻撃力の半分の数値を取ると想定されるので 1.5 をかける
a.atk * 4 - b.def * 2 = damage
(20 + 8/5 * level) * 6 = damage
damage = 120 + level * 9.6

N + a.mat * 2 - b.mdf * 2 = damage
通常戦闘の敵は魔法防御を持たない
また装備は魔法力の半分の数値を取ると想定する
N = damage - a.mat * 3.0
N = 120 + level * 9.6 - (60 + level * 4.8)
N = 60 + level * 4.8

a.atk = 20 + 10/5 * level
a.mat = 20 + 10/5 * level となるとき
damage = a.atk * 6 = 120 + level * 12
N = 120 + level * 12 - (60 + level * 6)
N = 60 + level * 6

まとめると

1次職の魔法による固定ダメージ
N = 60 + level * 3.6
2次職の魔法による固定ダメージ
N = 60 + level * 4.8
3次職の魔法による固定ダメージ
N = 60 + level * 6

魔法がアップグレードすると考えると次以降の魔法は
下式が望ましいはず
N = 60 + level * 7.2
N = 60 + level * 8.4

一生懸命Ⅻまで魔法作ったんですけどやめようかなぁって
でも、レベルアップしてもスキルを習得しなくて面白みにかけるような…
一応装備によるアップグレードが面白い要素だと思って作ったのですが…
最初は魔法使いのスキルは能力開放ではなくて
味方全体のレベルを100上げるみたいなぶっ壊れスキルを考えていました
スキルを習得できるし能力値も上がるし…
しかし、スクリプトとして作るのは難しかったので諦めました
今思うとできなくも無いのかなぁと…
attr_accessor として level があってそれを参照しているので
def level を作って…


これが頑張って作ったマップです
テストマップのつもりなのですが、もうこれでいいかなぁって…

回復魔法のダメージ計算

1次職

2000 + level * 20 が1次職の戦士の最大HPとなっています
他の職業は狙われ率によって値を変動させています
僧侶の魔法力は
a.mat = 20 + level * 5/5 となっています
回復量が最大HPの半分程度になるように考えます
N + a.mat * 2 = MHP * 0.5
N = (2000 + level * 20) * 0.5 - (20 + level * 5/5) * 3
装備は能力値の半分程度の値を持つと想定されるので 1.5 倍します
N = 1000 + level * 10 - 60 - level * 3
N = 940 + level * 7

2次職

4000 + level * 20 が2次職の基礎最大HPとしました
a.mat = 20 + level * 6/5 が2次職の僧侶の魔法力です
N = (4000 + level * 20) * 0.5 - (20 + level * 6/5) * 3
N = 1940 + level * 6.4
となりこれはレベルが上がるほど1次職の回復魔法のほうが
威力が高い計算になってしまいます

なので2次職で習得する魔法は
最大HPの6割を回復するとして考えました
N = (4000 + level * 20) * 0.6 - (20 + level * 6/5) * 3
N = 2340 + level * 8.4

3次職

8000 + level * 20 が2次職の基礎最大HPとしました
a.mat = 20 + level * 7/5 が2次職の僧侶の魔法力です
N = (8000 + level * 20) * 0.5 - (20 + level * 7/5) * 3
N = 3940 + level * 5.8

3次職では7割を回復すると考えます
N = (8000 + level * 20) * 0.7 - (20 + level * 7/5) * 3
N = 5540 + level * 9.8

まとめ

魔法力が上がっていくと固定値が下がっていく?
60 の減算が邪魔なので無視します

全ての回復魔法を最大HPの半分程度回復すると考えると
1000 +level * 7 > 4000 + level * 5.8
となるような場合はどれくらいのレベルなのか考えます
3000 < level * 1.2
level > 2500
レベルが 2500 を超えると1次職の魔法の威力のほうが強くなります
これはいいのか?
僧侶の魔法力を上げても固定値のほうが大きくなるので
魔法力の意味がなくなるのでこれはいいのか…?

割合の回復量が増えるとして考えると下式が良さそう?
5割:N = 940 + level * 7
6割:N = 2340 + level * 8.4
7割:N = 5540 + level * 9.8

次以降を想定すると…
8割:N = 5540 + level * 11.2
9割:N = 5540 + level * 12.6

それだったら回復魔法は
a.mhp * 0.5 みたいにしたほうが良さそうな…
回復魔法ってすごく難しい
それだったらいないほうが?

魔法を固定にして3つ程度を作ることを想定すると
能力開放や宝具といったもので2段階上がるように想定しています
攻撃力依存のスキルもほしいので攻撃力は以下のように考えました
MPを消費せず使用できるものとして考えました

・会心が発生しない 1.5 倍ダメージ(会心は 2.0 倍ダメージ)
・2回攻撃 0.5 * 2 = 1.0
・全体攻撃 0.5
これをパワーアップさせると
・会心が発生しない 2.0
・3回攻撃 0.5 * 3 = 1.5
・全体攻撃 1.0
2段階目のパワーアップが
・会心が発生しない 3.0
・4回攻撃 0.5 * 4 = 2.0
・全体攻撃 1.5

これと同じように回復魔法を考えて
回復魔法にはランクが1~3までとして、魔法力を考慮しない?
・1000 + level * 10
・2000 + level * 10
・4000 + level * 10
MP消費じゃなくてTP消費として回復魔法を作ったほうがいいような?
そして割合回復か全体回復みたいな感じで…

これは、能力値に比べてHPが大きすぎるのが原因かもしれませんね
上の式もまるっと見直す必要があるかもしれません
最大HPを 99999 としました
それは能力値が 9999 が限界値だからです

最初は回復魔法も魔法力依存にしていました
そしたらダメージとらくべて回復量が小さすぎてしまいました
ヒーラーを毎ターン回復させてもいいのですが
戦闘が終了してメニュー画面で回復するときに
何回も回復させる必要があってそれが面倒でした
魔法の威力を固定値にすればいいと気づいたのはこれが最初でした

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

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

まるちゃん 2020/03/29 14:29

スクリプト素材の追加。ツクール VXace の使用時間

アイテム所持数.txt (アイテム所持数.txt)
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/71
最大値を自由に変更できる

パーティー能力.txt (パーティー能力.txt)
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/72
アイテムを所持しているだけでパーティー能力が使える

特に言うことがないんだけど、スクリプト素材を追加しました
まだ色々作る予定です
多分バグは無いと思う
アイテムを所持しているだけでパーティー能力が使えるようになります
また、戦闘に参加していなくてもパーティー能力が有効になります
パーティー能力に以下の要素を追加しました
アイテム取得率二倍:戦闘によるドロップが2倍になる
(デフォルトにあるのはアイテム獲得率二倍でドロップ率が上がる)
獲得経験値二倍:パーティー全体の経験値獲得が2倍になる
これらはノートに書く必要があります
デフォルトであるものは特徴に追加しないと使えません

実は、まだスキルの威力とコストについて悩んでいます
今はスキルの数を10個ぐらいにしちゃおうと思っています
アニメーションを一生懸命作っていたのですが無駄になってしまいました
10個分のアニメーションは絶対に作れないので諦めます
後半になると新たなスキルを習得することもなく
レベルアップによる恩恵が実感しにくいと思ったからです
クラスアップによる能力値上昇がMPはなくなるのが少し残念
コストと威力は同値の関係にしました
攻撃力が25%上がれば威力が25%程度あがるように
コストが25%上がれば威力が25%上がるようになる
能力開放で次のスキルを習得したとき威力が少し上がる程度でも
バフと同じようなものと考えれば問題ないと思うことにしました

自分はスクリプト素材しか作ることができなくて
ゲームが作れないっていうか、そのせいでSSがないので
最近、すっごく寂しい記事ばかりで悲しいです

更に寂しいSSを貼ります


使用時間 2,194 時間
ツクール VXace で完成したゲームの数 0
思い出は プライスレス

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

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

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

自動戦闘における攻撃回数と会心の評価(確率と期待値の計算)

スキル、装備の作成(防御力について 2/3) - まるちゃん - Ci-en(シエン)
https://ci-en.net/creator/2689/article/230018

前回の記事より威力4を自分は選択して敵を倒して遊んでいました
やはり問題がありました
ボスのように防御力を持つ敵には連続攻撃Ⅰのスキル威力である
0.6 ( 0.3 * 2 ) というのが通常攻撃である 0.5 の威力より弱くなりました
これは味方だけではなく敵も使用するので
少し弱い攻撃が2回とんでくると考えて死にスキルにしても良かったのですが
やはり自分は気に食わなかったので攻撃回数の評価をより正確なものとしました

今回も自分の考えの整理のためだけにほとんど記事を書かせてもらいます
少し大変でしたが1日で作れたので良かったです

攻撃回数と会心率の評価

自動戦闘の評価は簡単に言うと 与ダメージ / 敵のHP としています
殆どの評価値 < 1.0 をとり敵を倒す場合 > 1.0 となります

2回攻撃の場合

damage = 3 (与ダメージ)
crt = 25% (会心率)
会心倍率を2倍として計算します
期待値を計算して算出します

会心:0回

1 - 0.25 = 0.75 の確率で会心が発生しない攻撃です
0.75 * 0. 75 = 9/16
与ダメージは 3 * 2= 6

会心:2回

0.25 * 0.25= 1/16
与ダメージは 3 * 2 * 2 = 12

会心:1回

ここからが曲者です
これは皆さん1からそれ以外を引いて計算したいはずです
1 - (9/16 + 1/16) = 10/16
しかし、プログラムはそうもいきません(多分)
0.25 * 0.75 * 2 = 10/16 と計算します
今回は2回攻撃なので2を乗算しました
これは最初に会心が出るか、最後に会心がでるかとわかりやすいはずです
でも攻撃回数が増えるごとに複雑になっていきます
これの計算の算出がわかりませんでした
与ダメージは 3 * 2 + 3 = 9

2回攻撃の期待値の計算

6 * 9/16 + 12 * 1/16 + 9 * 10/16 = 9.75‬
与ダメージが3で2回攻撃だから期待値は6とすると
結構数値が違うことにびっくりするはずです

3回攻撃の場合

会心の成功を


失敗をとします

会心:0回

確率は 0.75 * 0. 75 * 0.75 = 27/64
与ダメージは 3 *3 = 9

会心:3回

確率は 0.25 * 0. 25 * 0.25 = 1/64
与ダメージは 3 *3 * 2 = 18

会心:1回

確率は 0.25 * 0. 75 * 0.75 * 3= 27/64
与ダメージは 3 *2 + 3 * 2 = 12



会心:2回




こちらも3通りです
確率は 0.25 * 0. 25 * 0.75 * 3= 9/64
与ダメージは 3 *2 * 2 + 3 = 15

期待値の計算

めんどいからなし

4回攻撃

ここからが本当のスタート
わかるようにすべての発生した順番を網羅して計算していくと
計算量がとんでもないことになるので確率を計算して出さなければいけません
5回攻撃なら 512 回
6回攻撃なら 1024 回
これはありえません。RPGなので攻撃回数が100回にならないと考えて
全部計算するのもありでしたが、悔しいので頑張りました
期待値の計算はしないので与ダメージは考えません

会心:0回

確率は 0.75 * 0. 75 * 0.75 * 0.75 = 81/256

会心:4回

確率は 0.25 * 0. 25 * 0.25 * 0.25 = 1/256

会心:1回





確率は 0.25 * 0. 75 * 0.75 * 0.75 * 4 = 108/256

会心:3回





0.25 * 0. 25 * 0.25 * 0.75 * 4 = 12/256

会心:2回

これが中ボスステージです
どう考えて0回、1回、3回の合計から1を引いたほうが早いです
256 - (81 + 1 + 108 + 12) = 54
0.25 * 0. 25 * 0.75 * 0.75 * n = n * 9/256
54 / 9 = 6 通りあります






N回攻撃:M回会心が発生

ラスボスです
会心率を cri 与えるダメージを dmg とします
確率は cri ^ m * (1.0 - cri) ^ (n- m) * L
与ダメージは dmg * 2 * m + dmg * ( n - m)
このLの求め方が大変でした
みなさんはわかりましたか?
これは並び替えの問題でした
今日は朝起きてからずっと悩んでいました

3回攻撃:2回会心が発生


3! / (2! * 1!) = 3 通り

4回攻撃:2回会心が発生


4! / (2! * 2!) = 6 通り

【正解】N回攻撃:M回会心が発生

確率は cri ^ m * (1.0 - cri) ^ (n- m) * L
L = N! / (M! * (N - M)!) 通りあります
多分これで正解なはずです
理系の学生は自分に正解を教えて下さい
期待値の計算は m = 0 .. n の与ダメージ * 確率の合計です

スクリプト素材

自動戦闘(暫定).txt (自動戦闘(暫定).txt) ダウンロード | VXace スクリプト 【 作成者:まるちゃん 】 | uploader.jp
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/70

多分これで大丈夫なはず
会心率が 20% 程度だと威力 0.3 の合計 0.6 の連続攻撃Ⅰは
0.5 の威力の通常攻撃より低く評価されました
しかし、10% 程度上げると連続攻撃Ⅰより高い評価値を算出しました
多分これで大丈夫なはずです

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

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

まるちゃん 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つが消えてしまい残念です
エウシュリーは自分はそんなにやってません
とても残念なニュースです

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

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

まるちゃん 2020/03/22 11:00

スキル、装備の作成(防御力について 2/3)

特にスクリプト素材もなく、ただ自分のためだけにやっています
今でもまだ微妙に思ってるのですがとりあえず数値の決定の流れについて
まとめておいて、他の人の参考になればと

アクターのステータス決定(防御力について 1/3) - まるちゃん - Ci-en
https://ci-en.net/creator/2689/article/229315

前回はアクターのステータスの決定についてまとめました
何を書いたのかまとめると、ステータスの決定は最大値を決めれば良い
その最大値にならないようにバフ、装備、装飾品を考慮しました
バフは最大 1.5 倍、装備はステータスの半分になるので 1.5倍
装飾品は2つ装備できるので 1.5 倍を考え
9,999 / 1.5 / 1.5 / 1.5 という形でステータスの素の最大値を決定しました
製作中のゲームには職業特性があるので更に 1.5 で除算しました
MPはなんとか完成して固定にすることとしました
大きなレベルアップが見込めるゲームなので
レベルアップによってコストの重要性が低下するのを防ぐこととしました

今回は装備の作成とスキルの威力についてまとめようと思います
スキルコストはMPを固定とすることでなんとか考えられました

装備の作成

前回より、ステータスの成長値は最大で
20 + level * 10/5 と決定することができました
・20 + level * 5/5 (+0)
・20 + level * 6/5 (+1)
・20 + level * 7/5 (+2)
・20 + level * 8/5 (+3)
・20 + level * 9/5 (+4)
・20 + level * 10/5 (+5)
5段階の評価を作ることとしました
職業のパラメーターはこの括弧内の数字が合計幾つになるかで決めました
なので -1 のパラメーターを持つ職業もあります
今回のゲームではレベルが大きく上昇するので
もちろん、武器や防具といった装備もレベルに合わせて数多く作る必要があります
しかし、100個も装備の名前は考えられないので
装備にレベルを持たせて対応させることとしました
通常のゲームではないので、もしかしたら参考にならないかもしれません

武器の作成

レベルの最大値は 1000 で武器の最大値は 100 と決めました
20 + 1000 * 6/5 = 1215
1215 / 2 = 607.5 程度の武器を作ればいいのです
weapon.atk + 100 * value = 607.5
上式より value = 6.0 を入れることとしました
レベルが 1000 のものを レベル 100 で対応させるので
1000 / 100 / 2 = 50
成長値に 50 を乗算すれば能力値にあった武器が作れます
・10 + level * 6.0
・30 + level * 7.0
・50 + level * 8.0
・70 + level * 9.0
・90 + level * 10.0
・110 + level * 11.0 (おまけ)
せっかくなので初期値は少し変更しました
レベルが大きく上昇するので誤差程度だと思っています
通常の武器の作り方はレベルを考慮すればいいのだと思います
レベル 50 でその街につくのでその時の数値の半分って感じです
自分はこの半分にたどり着くことが中々できませんでした

防具の作成

防具も同様に作るので簡単なはずだと思っていたのですが
防具は武器と違い装備する箇所が複数あります
デフォルトだと盾、頭、身体と3つもあり
武器で作成したときの数値を入力すると普通に考えて
Status * 1.5 * 1.5 * 1.5 = Status * 3.375
元の数値の3倍の値になってしまいます
製作中のゲームでは頭を削除して、盾と身体をあわせて
ステータスの 1.5 倍の数値になるように決めました
なので防御力に回せないステータスを他のステータスに回すことにしました
15 の防御力を合計してつけるために
9 の防御力と 6 の魔法防御を有した鎧を作ることとしました
盾は 6 の防御力と 3 の魔法防御にしました
鎧と盾で性能に差があるのが少し嫌です
二刀流は武器を2つもつけられて強いのに盾で能力値が低下してしまいます
しかし、ローブのステータスを決めるのに
魔法防御を 9 として防御力を 6 にしてしまうと
盾の魔法防御が 9 でローブの魔法防御が 9 になると 18 になってしまいます

防御力というステータスがすごく邪魔に感じます
しかし、今回のゲームではレベルアップしてステータスを上げ
ステータス差で勝つゲームを目的にしているので仕方ないと思うことにしました
次回のゲームでは防御力をなくしてしまおうと思っています
ひとつずつ、自分で考えてゲームを作っているので
こういうことが次第に分かってきてるので
自分好みのゲームがどんどん作りやすくなるような気がします
・10 + level * 6.0
・8 + level * 4.8
・6 + level * 3.6
・4 + level * 2.4
・2 + level * 1.2
こういうように分けて、更に
<EVA level * 0.001>
<CRI level * 0.001>
これをつけたりしました
すべての装備がスロット的に平等になるように作りたいところです
今書いていて、やっぱりまだ微妙な気がしました
装備は1つ同じ価値を持つように作りたい気がします

スキルの威力を作成


これは特に言うことが無いのかもしれません
モンスターのステータスを作るときに参考にします
連撃というランダムな敵を攻撃するスキルを元に作成しました
また、スキルによる威力の差をできるだけ減らしました
レベルが合っていないけど強そうだから次のダンジョンに挑戦してみよう
そんなときに威力が 2 倍以上違うとだめなような気がしました
まだ試していないので、また変更になりそうなところです
通常はスキルの威力を作成はモンスターを作成してからな気がします
理由は戦闘の計算を通常攻撃を元にして考えると思うからです
敵のHPを作成するには味方の攻撃力と敵の防御力を作成する必要があります
すでに味方の攻撃力はできているので敵の防御力とHPを考える必要があります
ここが、私の一番言いたいところなのですが
敵のHPを考えるために2つの未知の数字を1つの式で考える必要がある
通常、中学生の数学で2つの未知の数字を求めるために必要なのは2つの式です
しかし、敵のステータスを考えるためには1つの式で考えなければいけません
もちろん、敵のステータスを最大値を決めてから決定してもいいのかもしれません
それだったら、敵のステータスに防御力っていらないんじゃないのかなぁって
ボス戦でデバフを使用するために防御力はもしかしたら必要かもしれません
ダメージ効率を上げるために敵の防御力を下げることは非常に効果的です
そのときには必要かもしれないけれど
通常戦闘にデバフを用いることは無いので必要ないと結論しました
味方にはある程度ダメージ軽減が必要とされるはずです
強い敵が出たときにレベル上昇により防御力も上がり敵を倒しやすくなるはずです
防御力はこの程度でいいんだと思います

表を見ると威力が 2 倍になるとコストが 4 倍になっています
これは平等じゃない気がしてう~んといかんじです
魔法を通常通り固定ダメージにすると、この問題が解決するはずです
自分のゲームでは能力開放という次のランクを習得できる魔法があります
そのため全体魔法を打てる回数と次のランクの単体魔法が打てる回数を
同じにするためにコストを表のように設定する必要がありました
できるだけ、ゲームの中でリソースの重要性を設定したかったからです
効率を重視してプレイすればステータスで殺されるような難易度にすれば
問題が解決するような気がします
威力が強くなればそれだけコストが増える
でもこれは装備の中でも見られる関係だと思います
ドラクエ11の「ひのきのぼう」の価格は10G、攻撃力は7をとります
「はがねのつるぎ」の価格は2000G、攻撃力は35になります
攻撃力が5倍だから値段も5倍ということはありません
自分は大きな力の代償に大きなコストと考えました
TP消費スキルによるMP回復手段も多く用意したので
大丈夫かなぁって…

職業スキル一覧

TE : ターン終了時に発動するスキル
BS : 戦闘開始時にのみ発動するスキル

1次職

・挑発:このターンのみ狙われ率を上げる。防御に専念する
・追撃:(TE:50%) 敵をランダムに攻撃する
・キュアー:戦闘不能以外の状態異常を治療する。
・キュアオール:味方全体の戦闘不能以外の状態異常をランダムに1つ治療する。
・閃光玉:(BS:100%) 敵全体を暗闇状態にする
・施し:味方単体のSPを50%回復する。
・ダブルマジック:習得している属性魔法を2回使用する
・能力開放:味方全体は新たな特殊技能を習得する。

2次職

・猪突猛進:(BS:50%) 敵全体に攻撃する
・力をためる:(TE:50%) 次のターンまで攻撃力をあげる
・守護の盾:(BS:100%) 挑発を使用する
・鉄壁の守り:このターンの間、味方全体を防御状態にする。
・レイズ:戦闘不能から復活させ、HPを100%回復する。
・妖精の息吹:5ターンの間、味方全体をHP自動回復状態にする。
・瞑想:味方単体のHPを回復する。
・爆裂拳:習得している連続攻撃をランダムに2回使用する。
・俊足:(BS:100%) 味方全体の俊敏性を少し上げる
・生存戦略:5ターンの間、味方全体は回復量が2倍になる。
・隠密行動:(BS:100%) 隠れる
・不意打ち:隠れ状態を解除して使用する。敵全体にスタン
・魔力の奔流:味方全体のSPを50%回復する。
・魔脈のオーラ:5ターンの間、味方全体をMP自動回復状態にする。
・ポイズン:敵全体を必ず毒状態にする。毒状態の敵にはダメージを与える。
・スリープ:(BS:100%) 50%の確率で敵全体を睡眠状態にする。

3次職

・エレメントバリア:炎、氷、雷を半減する。魔法防御力を大幅に上げる。
・魔法剣乱れ打ち:習得している魔法剣をランダムに4回使用する。
・狂戦士の憤怒:(TE:50%) 次のターンは2回行動
・大暴れ:習得している特殊技能をランダムに4回使用する。
・聖なる盾:使用者はHPを50%回復する。挑発する
・故国の守護神:味方全体はHPを最大値の50%回復し、防御状態になる
・呪いの霧:防御力、魔法防御を大幅に下げる。沈黙状態にする
・魂の掌握:(TE:50%) ランダムな敵のHPを吸収する
・女神の加護:7ターンの間、味方全体の防御力と魔法防御を大幅に上げる。
・神々の祝福:味方全体を全回復させる。(復活する)
・癒やしの雨:(TE:100%) 1ターン目のみ発動。味方全体を回復する
・自然の援軍:7ターンの間、味方全体の最大HPと俊敏性と運を大幅に上げる。
・神の慈悲:味方全体HPを100%回復する。
・神威:次のターンまでの間、味方全体の能力値を大幅に上げる。
・拳の奥義:(TE:50%) 連続攻撃を使用する。
・阿修羅拳:SPを50%消費して発動する。爆裂拳を3回使用する
・祝福の旋律:味方全体のバフと敵全体のデバフを5ターンに延長する。
・癒しのバラード:味方全体のHPとSPとTPのどれかを回復する。
・運任せ:次のターン、味方全体は自動戦闘で2回行動をする。
・神頼み:5ターンの間、味方全体の自動発動率が2倍になる。
・妖精のポルカ:攻撃力と防御力を大幅上昇。SP再生
・妖精の聖域:5ターンの間状態異常を無効。HP再生状態
・アンブッシュ:隠れ状態を解除。敵単体強力攻撃
・闇に潜む:(TE:50%) 隠れる。隠れている場合は2回攻撃
・絨毯爆撃:(BS:25%) 敵全体に魔法攻撃
・ヘキサマジック:SPを50%消費。ダブルマジックを2回使用
・ホーリーパワー:神聖魔法を4回使用する。
・リインフォース:魔法力と魔法防御大幅上昇。SP再生
・ダークパワー:暗黒魔法を4回使用する。
・ウィークネス:5ターンの間、すべてのステータスを下げる
・パンドラマジック:習得している魔法からランダムに4回使用
・深淵の叡智:味方全体のTPを上げる。

今のところは防具のステータスをもう一度見直してみようと思います
スキルの威力は3を採用しようかなぁと思っています
スキルはまだ変えるかもしれない
3次職は似たようなスキルばかりでいいのかなぁと少し思いました
(2020/03/23)虎伏しの構えが気に食わなかったのでやめました
普通に職業の特性として反撃率を50%とすることとしました
瞑想と神威のスキルを作成しました
初期値を 20 に変更した
装備をつけたとき 1.5 倍するとき 15 * 1.5 が嫌だ。小数点で汚い
スキルの威力4にすることにしました
威力3はでかすぎて嫌だから通常攻撃のダメージ計算式を
a.atk * 2 - b.def * 1 とすることと仮定しました

大事なお知らせ - ソフトハウスキャラ - Ci-en(シエン)
https://ci-en.dlsite.com/creator/1736/article/230545

嘘だと言ってくれよ…

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

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

1 2 3 4 5 6 7

月別アーカイブ

限定特典から探す

記事を検索