投稿記事

まるちゃん 2020/03/20 15:02

アクターのステータス決定(防御力について 1/3)

ターゲット拡張.txt (ターゲット拡張.txt)
https://ux.getuploader.com/KGC_rgss3/download/7
http://ytomy.sakura.ne.jp/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/base_function&tech=target_extension
これは KGC にあったターゲット拡張をVXace でも使えるようにしたものです
規約を読んで多分大丈夫だったと思うのですが自分は日本語が怪しいので
もし間違っていたら教えて下さい、そして許してください

両手持ち.txt
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/69

今回はゲームを作る上で目標を作りました
とにかく考えて自分が納得した数値でゲームを作るということです
例えば職業を作る際にステータスをどうするか皆悩むと思います
自分は悩むのです
能力値をどれくらいのステータスとして設定するか
どうしてAのボタンをおすと 17~20 程度の数値がレベル1で入力されるのか
そして、どれぐらいの数値でレベルアップすると成長するのか
そういうわからないことというのが自分のゲーム制作を妨げていました
なので、とにかく考えることを目標にゲームを制作しました

今回はスキルの調整も終わり、ステータスの調整もなんとか終わった気がしました
以前は会心率と攻撃力の関係を記事にまとめたと思います
ダメージの期待値を考慮した会心率と回避率について - まるちゃん - Ci-en
https://ci-en.net/creator/2689/article/95169
結局あんまり参考にしませんでした
なんとなくそれっぽいステータスにしました


アクターのステータス決定

レベルアップ時の上昇値をどう決定すればいいのかわかりませんでした
皆さんがどう決定しているのかわかりませんが自分はこう決めました
ステータスの決定は普通、計算式では作れません
能力値自由設定.txt (能力値自由設定.txt)
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/59
自分はこのスクリプトを使い自由に設定しています
最近、ツクールMVを購入したので Java を理解したら
このスクリプトを移植しようと思います

HP の決定

HP の最大値を 99,999 としました
今回のゲームではレベル 1000 を上限としました
レベル上げたくさんして面白くしようと思ったので
最大値を変更しなきゃと思ったので…
そうしたら HP は 99999 を超えないように設定しないといけません
99,999 / 1.5 = 66,666 はバフによる能力値上昇を考慮しました
66,666 / 1.5 = 44,444 は装飾品による上昇値を考慮
44,444 / 1.5 = 29,629.33... は暗黒騎士の職業特性を考慮しました
暗黒騎士は HP が 1.5 倍になる代わりに狙われ率が 1.5 倍になります
29,629.33... はアクターの素の最大値となります
29,629.33... / 1000 = 29.62933... はレベルアップの成長値になります
レベルアップによる成長値は 30 までなら許されることになります
暗黒騎士の HP を 7500 + level * 30 = 37,500 と設定しました
37,500 < 44,444 以下なので問題ありません
37,500 * 1.5 * 1.5 = 84,375‬ で 99,999 以下なので問題ないと判断しました
今回の他の職業の HP の決定方法は狙われ率を考慮しました
狙われ率が 50% なら HP を 50% にしてという感じです
あとは上級職の初期 HP を色々変えたぐらいです
<MHP 2000 + level * 20> これが戦士の HP の成長式です
戦士は狙われ率が 100%
僧侶は狙われ率が 50% なので
<MHP 1000 + level * 10>
といった具合です。これはフェアな感じがして好きです
パーティー全体の狙われ率は戦士と僧侶がいる場合
デフォルトでは以下のように計算します
1.0 + 0.5 = 1.5
戦士の狙われ率は 1.0/1.5 = 66.6%
僧侶の狙われ率は 0.5/1.5 = 33.3%
実際より狙われる確率が低いので、むしろ得しているはずです
さらに、パーティーは4人が基本なので更に下がります

MP の決定

(2020/03/21)ここはゲームでも重要な要素なのでよく考えて書き直します
等価交換で行こうと思っています
HPの決定も平等になるように考えました
MPも同様に考えるべきだと今は思っています
(2020/03/21)MPは固定して考えることにしました
それというのも、職業によるレベルアップが大きいので
想定していたものより大きくMPが成長してしまうためです
能力開放のステートというものがあり
この状態になると次のランクの魔法を習得します
そのため、次のランク単体魔法と現在のランクの全体魔法のコストを同じにしました
威力が2倍になるとコストが4倍になってしまいますが
通常戦闘を勝っても負けても1ターンで終わる程度の強さにしてしまおうと思います

その他のステータス

その他のステータスとは攻撃力、防御力、魔法力、魔法防御、俊敏性、運
この6つのステータスについてです
今回はダメージ計算をデフォルトの a.atk * 4 - b.def * 2 としました
また、魔法のダメージ計算は a.mat * 2 - b.mdf * 2 なのですが
物理攻撃と同様に a.mat * 4 - b.mdf * 2 とすることにしました
魔法は固定ダメージを基本に考えていますが製作中のゲームではやめました
理由は同じアタッカーという職業の役割をこなせるようにという意味です
また、魔法は固定ダメージがあるためにレベルの上昇が大きくなると
物理攻撃に比べて弱くなります。それを回避するためにやりました

