開発日誌

テクニック

和風探索RPG『天下御免!からくり屋敷
2018年8月13日、Version 1.2.7を公開しました!

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 必要経験値の計算をVX方式で

2020-10-25 22:34:19

以前、「経験値の仕様に苦悩」という記事で、RPGツクールVX Ace以降の必要経験値の計算方法が、調整しにくいという話をしました。

その後、ちょうど良さげな基本値や増加度を探し求めたり、計算式を微調整していい感じにできないか奮闘してみましたが、なかなか芳しい結果が得られず、結局RPGツクールVXの計算方法を再現するプラグインを作成しました。

MVとMZの両方に対応しています。このプラグインを導入すると、レベルアップに必要な経験値の算出方法が、VXでの方式に変更されます。

具体的には経験値曲線の「基本値」および「増加度A」を用いて、以下の式で計算されます。

M[1] = 基本値

N[2] = 0.75 + 増加度A / 200

M[Lv] = M[Lv-1] * (1 + N[Lv])

N[Lv] = N[Lv-1] * 0.9

累計経験値[Lv] = 累計経験値[Lv-1] + M[Lv-1]

VXのデフォルトである基本値=30、増加度=35の時の累計経験値と、VX Ace以降のデフォルトである基本値=30、補正値=20、増加度A=30、増加度B=30の時の累計経験値とを比較すると、こんな感じになります。

中盤以降の伸び方が全然違いますね。VX Ace以降だと中盤以降の必要経験値量も緩やかにしか増えていかないため、ちょっと戦闘回数が増えただけでどんどんレベルが上がってしまいます。

その一方で、序盤の累計経験値を拡大比較すると、こんな感じです。

レベル10ぐらいまではVX方式の方が必要経験値量は少ないため、序盤はVX Ace以降に比べてレベルが上がりやすくなっています。

VX方式ならば、適正レベルと敵の獲得経験値も調整しやすいのではないでしょうか。

経験値曲線で指定する4つ値のうち、「基本値」と「増加度A」のみが計算に用いられ、「補正値」と「増加度B」は無視されます。

また、経験値曲線のウィンドウで表示される「次のレベルまで」と「累計」の値は、当然VX Ace以降の計算方式で算出されているため、異なります。

なので、必要経験値を計算してくれるエクセルファイルも用意しました。

以前に「必要経験値をExcelで計算」の記事で作成したファイルのVX方式版で、単に必要経験値量を計算してくれるだけでなく、敵1体の獲得経験値の目安も求められるようになっています。

これでバランス調整まわりのプラグインはだいたい揃えられたかな。

ウィンドウの調整とかもしていかないといけないのですが、まあその辺は後からでも十分なので、今はまだ考えないことにしよう。

[ テクニック ] 運の扱いにウンウン悩む

2020-10-20 02:59:45

RPGツクールVXからVX Aceになった際に追加された基本パラメーターで、魔法力と魔法防御については以前記事にしました。結局、魔法の威力のみを高めるスキルや、敵から受ける魔法の威力を軽減のみできる防具などに活用するため、デフォルト通り魔法力と魔法防御を採用することにしました。

さて今回は、もう一つの追加パラメーターである「運」についてのお話。

運の効果はデフォルトでは、自分と相手の運の差1につき、状態異常にかかる確率が0.1%変わるというものです。100の差があってようやく10%ほど変動するので、実際のゲーム中ではほとんど効果が体感できないのではないでしょうか。

パラメーターの数値の桁数にもよりますが、他のパラメーターの値とのバランスも考えると、自分の作品ではだいたい2桁ぐらいの値をとるのが妥当です。

だとするとやはり0.1%の変動では微妙すぎるので、これを0.5%に増やしてみました。こうすると、運の差が100あると50%変動するので、なかなか効果を感じられるのではないでしょうか。

実際には20前後の差に留まることが多いと思われるので、通常状態で10%程度の変動になり、スキル等で運を倍とかにしてやると、変動が30〜40%になるので、状態異常を多発してくる敵に対しては有効な戦術になり得ます。

しかし、せっかくのパラメーターを状態異常の確率だけに使うのはもったいないので、もう少しいろいろなところに運が影響するようにしたいです。

すぐ思いつくのは回避率や会心率に影響させることですが、回避率や会心率が10%も変動すると大変ですし、かといって変動率が0.01%とかだと全くありがたみがありません。

そこで、分散度の振れ幅に運を影響させてみました。

分散度はダメージ量のばらつきに関係するパラメーターで、分散度が20%であれば算出されたダメージから-20%〜+20%の範囲で最終的なダメージが変動します。

この変動幅を運の差によって動かしてみました。具体的には、運が相手より1高いとマイナス方向の分散度の数字が1%(分散度が20%なら0.2%)減るように、相手より1低いとプラス方向が1%減るようにしました。例えば分散度が20%の場合、運が相手より10高いと分散度が-18%〜+20%の範囲で、50低いと-20%〜+10%の範囲になるようにしました。運が高いほど大きいダメージが出やすい仕組みです。