これも職業によって決定しました
バーサーカーの職業特性が二刀流を許可しました
武器は攻撃力の半分になるように設定しました
これは、ツクールでは武器の最大値が 500 までです
最大 HP と MP は 5000 でそれ以外が 500 です
なので武器は攻撃力の半分になるように設定しました
バーサーカーの攻撃力を A と設定したとき
A * 2 が武器を考慮したステータス
2.0A * 1.5 がバフによる能力値上昇
3.0A * 1.5 が装飾品による能力値上昇
4.5A < 9,999 になるように A を設定しました
A < 2,222 となります
2,222 / 1000 = 2.222 となります
なのでレベルアップによるステータス最大上昇値を
10 / 5 = 2.0 と設定しました
これは職業ごとのレベルアップによる差をつけるために分数で考えました
7/5 のレベル上昇値の職業もつくれるということです
20 + level * 10/5 = 2,010
2,010 * 2 = 4,020 が武器を考慮したステータス値
4,020 * 1.5 * 1.5 = 9,045‬ < 9,999 となり、これに決定しました
しかし、武器の値はまだ決定していません

ステートについて(番外)

ステートに能力を上昇するものを作りませんでした
それはバブと内容が重複しているのでやめることにしました
また、ステートの上昇を考慮しないといけなくなるからです
まだ完璧にまとまったとは言えませんがステートが完成したと思います
未完だと思うところはTP再生について、まだなんとも言えないからです
・毒:HP再生率 -5%
・暗闇:命中率 -50%(味方のみ使用?)
・沈黙:魔法攻撃のスキルを封印
・混乱:このターンのみ味方を攻撃する
・睡眠:ダメージで解除(味方のみ使用)
・麻痺:物理攻撃のスキルを封印(敵のみ使用)
・スタン:このターンの間、行動不能
・防御:ダメージを 1/2 にする
・挑発:このターンの間、狙われ率 *1000%
・反撃:次のターンまで、反撃率 +100%
・2回行動:自動戦闘、行動回数追加 100%
・HP再生:HP再生率 10%
・MP再生:MP再生率 10%
・TP再生:TP再生率 4%
・異常防止:5ターンの間、状態異常を無効にする
・発動率:自動発動スキルの確率を2倍にする
・能力開放:次のランクの特殊技能を習得する
・回復:回復効果率が2倍になる
・隠れる:ダメージで解除。狙われ率が *1%
・属性バリア:炎、氷、雷を半減


装備のステータスを書くつもりでしたが
長くなったのでまた次回の記事にしようと思います
この後、装備のステータスの決定と敵のステータスの決定について書きます
記事のタイトルは本当は通常戦闘の敵の防御力のステータスの是非について
自分なりの考察を言いたかったのですが
それを話すまでの前提が長すぎるので、ちょっと疲れました
結論から言うと通常戦闘の敵って防御力いらないだろうと考えました

今回のゲームは装備にレベルをもたせることにしました
多分、レベル100ごとに新しい武器を考えればいいんですが
最大レベルが 1000 ということもありますので
もっと柔軟に装備が対応できたほうがいいと思ったからです
なので装備の考え方は他のゲームにも適応できないかもしれません

(2020/03/23)ステータスの初期値を 20 に変更。15 は嫌
装備したとき 15 * 1.5 = 22.5 となるのが嫌でやめました

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

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

まるちゃん 2020/03/13 10:40

戦闘の役割にそった特徴のまとめ、役割と状態異常の関係

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

ログ表示.txt (ログ表示.txt) ダウンロード | VXace スクリプト 【 作成者:まるちゃん 】 | uploader.jp
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/67

いまはこの2つの修正ファイルを作成しました
自動戦闘はデフォルトでは効果範囲の対象数と連続回数を考慮していません!
連続攻撃のスキルを使わなかったのでなんでかなぁって

スキルのコストと威力の関係を少し見直して上記のようにしました
そのとき連撃のスキルは通常攻撃より少し弱くなっています
(通常攻撃の威力を 1.0 として考えています)
そのせいで使ってくれませんでした
パッとみたときやってくれてるじゃんと思って油断してました

みんなに見てもらう画像が特にないけど役割について少し考えました
状態異常やバフが役割には不可欠だと考えました
またいくつか、製作中のゲームで当てはまるスキルを参考に載せます

タンク

・通常:狙われ率が通常より高い
・ボス:1ターンのみ狙われ率が高くなるスキル
通常戦闘のタンクもボス戦闘でも使えると思いますが
ボスは通常の敵より攻撃力が高いものなので狙われすぎてしまいます
それは不利に働くと考えました
(通常)暗黒騎士の職業特性。狙われ率 200%、最大HPが200%
(通常)戦闘開始時に必ず発動する。防御する。挑発して敵を引きつける
(ボス)パラディンの職業特性。身代わり(HPが 1/4 の攻撃を引き受ける)
(ボス)挑発する。HPを25%回復する。防御する
挑発のステートはデフォルトから変更して1ターンのみ狙われ率が1000%になります
最近、ツクール公式で身代わりについての情報がツイートされていました
自分は知っていました!スクリプトいじってたらこういうことなんだって
命中タイプが必中のスキルは身代わりを無視します
また反撃や魔法反射も当てはまり攻撃が必ず命中します
これはボスにスキルとして持たせているといいと思います
(020/04/04)タンクは基本的に高いHPと防御力を有するものと考えていました
しかし、あるゲームをしていて他にもタンクの種類があることに気づした
それは通常戦闘とボス戦闘という区分けではありません
ただ単にステートを自身に使用してダメージを無効にするのです
ただし、ステートなので継続ターンがあります
状態異常として麻痺やスタンといったスキルを使用して重ねがけを阻害するのです
こういったタンクがいてもいいと思いました

サポーター

・通常:敵全体に状態異常(主に行動を封じるもの)を付与する
・ボス:バフ、状態異常の治療、毒の付与
通常戦闘サポーターもボス戦闘の役割を全うできる可能性が高いです
しかし、基本的にボスは状態異常に対する耐性を持つものとして考えました
通常戦闘で有効な状態異常は行動を封じる睡眠、スタンや
命中率の下がる暗闇がいいと思います
沈黙のような魔法のみを封じるものは使い勝手が悪いと思います
ボス戦闘の毒付与はアタッカーの役割として考えてもいいですが
毒は複数付与できないのでサポーターとして考えました
(通常)戦闘開始時に必ず発動する。敵全体に75%の確率で暗闇を付与する
(通常)戦闘開始時に必ず発動する。敵全体に50%の確率で睡眠を付与する
(通常)戦闘開始時に必ず発動する。味方全体の防御力を少し上げる
(ボス)敵単体を沈黙状態にする。防御力と魔法防御力を下げる
(ボス)味方全体の防御力と魔法防御力を上げる
(ボス)味方全体の攻撃力と防御力を上げ、HPを再生状態にする
(ボス)味方全体をHP再生状態にする。状態異常を防止する
サポートスキルはバフやデバフが基本なのでスキルが多すぎるので絞りました

ヒーラー

・通常:コスパのいい回復魔法、状態異常の治療
・ボス:回復量の多い回復魔法、復活魔法
状態異常の治療はサポーターとしての役割もあると思います
通常戦闘による状態異常は毒といったスリップダメージが主になると思います
通常戦闘で行動不能になるようなステートは嫌煙されると思うからです
(通常)ヒールⅠ、ヒールⅡ、ヒールⅢ、キュア、キュアオール
(ボス)全回復する。TPを100消費する?(多すぎる気がするので考え中)

アタッカー

・通常:全体攻撃
・ボス:強力な単体攻撃、複数回攻撃
複数回攻撃は会心発生によるダメージ上昇を狙います
雑魚敵は複数登場するものとして考えます
また複数回攻撃は敵の数によっても通常で役立つ可能性があります
ランダムな敵に3回攻撃するスキルを習得しているとき
敵の登場数が8体程度だと効果は低いですが
2体程度なら活躍できる可能性があると覆います
もちろん8体でも打ち損じた敵を狩るのにコスパてきに優秀だと思います
(通常)全体魔法、全体物理攻撃
(ボス)連続攻撃
(ボス)隠れるを解除して発動する。敵単体に大ダメージ
(ボス)習得している魔法攻撃をランダムに2回使用する
デフォルトにあった隠れるのステータスを利用した職業を作りました
狙われ率が 1% になり、ダメージで解除されます
しかし、狙われ率が下がるだけなので敵の全体魔法で隠れ状態が解除されます
これをサポートできる沈黙状態にするスキルを作りました
ただし、沈黙状態にしても炎の息、吹雪の息といった全体攻撃で解除されます
(2020/04/04)アタッカーにも2種類いることに気づきました
瞬間火力が高いアタッカーと継続火力が高いアタッカーです
毒を使用するのは継続火力が高いアタッカーという分類でいいかもしれません

状態異常の考察

スキルを作る、増やすには状態異常やステートを増やすことが一番手っ取り早い
また役割を作るためにもこの状態異常をよく考えておく必要があると思う
ツクールにあったステートをもとに考えます
デバフというのは能力値を下げるものと考えています
状態異常とデバフがついたようなステートを作ってしまう場合があります
これは状態異常を増やしたものと考えられるので分けたほうがいいと思います

定義:毎ターンHPにダメージを与え、戦闘終了後にも解除されない
なので通常戦闘の敵が多用することが多いと思います
パーティーのリソース切れを狙うのに有効なステートです
ボス戦闘でも高い耐久力を生かしてパーティーを苦しめるステートです
とても有効的なステートでこれがない RPG はないと思います
パーティーが通常戦闘で使うことはなく、主にボス戦闘で使うことが考えられます
通常戦闘は1~2ターンで終了するものが多いのでダメージ量が低いです
しかし、ボス戦闘では長い戦闘が多いので大きなダメージが見込めます

暗闇

定義:命中率を下げる
これは敵に使われると非常に厄介なステートだと思います
また、プレーヤーのモチベーションを下げるステートだとも思います
通常戦闘ごときに暗闇を治療するためにMPを消費したくない
また、当たるかもしれないから治療せず放置していたら時間がかかった
こういう観点から敵が使うのはやめたほうがいいと思います
ボスが使うのも微妙だと思います。長期戦だから必ず治療すると思います
効果が低いと考えて付加確率を高く設定していると
プレイヤーに毎ターン治療する行動をさせるのは面倒だと思います
逆に、パーティーが使うのは有効的なステートだと思います
敵の攻撃を回避することができるが、それは確率的なものです

沈黙