と、言うと戦略的に使えそうな気がしますが、実際には基本ダメージが50で運の差が10あってようやく1変わるレベルなので、やっぱりほとんど影響ないかも。加えて、そのために運を上げるくらいなら、素直に攻撃力や魔法力を上げた方がいいという。

うーん……。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 台詞の途中でスイッチ操作 in MZ

2020-10-08 21:39:22

以前の記事で、文章表示の途中でスイッチのON/OFFができる拡張制御文字を紹介しました。

当時はRPGツクールVX用、かつ作品固有の処理がたくさん含まれていたために素材としての公開ができなかったのですが、今回はRPGツクールMZ用のプラグインとして公開します。

このプラグインを導入すると、「文章の表示」で以下の制御文字が使えるようになります。

  • \+switch[n]:n番のスイッチをONにする
  • \-switch[n]:n番のスイッチをOFFにする

メッセージの途中でスイッチのON/OFFが行えると何が嬉しいのかと言うと、スイッチに連動した並列処理を使うことで、台詞の途中の狙ったタイミングでキャラクターを動かしたり、フキダシアイコンを表示したり、効果音を入れたりすることが可能になります。

具体的には、台詞の中でこの制御文字を使って、10番のスイッチをONにします。

10番のスイッチが出現条件で、トリガーを並列処理にした別イベントを作成し、そのタイミングで実行したい内容をイベントに記述します。最後にスイッチをOFFにするのを忘れないようにしましょう。

そうするとこんな感じで、台詞の途中の狙ったタイミングで演出を入れることができます。

話している途中でハッと気付いたり、不意にこちらを向いたり、SEを鳴らしたり、といった細かい演出を入れることが可能なので、表現力が増すことでしょう。並列処理で演出を入れる以外の使い方もあるんじゃないかと思います。

RPGツクールMVは、制御文字の処理がちょっと違ったため、MZ専用のプラグインとなってしまいましたが、少しの改造でMVでも動かせると思います。その辺の改造はご自由にどうぞ。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] エクセルで敵キャラかんたん設定

2020-10-04 17:54:52

敵キャラの能力値や属性有効度、ステート有効度などをエクセル上で簡単に編集して、データベースに反映させられる、VBAマクロファイルを公開します。

先日の職業ごとの能力値をエクセルで編集できる「能力値かんたん調整」の、敵キャラ版です。RPGツクールMV/MZの両方に対応しており、使用にはMicrosoft Excelが必要です。

まずは上記のファイルをダウンロードしてください。zipファイルなので解凍し、中にある「EnemyParameter_MVMZ.xlsm」を起動します。

起動時に、マクロに関するセキュリティ警告が出ますので、「コンテンツの有効化」でマクロを有効にしてください。ここまでは「能力値かんたん調整」と同様です。

まずは「プロジェクト読み込み」ボタンをクリックして、対象となるゲームのプロジェクトフォルダーにある、「game.rpgproject」(MVの場合)または「game.rmmzproject」(MZの場合)のファイルを開きます。

これで該当プロジェクトの属性データとステートデータ、および敵キャラのデータが各シートに読み込まれます。

最初に準備として、「敵キャラ設定」シートの「属性有効度」と「ステート有効度」の設定欄を作成します。

プロジェクトを読み込んだ時点で何となくいい感じに設定欄を作ってくれますが、複雑な設定がある場合や個数が多い場合は適宜調整が必要です。

有効度を設定する必要のない属性・ステートは、設定欄を作らなくてもOKです。例えばデフォルトであるステートの「防御」や「不死身」は、有効度を設定する必要がないので、設定欄も不要です。

また、「戦闘不能」など文字数の多い項目は、名前の代わりに「略称」を使うことができます。例えば「戦闘不能」という名前の代わりに「死」という略称を使えば、ステート有効度の欄がすっきりします。「属性・ステート」シートの「略称」欄に入力すれば、略称が反映されます。

さらにこの「略称」にはもう一つの機能があって、例えば毒関連のステートとして、威力の弱い「軽毒」と威力の強い「猛毒」の2種類のステートを作ったとします。しかし、ステート有効度は同じ毒ステートとして、特に別の値を設定したりはしないケースが、あるかと思います。私はよくあります!

そのような場合、略称を両方とも「毒」としておけば、一つの設定欄で両方のステート有効度を同じ値に設定できます。逆に、一部の敵だけ別の設定値にしたい、ということもできなくなるので注意。

「属性有効度」と「ステート有効度」は、デフォルトで12個ずつ欄を設けてありますが、それぞれの個数に応じて列を追加・削除することが可能です。ただし、1行目にある「ステート有効度」の文字は消さないように注意してください。この文字列で、属性有効度とステート有効度の境界を認識しています。

設定が終わったら「スタート」シートに戻り、「JSON出力」ボタンをクリックします。