定義:魔法の使用を禁じる(口を封じない)
これは通常戦闘のサポーターの役割を考えれば使えるものだと思います
しかし、通常戦闘は物理攻撃を主なものとして考えているので
沈黙というのは使える場面とそうでない場面が両極端になると思います
また確率で付与となると通常戦闘でプレイヤーが使うことは無いでしょう
逆に、ボス戦闘で付与出来ればとても効果的なものとなるでしょう
ボスが高いステータスで全体魔法を連続で打つなんてのは厄介です
それに加えて、沈黙を付与されて回復魔法も使えないなんてのは最悪でしょう
ドラクエでは口を封じるものではないので
炎の息、氷の息といった違う全体攻撃をする行動があります
ボスにも対応策をもたせていれば、より戦闘が面白くなると思います

暴走

定義:通常攻撃しかできなくなる
ツクール2000にありました。これは強すぎる状態異常だと思います
例えば、上記の沈黙のように魔法は使えないけど炎の息は使える
こういった対応策が取れない状態異常だと思います
敵が使っても味方が使っても厄介極まりないはずです
暴走状態かつ暗闇状態は絶対に勝てない戦闘になるでしょう

混乱

定義:仲間を攻撃する
これも暴走と同じく行動を強○する状態異常です
しかし、自分は面白い状態異常だと考えています
こういった行動を封じる状態異常は対応策があるべきだと思います
沈黙は魔法が使えないだけで、弱いけど通常攻撃が使える
暴走は行動を封じられるけど、通常攻撃が使える
もちろん治療するスキルやアイテム、状態異常を防止する装飾品などです
パーティーが使うのか敵が使うものか分ける必要があると思います
行動を封じるものは通常、ボスともに戦闘のテンポを下げます
これはプレイヤーにストレスを与えます
戦闘のテンポを下げないように継続ターンを短くするのは解決策の1つだと思います
自分は製作中のゲームで混乱を以下のように考えました
敵、味方ともに使う。継続ターンはこのターンのみ
最初に面白い状態異常だと思った理由は通常攻撃が全体攻撃の場合
混乱すると敵全体を攻撃する凶悪なものとなってしまうからです
これは戦闘のテンポを下げるものではないので面白いと思いました
ツクールのデフォルトだと通常攻撃が全体攻撃にならないのでスクリプトが必要です

睡眠

定義:行動できない。ダメージで解除される
これはパーティーに付与されると非常に厄介です
理由はツクールだと行動が制限されたときコマンドを選択できないからです
眠っていても敵の攻撃によってダメージが解除されて
もしくは、味方の治療で解除できる場合を考えて予め行動を選択する
こういったことができないので非常に厄介なのです
これは敵が使うのは非常に厄介でプレイヤーに対策を迫るものです
また戦闘のテンポを著しく下げ、プレイヤーにストレスを与えます
逆に、味方が使う場合は非常に効果的なものだと思います
敵はダメージで解除された場合でも行動できるからです(多分、たしか…)
敵の行動を制限できて、ダメージで解除されて行動する可能性があります
味方より早く行動している敵は行動を封じることができるはずです
逆に味方より遅く行動しているのはダメージで解除されて行動します

麻痺

定義:指定ターン、行動できない
これは非常に厄介な状態異常です
敵に使われば対応策がなければ積み
味方が使って敵がこの状態になれば勝ち
非常につまらない状態異常です
製作中のゲームでは物理関係のスキルの行動を封じるものにしました
通常攻撃が封じられるです
(2020/04/04)ダメージ無効型タンクがいる場合にありかもしれない
しかし、指定ターンを短くする単体を対象とするなどといった工夫が必要でしょう

スタン

定義:このターン行動できない
行動できないターンが1ターンだけなので特に悪くない
戦闘のテンポを著しく下げるものでもない
敵に使って大技を回避できたり
味方に使われて回復魔法が使えなかったり
使い勝手が良いものだと思います



■ 追記
この戦闘の役割に沿って考えると
いくつか当てはまらないスキルが有ることに気ずきました
「俊足」というスキルが製作中のゲームであります
これはターン終了時にこのスキルを習得しているものの俊敏性を2倍にします
デフォルトのスキルに俊敏性を参照して大ダメージを与えるスキルがあります
これを合わせて使うことで強くて面白そうだと思ったからです
しかし、役割に沿って考えると
サポートでもないし、アタッカーでもないし、タンクでもヒーラーでもありません
使用者のみを対象にするスキルはドラクエで言う「めいそう」のスキルです
これは多分、タンクの役割を果たすことができるとも言えます
けれど、この「俊足」というスキルは役割を演じてないので削除しました

変更してこのスキルにしました
戦闘開始時、必ず発動する。
5ターンの間、味方全体の俊敏性を少し上げる。
これは通常戦闘サポートの役割を演じています
何より通常戦闘の正しい殺し方の味方より素早く動いて殺すのメタになります

2次職のスキルは通常戦闘サポートのスキルが多すぎる気がします
もう少し見直してもいいのかなぁと…
他にあるのは
同様に俊敏性ではなく、防御力と魔法防御力を上げるスキル
更に盗賊は閃光弾という戦闘開始時に敵全体を暗闇状態にするもの
他には戦闘開始時、敵全体を睡眠状態にするスキルもあります
これは多すぎて戦闘のテンポを下げるような気がします