以上で、敵キャラの名前、能力値、経験値とお金、特徴の命中率・回避率・会心率、および属性有効度とステート有効度が、該当プロジェクトのEnemies.jsonに書き込まれます。RPGツクール本体に戻ってデータベースの「敵キャラ」を開き、設定値が反映されていることを確認してください。

それ以外の敵キャラ画像やドロップアイテム、行動パターン、およびその他の特徴とメモについては、RPGツクール本体で設定したものがそのまま適用されます。

直接Enemies.jsonを上書きするので、ファイルの扱いには十分ご注意ください。設定が壊れても一切の責任は負えません。

RPGツクールMV/MZの標準仕様に準拠しているため、プラグイン等で能力値や特徴の仕様を変更している場合は、正しく反映されない可能性があります。エクセルの編集やVBAの知識がある方は、本ファイルを改造することで対応させられます。その辺はご自由にどうぞ。

質問やアドバイスなどはコメント欄まで、お気軽にどうぞ。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

これで、1個ずつ特徴をポチポチと設定していくという苦行から解放されます!

RPGツクールVXまでは、属性有効度とステート有効度がリストになっていて、それぞれA〜Fの6段階で選ぶだけだったので、楽に設定ができました。それでも数が多いと大変でしたが、無心でクリックするだけなので、思ったほど面倒でもなかった気がします。

VX Ace以降、それが全て「特徴」の項目に集約され、より細かい設定ができるようになったのは良かったですが、一つずつ設定画面を開きながら設定しないといけないため、かなり面倒な作業になってしまいました。

このエクセルツールで、少しでもその作業が軽減できればと思います。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] エクセルで能力値かんたん調整

2020-10-01 21:27:52

職業ごとの能力値をエクセル上で簡単に編集して、データベースに反映させられる、VBAマクロファイルを公開します。

過去にRPGツクールVX対応の「アクター能力値かんたん調整 for RPGツクールVX」を公開していましたが、それのRPGツクールMV/MZ対応版です。実行にはMicrosoft Excelが必要です。

使い方は簡単です。まずは上記のファイルをダウンロードしてください。zipファイルなので解凍し、中にある「ClassParameter_MVMZ.xlsm」を起動します。

起動時に、マクロに関するセキュリティ警告が出ますので、「コンテンツの有効化」でマクロを有効にしてください。

「能力値設定」シートで、各職業の能力値を設定します。

まずは上部にID番号と職業名を入力します。経験値曲線のパラメーターである基本値・補正値・増加度A・増加度Bの各値を入力すると、各レベルで必要な経験値が算出されます。最大HP〜運の各能力値は、Lv1の「値」欄に初期値を、Lv2以降の「増」欄にレベルアップ時の増分を入力します。

入力すべき場所は全てグリーンで示してあるので、分かりやすいかと思います。

「バランス確認」シートでは、各職業の能力値の成長曲線をグラフ化することもできます。適宜確認しながら、あまりアンバランスにならないよう調整しましょう。

調整が終わったら「スタート」シートに戻り、右上の「JSON出力」ボタンをクリックします。

ファイル選択画面になるので、該当プロジェクトフォルダーの、dataフォルダーの中にある「Classes.json」ファイルを指定してください。「能力値設定」シートで設定した職業名、経験値曲線、各能力値が出力されます。特徴や習得スキルはRPGツクール本体で設定した内容がそのまま反映されます。

RPGツクール本体に戻ってデータベースの「職業」を開くと、設定値が反映されています。

VX版のように、一度スクリプトを貼り付けてテストプレイを起動……、といった手間は必要なく、直接Classes.jsonファイルに出力するようにしました。

手順が簡単になった反面、直接Classes.jsonを上書きするので、ファイルの扱いには十分ご注意ください。設定が壊れても一切の責任は負えません。

詳しい使い方や注意点はファイル内に書かれている説明をご覧ください。

RPGツクールMV/MZの標準仕様に準拠しているため、プラグイン等で能力値や経験値曲線の仕様を変更している場合は、正しく反映されない可能性があります。エクセルの編集やVBAの知識がある方は、本ファイルを改造することで対応させられます。その辺はご自由にどうぞ。

質問やアドバイスなどはコメント欄まで、お気軽にどうぞ。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

最新の記事
2020-10-25 22:34:19
必要経験値の計算をVX方式で
2020-10-20 02:59:45
運の扱いにウンウン悩む
2020-10-15 22:15:16
『夫婦戦争MZ』にヒントが付いたよ
2020-10-08 21:39:22
台詞の途中でスイッチ操作 in MZ
2020-10-04 17:54:52
エクセルで敵キャラかんたん設定
記事一覧
最新のコメント
2020-09-26 12:32:25
RPGツクールMZでSAKANを使う (2)
2020-09-26 12:30:05
柵の向う側 (2)
2019-06-05 23:10:40
サーバーを移設した (2)
2019-05-22 20:01:59
敵グループが足りないっ! (2)
2018-03-14 01:30:08
和風探索RPG『天下御免!からくり屋敷』正式版公開! (2)