防御力と魔法防御力を上げるのはボス戦闘のサポートスキルにでもしようかと
しかし、3次職にバフスキルを充実させているので、どうなのかなぁ…
いくつかスキルの修正をしていたら、やっぱり作れない
かなり考えてこれ以上作れないと思ってるのにまだ作らないと
デフォルトの侍のスキルに使用者のTPを少し上げるというものがある
これも役割に沿っていないのだがTPを増やせるのは強い
アタッカーをサポートするスキルでもあるんだけど…
どうしよう…

味方全体の防御力と魔法防御力を大幅に上げる
デフォルトスキルの「女神の加護」
これは消費TPを 50 か 75 程度にして強化する予定です
こういう3次職のバフスキルと重なってしまうのではないかと…

デフォルトのスキルに役割に沿わないスキルがいくつかある
例えば、魔力の奔流:使用者のMPを回復する
使用者のみに効果のあるスキルは役割に沿わない
回復魔法の場合、タンクの役割があると言ってもいい
使用者の攻撃力を大幅に上げるみたいな力を貯めるスキル
これは敵が使用したりするけど役割に沿っていない
この例外についてをよく考えよう

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

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

まるちゃん 2020/03/09 17:17

雑魚敵の戦闘ルールを作成

いくつかのスクリプトを修正してアップロードする予定です
ログ表示、装備のアップグレード、自動戦闘が修正したスクリプトで
他に先制攻撃、不意打ちをデフォルトから修正したもの

こんな感じで一応できています
それに加えてアクター全体をアップグレードできるシーンを作る予定です
やっぱり1つ1つレベルアップさせるのは面倒だから作ろうと

今日はダンジョンを少し修正して画像から少しわかるかもしれませんが
10体倒すと次のステージへ行けるようにしました
やはり100体の敵を途中からでもいいから倒すのは面倒でした
そのため取得できる経験値を2倍にしました

ダンジョンのルールは以下の通りにしました
・敵は最低レベルと最高レベルを保持する
・敵を1ターンで倒すと経験値と獲得金が2倍になる
・敵を倒すと次の戦闘の出現数は1体増え、レベルが1上がる
・敵を1ターンで倒すと次の登場する敵が2体増え、レベルが2上がる

ボスは以下のルールを持ちます
・ボスはHPとMPを持ち越す
・HPを持ち越すので強力な技を使用して無残にパーティーを殺す
・魔法防御力が高く属性に耐性をもつ

2つめのダンジョンを作ろうと思ったときに雑魚戦闘のルールを定められました
なんとなくフワッとした感じであったのですが定義しておこうと思います
これは他のゲームでも流用できると思うので参考になればと
この雑魚戦闘は数多くこなすことを前提としています
1つ1つの戦闘をストーリーに沿って濃密なものにする場合は当てはまりません
GrimDawnやTitanQuestが好きなハクスラ大好きな自分にとって
雑魚戦闘というのはレベル上げ、スキルツリーをとるポイントに過ぎません

基本は物理攻撃をする

状態異常を付与したりして戦闘持続可能数を減らすようにする
戦闘持続可能数とは毒のステートをつけられて治療できるアイテムがない場合
スリップダメージとして蓄積されていきます
回復魔法やアイテムを使用したとしても通常より多く使用されるはずです
他には麻痺や沈黙といった状態異常を付与させることがこれに当たると思います

複数の敵を登場させる

前提として味方はそれぞれ狙われ率を持っているものとします
そうすると、狙われにくい味方と狙われやすい味方が存在します
複数の敵、もしくはランダムな味方に複数回攻撃できる敵と登場させることで
狙われにくい味方にも攻撃が通る可能性をあげます
また、パーティーの肝となる味方を狙えるスキルを作ることでも問題ありません。

魔法(全体)攻撃に弱い、弱点をつくる

雑魚敵との戦闘はやはり短い時間で終わるのが好ましいはずです
やっぱり楽しい戦闘はボス戦でありボス戦までのレベル上げです
それまでの時間を簡単にする必要があります
自分のゲームでは全体魔法を強力にして多くのコストを必要としました
複数の敵を登場させ満遍なく攻撃を行き渡らせる必要があるからです
ここで言う弱点は属性ぐらいしか考えていません
この弱点はゲームのシステムによって変わってくると思います
他にもいろいろな弱点がわかればいいのですが…
わかるのは魔法攻撃か物理攻撃、属性といったステータスしか思いつきません
でもこれぐらいのほうがわかりやすい気がします

打たれ弱いが重要な味方

上記のルールより全体魔法が使える魔法使いがこれに当たります
魔法使いを狙うスキルや、複数の敵による攻撃される可能性の上昇
これが雑魚敵の戦闘ルールで一番重要なところだと思います
そしてそれをどうやって守るかが大事なことです
以下の要素を持つ装備を作ることが大事だと思います
・魔法使いの狙われやすさを下げる
・魔法使い以外の他の味方の狙われやすさを上げる
・回復魔法や防御力を上昇するバフ
・敵の行動を制限する
・先制攻撃を成功させ2ターンの間に倒す
・不意打ちを無効にする(結構大事だと思う)
雑魚戦闘なのでスキルを使い守ることも大事ですが
1戦闘あたりの所要時間を自分は極端に下げたいので装備にしたり
製作中のゲームでは自動発動というスキルを作りました
(自動戦闘を多用するゲームなので)
それほど気にならないならスキルでもいいんだと思います

雑魚敵による正しい味方の殺し方、対策法の提示

基本的には戦闘回数を多くして徐々に殺していくのが正しい殺し方です
雑魚敵が強く一瞬で殺されてしまえば面白くありません
だって雑魚敵はレベル上げの養分だからです
徐々に殺していくとは回復アイテムをすべて使わせることや
全体攻撃が使えないくらいMPを消費させることです
それ以外の殺し方を製作中のゲームでは実践する予定です
・味方より素早さが高い
・雑魚敵のHPが多いから1回じゃ殺せない
不意打ちはツクールだと味方の俊敏性の平均値より高いと
5%の確率で不意打ちが発生します
味方より素早いとそこそこ不意打ちが発生します
自分は以下のように対策法を提示します
・敵より素早く動ける > 俊敏性を上げる(レベル上げ、装備)
・スキルの威力を上げる > 新しい装備

雑魚敵との戦闘ルールをもとに必要となる要素

・全体攻撃が使える打たれ弱い味方
・打たれ弱い味方を守る味方
・消費するMPを回復するスキル、アイテム
・敵より素早く動けることの重要性(不意打ちの危険性)

行動順の決定はデフォルトでは agi + rand(agi/4) といって決めますが
製作中のゲームではもっと幅をもたせたほうがいいと思いました
agi + rand(agi) として最大2倍までの差がでるようにしました
そうすることで味方より早く行動できる敵を通常より多く出現させ
できるだけ打たれ弱い味方に攻撃が当たる可能性を上げることにしました
また、分散度を広く持たせることも有効な気がします
倒せる敵と倒せない敵をダメージに幅をもたせることで作ることができるはずです
最小攻撃力、最大攻撃力として最小攻撃力を伸ばせられるようにしたほうが
プレイヤー的にはありがたいような気がします

番外:味方の要素

・雑魚敵を効率良く狩れる
・打たれ弱い味方を守れる
・ボスに強い単体攻撃が強力
・ボス戦闘の長期戦を有利にするバフが使える
・戦闘状況をよくできる(不意打ちを無効、宝箱を開けられたりとか)

多分この要素を持つように味方を作ることが大事だと思います
RPGをやっている皆さんならそんなこと知らなくても必ず作っています
でも意識するのとしないのでは少し違うと思います
またこの要素1つだけではなく2つ持つものでも大丈夫なはずです
その代わりステータスが弱いなどのバランスをもたせる事が大事です
JRPGは仲間がいます。つまり、仲間を守るというのが重要な要素だと思います

失敗したかな?と思っているところはボスに有効な攻撃方法である
複数回攻撃をして会心をだすことによるダメージ上昇
このスキルは複数の敵を出したとしてもある程度対応できる範囲にあるはずです
しかし、自分は戦闘が10回ほど進むと20体ぐらい敵が出てくるので
この複数回攻撃を持つ味方の重要性が低くなっていないのか?ということです
もちろんボスでは使えるはずなので…

少しドラクエを思い出してみると雑魚敵との戦闘はどうだったろう?
幼い頃は魔法を無駄に温存していた覚えがあります
ドラクエ6では特技が出てきて回し蹴りや爆裂拳といった
複数をターゲットにできる物を使いつつ
誘う踊りといった敵を行動不能にする技をよく使用していました

自分は盗賊に2つのスキルをもたせていました
・仲間のMPを回復する
・戦闘開始時、50%の確率で発動する。敵全体を暗闇状態にする
下のスキルは100%にして付加確率50%だと雑魚敵でも使えるかも?

誘う踊りが味方を守る方法の1つなんだと思います
狙われやすさを上げて狙われにくくするじゃなくて
行動を封じるってのだからいいと思う。多分…

他にも味方全体の回避率を上げてとかもありな気がします
自分は防御力を上げるより回避率を上げたほうが効果的だと思っているので…
これはある程度、雑魚敵の行動が決まっているからわかることだと思います
簡単なルールを決めてプレイヤーにわかってもらう
これが大事な気がします

最近、自分はプリコネがカムバックキャンペーンでまた始めたのですが
プリコネはスタミナがあるスマホゲームで嫌なんだけど
やっぱり面白いんですよね
・パーティー順がプレイヤーは決められない
・敵はランダムな対象ではなく並び順をターゲットにしている
・物理攻撃、魔法攻撃どちらかに有効なボス
・物理、魔法のどちらかに対策ができる味方
・全体攻撃、サポート、タンク、単体の強力な攻撃といったわかりやすさ
このわかりやすさがとても大事な気がします

(2020/03/10)いくつかアクターの役割のテンプレを考えました
・雑魚戦闘、ボス戦闘
・アタッカー、ヒーラー、タンク、サポーター

雑魚戦闘のアタッカーとか雑魚戦闘のヒーラーといったように
アクターの役割が作られると思います
これは習得するスキルによって分けられると思います
詳しく考えると
雑魚戦闘のアタッカーは全体攻撃ができるものという感じです
ボス戦闘のアタッカーは単体攻撃が強いもの
特に複数回攻撃による会心発生を狙ったものが強いと思います
他には複数の属性を扱えるので属性ダメージを狙うもそうだと思います

雑魚戦等のヒーラー、ボス戦闘のヒーラーこの区分けが難しそう
コストによって分けられると思います
TP消費すると割合回復が使えるスキルを作りました
ボス戦とかは大きくHPを削られるのでコストが大きいけど
大きく回復できるヒーラーのほうがいいみたいな分け方です(多分)

雑魚戦闘のタンク、ボス戦闘のタンク
これが難しい感じがします。どちらも同じ?
製作中のゲームもスキルを見直していくつか修正しました
狙われ率が通常より高いキャラは雑魚戦闘では使えると思います
しかし、ボス戦闘になるとそれが仇になるということだと思います

雑魚戦闘のサポーター、ボス戦闘のサポーター
ボス戦闘のサポーターは簡単です。バフが使えるかどうか
雑魚戦闘ではこのバフは通常使用しないと思います
なぜならMP消費を抑えたいからです
自動戦闘を作るとき色々調べたときこれの使い方について言及がありました
この戦闘は何ターンで終了するかを計算して
これが長い場合、バフの継続ターンより長いかどうかを考慮することだと思います
継続ターンより短いとMPを無駄にしたことになるはずです
雑魚戦等のサポーターは状態異常を使用することだと思います
ドラクエのさそう踊りがそれに当たるはず?
あの技はボスにも有効だったのでなんとも言えないけど
有効じゃないボスもいたはずです
SFCのSWだとスリープクラウドという睡眠魔法が強かった気がしました
雑魚戦等の基本はリソース切れを狙うなぶり殺しです
できるだけダメージを受けない立ち回りになります
製作中のゲームでは暗闇状態にすることにしました
睡眠状態はバッサリ削除しました
味方が睡眠状態になるとゲームの進行が遅れると思うからです
一応装備で対策はできるものですが…
それだったらスタンといった1ターンだけ行動不能な方がいい気がします


この役割、例えば雑魚戦等のアタッカーといったを
1つだけ所持するものや複数所持するものを作成することが
アクターの制作を助ける補助になると思います
皆さん必ずやっていることだと思いますが
多くのアクターを作る際にはどうしてもあるところで
これ以上考えられないなぁという場所があります
こういうときは分類すると何が足りないのかわかると思います

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

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

まるちゃん 2020/02/10 21:10

選択肢拡張のスクリプト

たまにスクリプトを作っていてこれ頭いいんじゃない?
って思うときが自分にはあります
eval というコマンドを発見して能力値を自由に設定できるスクリプトを
作ったときも自分は天才だって思っちゃいました ^^;
binding コマンドを発見したときは ruby ってすげーってなりました

また、そう思ってもしばらくすると大したことなかったなってときもあります
今回がそれでした。スクリプトとしては不完全ですね
動作確認をしっかりとしないですげーのできたと思ったら
そうじゃなかったっていう話でした
メッセージウィンドウが閉じてしまうのはいただけない

選択肢拡張のスクリプトは数多いと思いますが使うのが難しくありませんか?
別に批判してるわけじゃなくて、自分3行以上の文章が読めないっていうか
3行以上読む忍耐力がなくてわからんからいいやってなります
今回はまだアップグレードのシーンが納得行かなくて
また作っています
そのときにメッセージウィンドウを使って作ろうってことになって
スクリプトを使い文章を入力したりしてました
しかし、マルチバイト文字?とか言うののせいで
幅をきっちり合わせることができなくて断念しようかどうかとういところです


左側がスクリプトを使ってシーンを作りました
右側がメッセージウィンドウを使ったものです
そのときに選択肢もスクリプトで入力したんですけど
sprintf 構文で %12d でやってるのに右揃えにならないんですね
だからシーンを作るしかないのかなぁって

そのときにスクリプトを使って文章の表示をしたのです
$game_message.add(text) を使うことで表示できるのですが
その後にイベントコマンドで選択肢の表示をすると
メッセージウィンドウを一度閉じてから出ないと選択肢が表示されません
なので選択肢の表示もスクリプトを使い操作する必要がありました
ツクールではどのように選択肢を表示しているのかというと詳しくはここです

[[RGSS3]ツクールVXAceのスクリプトで選択肢の表示を行う方法]
(http://rpgmaker-script-wiki.xyz/sentakusi_vxace.php)
どういう感じか見るのにすごく役に立つページです

Ctrl + Shift + F で選択肢で検索して Game_Interpreter にあるのを見ました
setup_choice(@params) とあります
@params の内容は配列で [["はい", "いいえ"], 2 ] という感じです
第1引数が選択肢に表示する内容で配列を持ちます
第2引数がキャンセルの場合の index を示します
イベントコマンドでは "はい" が1番目の選択肢になります
プログラマーの人は0から数えてしまいがちですが違います

またスクリプトを使うので選択肢が4以上の場合も可能になります
[["1", "2", "3", "4", "5"], 6]と @params の場所にかけばおkです

多分正確にやるにはイベントコマンドのスクリプトにこう書きます
(def command_102 をみてください)
自分は setup_choice のみしかしてないけど動いてます

wait_for_message
setup_choices(@params)
Fiber.yield while $game_message.choice?

紹介した URL でも同様のことをしています
その後にどの選択肢を選んだかを調べるのが case $branch より下です
これは面倒ですのでスクリプトで解決しました

選択肢拡張.txt (1.02kB)

ダウンロード

Window_ChoiceList の call_ok_handler と call_cancel_handler で
どの選択肢を選んだのか変数を代入するスクリプトを作りました
つまり case $branch より下の処理がいらなくなります

もう少しこのスクリプトを使いやすくして
表示位置とか設定できるようになるといいなぁと…
自分が3行以上読めないのに説明するのに何行書いたんだか…

使い方のまとめ

イベントコマンドのスクリプトに以下のように書く
setup_choice(@params)
@params には例として [["1", "2", "3", "4", "5"], 6] とかく
6 というのはキャンセルしたときのインデックスです
選択肢は0からではなく1から数えます
CHOICE_INDEX には選択肢を選んだときの index を保持する
イベントコマンドで使用する変数の番号です


7行…

選択肢拡張|しいたけサイクロン
http://tentako.blog-fps.com/rgss/選択肢拡張
なんかこれのほうがもっとスマートかも…
唯一いいところは新たな関数を作らずにデフォルトのままできたところ

更新

まだちょっと安定した動作っていうのが望めないのかもしれない
Proc.new っていうのがよくわからない
なんか値が残って変な動作するかもしれない

$game_message.choice_proc = Proc.new {|n| @branch[@indent] = n }
これの書き方を変えたほうがいいのかも
Proc.new {|n| $game_variables = n } これでいいのかもしれない?
ぬ?難しいなメッセージウィンドウが閉じてしまう
スクリプトだけで作っているときはそうではなかったのに…
メッセージウィンドウが閉じてしまうのはだめだ!
もう少し作り直すか諦めます
しいたけサイクロンさんの使うといいと思います

Proc というのは通常関数を定義して内容を書きます
def foo
var = 1
end
みたいな
でもこの関数定義をしなくても内容だけ作れるっていうものみたいです
あれ?これすごそうだぞ!?

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

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

まるちゃん 2020/02/07 16:00

久しぶりにゲーム制作

ちょっと私生活が安定しなくてボーッとしてました
気持ちも落ち着いてきたのかゲーム制作をまた再開しました
現在はダンジョンを制作しています
宝箱のドロップをどうしようか悩んでいます


ダンジョンはこれです。もう少しかっこよくする予定ですけど
殆ど変わらない予定です。もうこれでいいです
ランダムダンジョンを探索してとか歩くのが面倒すぎて嫌です
シンボルエンカウントの自動生成マップでダンジョン探索がかったるいのです

100回戦闘します。そのための戦闘速度変更と自動戦闘機能を作りました
一生懸命リザルト画面やゲージを動かすスクリプトを作ったのですが
実際やってみると自分は邪魔だなぁと思いました
このゲージが動く時間すら惜しいっていうか…
ゲーマーがゲームを作るのには向いてないと確信しました

規定レベル以上のとき戦闘をスキップできる機能と
入手経験値を下げるのがあってもいいかなぁと思っています
戦闘シーンにいかないで勝利したものと考えてドロップや金と経験値を計算する機能です
でもその機能があると雑魚ダンジョンに篭ってレベル上げとかされるので
それをさせないようにレベルが既定値だと入手できる
経験値が少なくなる機能をつけたいと思います


ダンジョン内ではいくつかルールを決めました
敵を倒すと敵のレベルが1上昇する
敵の経験値と金はレベルを乗算した数値になる
1ターン以内に敵を倒すと入手経験値が2倍になる
1ターン以内に敵を倒すと敵の出現数が1増える
* 敵表示可能数が限界に達したとき敵を倒すと上がるレベルが2になる(未調整)

敵の最大出現数はA~Zの26体としました
敵1、敵2とかにしてもいいんですけどデフォルトのままでいいかなって
一応考えてステータスも作っているので結構殺されます
ダンジョン1なので通常攻撃のみしか考えていません。でも結構殺されます

このダンジョンは属性攻撃に弱いので最初に魔法使いを雇い
俊敏性が上昇する服装備と武器を強化すれば簡単にかてるようにしました
スピード&パワーって感じです
一応後半の敵はHPを多くしたのですが属性攻撃は2倍なので…
全撃という全体物理攻撃スキルもあるので、これだと少し時間かかるかなぁぐらいです
ダンジョン2では魔法防御力をあげようかなぁと思っています
自分事ですが Quick Save を作ってよかったなぁと
わざわざセーブ画面出さなくていいのですごい楽です

なにかダンジョンごとに攻略方法を与えたいと思います
ダンジョンは合計して9つ作ることにしました
ボスモンスターのキャラチップが9つしか用意できなかったからです

スクリプトをいくつか更新しました
装備アップグレードが参照する変数を間違えていて探すのが大変でした
もう一つはログ表示スクリプトの安定版です
Window_ScrollText というのがあり self.oy を移動させれば簡単に作れました

装備アップグレード.txt (装備アップグレード.txt) ダウンロード | VXace スクリプト 【 作成者:まるちゃん 】 | uploader.jp
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/66

ログ表示.txt (ログ表示.txt) ダウンロード | VXace スクリプト 【 作成者:まるちゃん 】 | uploader.jp
https://ux.getuploader.com/Rpg_Maker_VXace_Maruchan_Uploard/download/65

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

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

1 2 3 4 5 6 7

月別アーカイブ

限定特典から探す

記事を検索