新規記事の投稿を行うことで、非表示にすることが可能です。
2018年08月30日
イベントの起動条件を拡張するプラグイン「YEP_AdvancedSwVar.js」
◆イベントの起動条件を拡張するプラグイン「YEP_AdvancedSwVar.js」
慣れた方向けですが、有用なプラグインを見つけたのでご紹介。
制作者:Yanfly様
説明/ダウンロードページ:
YEP.162 – Advanced Switches and Variables – RPG Maker MV
http://yanfly.moe/2018/01/19/yep-162-advanced-switches-and-variables-rpg-maker-mv/
■機能
スイッチ、変数の名前欄にJavaScriptを用いた条件判定の記述ができます。
これにより、さまざまな条件でイベントを起動することができます
Eval: $gameActors.actor(1).isLearnedSkill(5)
アクター1がスキル5を取得している
Eval: $gameActors.actor(3).isEquipped($dataWeapons[100])
アクター3が武器100を装備している
Eval: $gameActors.actor(4).isEquipped($dataArmors[200])
アクター4が防具200を装備している
Eval: $gameVariables.value(2) < 3
変数2が3未満
Eval: $gameSelfSwitches.value([10,20,’A’])
Map 10、Event 20の 'A'セルフスイッチがオンになっているか
取得できる値の例です。
Eval: $gameParty.leader().actorId()
パーティーリーダーのアクターIDを判定
Eval: $gameParty.gold()
所持金
Eval: $gameParty.steps()
歩数
Eval: $gameParty.aliveMembers().length
パーティーの生存者数
Eval: $gameParty.deadMembers().length
パーティーの戦闘不能者数
応用するとこんな感じです。
Eval: $Eval: $gameParty.steps() < 10
10歩未満の場合に有効になるイベント
こちらを参考にすることで更に幅が広がります。
RPGツクールMV プラグインコマンド集 リファレンス
https://goo.gl/qkz7ta
■注意点
YEP Item CoreのIndependent Items機能を利用している場合、アイテム、武器、防具は対象外。
同機能を利用する場合はをメモ欄に入れて、例外に指定するといった工夫が必要です。
慣れた方向けですが、有用なプラグインを見つけたのでご紹介。
制作者:Yanfly様
説明/ダウンロードページ:
YEP.162 – Advanced Switches and Variables – RPG Maker MV
http://yanfly.moe/2018/01/19/yep-162-advanced-switches-and-variables-rpg-maker-mv/
■機能
スイッチ、変数の名前欄にJavaScriptを用いた条件判定の記述ができます。
これにより、さまざまな条件でイベントを起動することができます
Eval: $gameActors.actor(1).isLearnedSkill(5)
アクター1がスキル5を取得している
Eval: $gameActors.actor(3).isEquipped($dataWeapons[100])
アクター3が武器100を装備している
Eval: $gameActors.actor(4).isEquipped($dataArmors[200])
アクター4が防具200を装備している
Eval: $gameVariables.value(2) < 3
変数2が3未満
Eval: $gameSelfSwitches.value([10,20,’A’])
Map 10、Event 20の 'A'セルフスイッチがオンになっているか
取得できる値の例です。
Eval: $gameParty.leader().actorId()
パーティーリーダーのアクターIDを判定
Eval: $gameParty.gold()
所持金
Eval: $gameParty.steps()
歩数
Eval: $gameParty.aliveMembers().length
パーティーの生存者数
Eval: $gameParty.deadMembers().length
パーティーの戦闘不能者数
応用するとこんな感じです。
Eval: $Eval: $gameParty.steps() < 10
10歩未満の場合に有効になるイベント
こちらを参考にすることで更に幅が広がります。
RPGツクールMV プラグインコマンド集 リファレンス
https://goo.gl/qkz7ta
■注意点
YEP Item CoreのIndependent Items機能を利用している場合、アイテム、武器、防具は対象外。
同機能を利用する場合は
2018年08月29日
RPGツクールMV 基盤構築に有用なプラグイン情報(2018/8/29版)
◆RPGツクールMV 基盤構築に有用なプラグイン情報(2018/8/29版)
2018/8/29時点のパフォーマンス改善に有効、本体バージョンアップに取り込まれ済みのプラグイン情報を整理しました。
同系統のプラグインは機能が重複するので注意が必要です。
[参考]
コアスクリプトの更新
https://goo.gl/PJ3d2J
RPGアツマールで使われているプラグインランキング【2018年6月】
http://ch.nicovideo.jp/indies-game/blomaga/ar1620110
【メモリ管理系】
メモリキャッシュ上限を管理することでクラッシュを防ぐ
1.3.0、1.3.5、1.4.0、1.5.1、1.6.1と段階的に対策
・YEP Core Engineの[Collection Clear]機能
Yanfly様
→1.6.1でもメモリ管理機能として有効
・Community_Basicの[cacheLimit]機能
RM CoreScript team様
→1.6.1でもメモリ管理機能として有効
・SAN_GC
サンシロ様
→1.5.1で対策(メモリ管理機能として有効)
・liply_WinChrome_scroll_patch
liply様
→1.5.1で対策
・Oggy_1_3_1_MemoryLeakPatch
おっぎー様
→1.5.1で対策
【不具合修正系】
・dwango_androidpatch
Android端末のGoogle Chrome55以降で音が出ない問題を修正
ドワンゴ社
→1.3.5で対策
・FixBugPlayMe
ME再生による戦闘時のエラー予防
シロップ様
→1.6.1で対策
・BugFixChromeForEach
トリアコンタン様
Chromeのバージョン60の戦闘クラッシュ回避
→1.6.1で対策
・BugFixImageOnLoad
スプライトで画像を指定後、画像のロードが完了する前に
画像の指定を解除するとエラーで強制終了する現象の修正
トリアコンタン様
・FixImageLoading
キャッシュしていない画像を表示したときに一瞬発生するチラつきを防止
トリアコンタン様
→1.4.1で対策
・SAN_SpritesetFix
スプライトセット修正
サンシロ様
・fuku_OptSpriteTint
スプライト色変換効率化
fuku様
・fuku_DrawInterpreter
逐次描画機構
fuku様
※ウィンドウクラス側での対応が必要
・fuku_EditFlashFPS
フラッシュFPS調整
fuku様
・fuku_PictureAntiFlicker
ピクチャのちらつき防止
fuku様
・MPP_Patch
複数包括した修正系プラグイン
木星ペンギン様
【プリロード系】
・SAN_DontRequestImageParallel
並列イベントの画像プリロードリクエスト省略
サンシロ様
・MPP_PreloadBattleImage
バトル画像のプリロード
木星ペンギン様
・Preloader Core
画像、音楽ファイルのプリロード(対象範囲は指定可能)
SumRndmDde様
◆Special Thanks:
fuku様
サイトメニュー>その他の資料/解説にプラグインが収録されています
http://www5f.biglobe.ne.jp/~fuku-labo/
2018/8/29時点のパフォーマンス改善に有効、本体バージョンアップに取り込まれ済みのプラグイン情報を整理しました。
同系統のプラグインは機能が重複するので注意が必要です。
[参考]
コアスクリプトの更新
https://goo.gl/PJ3d2J
RPGアツマールで使われているプラグインランキング【2018年6月】
http://ch.nicovideo.jp/indies-game/blomaga/ar1620110
【メモリ管理系】
メモリキャッシュ上限を管理することでクラッシュを防ぐ
1.3.0、1.3.5、1.4.0、1.5.1、1.6.1と段階的に対策
・YEP Core Engineの[Collection Clear]機能
Yanfly様
→1.6.1でもメモリ管理機能として有効
・Community_Basicの[cacheLimit]機能
RM CoreScript team様
→1.6.1でもメモリ管理機能として有効
・SAN_GC
サンシロ様
→1.5.1で対策(メモリ管理機能として有効)
・liply_WinChrome_scroll_patch
liply様
→1.5.1で対策
・Oggy_1_3_1_MemoryLeakPatch
おっぎー様
→1.5.1で対策
【不具合修正系】
・dwango_androidpatch
Android端末のGoogle Chrome55以降で音が出ない問題を修正
ドワンゴ社
→1.3.5で対策
・FixBugPlayMe
ME再生による戦闘時のエラー予防
シロップ様
→1.6.1で対策
・BugFixChromeForEach
トリアコンタン様
Chromeのバージョン60の戦闘クラッシュ回避
→1.6.1で対策
・BugFixImageOnLoad
スプライトで画像を指定後、画像のロードが完了する前に
画像の指定を解除するとエラーで強制終了する現象の修正
トリアコンタン様
・FixImageLoading
キャッシュしていない画像を表示したときに一瞬発生するチラつきを防止
トリアコンタン様
→1.4.1で対策
・SAN_SpritesetFix
スプライトセット修正
サンシロ様
・fuku_OptSpriteTint
スプライト色変換効率化
fuku様
・fuku_DrawInterpreter
逐次描画機構
fuku様
※ウィンドウクラス側での対応が必要
・fuku_EditFlashFPS
フラッシュFPS調整
fuku様
・fuku_PictureAntiFlicker
ピクチャのちらつき防止
fuku様
・MPP_Patch
複数包括した修正系プラグイン
木星ペンギン様
【プリロード系】
・SAN_DontRequestImageParallel
並列イベントの画像プリロードリクエスト省略
サンシロ様
・MPP_PreloadBattleImage
バトル画像のプリロード
木星ペンギン様
・Preloader Core
画像、音楽ファイルのプリロード(対象範囲は指定可能)
SumRndmDde様
◆Special Thanks:
fuku様
サイトメニュー>その他の資料/解説にプラグインが収録されています
http://www5f.biglobe.ne.jp/~fuku-labo/
現代キャラクタージェネレーターの素材追加方法/注意点
◆現代キャラクタージェネレーターの素材追加方法/注意点
2018/8/28、RPGツクールMV向けの現代キャラクタージェネレーターが配信開始されました。
以下同梱の利用方法より抜粋。
■利用方法
次のGeneratorフォルダをバックアップのうえ、同梱のキャラクター素材をコピーしてください。
[Windows版(パッケージ/ダウンロード)の場合]
C:\Program Files (x86)\KADOKAWA\RPGMV\Generator
[Windows版(Steam)の場合]
C:\Program Files (x86)\Steam\SteamApps\common\RPG Maker MV\Generator
[Mac版の場合]
Steamクライアントからローカルファイル閲覧を開き、
dlcと同階層のRPG Maker MVを右クリック→パッケージの内容を表示→contents→MacOS→Generator
■収録内容
・服:20点(男)、23点(女)
・装身具1:7点(男女)
・装身具2:6点(男女)
・メガネ:1点(男女)
■注意点
・服(男女):パーカー被り
後髪は未設定(何もない状態)にしてください
※後髪を設定すると、歩行グラフィックの上向き時にパーカーが反映されません
・服によっては髪型の組み合わせが限定される場合がありますのでご了承ください
導入方法はダウンロードした現代キャラクタージェネレーター素材をツクールMVのGeneratorフォルダに上書きするだけです。
Generatorフォルダを既に改変している場合は上書きされてしまうので、事前にGeneratorフォルダのバックアップ推奨です。
注意点について、解説します。
・服「フード被り」の場合は後髪があると、歩行グラフィックの背面フードの上に表示される
・前髪のパターンによってはフードに収まらない
こちらが組み合わせで回避した例です。
・後髪「なし」
・前髪をフードに収まるパターン
■補足
・SteamはV1.5.2でもDLCフォルダに自動保存されていました
コピーすればすぐに使える状態です
現代キャラクタージェネレーターのために1.6.1にする必要はありません
・以下と競合しないことを確認しました
見た感じ消えた素材はなさそうです
*キャラクタージェネレーター用素材(モブ+クリスマス+お正月)セット
http://tkool.jp/mv/special/index.html
*RPG Maker MV - Heroine Character Generator
https://store.steampowered.com/app/848110/RPG_Maker_MV__Heroine_Character_Generator/
*キャラクタージェネレーター【和・光】/【和・闇】/【和・黄昏】
http://store.tkool.jp/products/resource/mv#generator
フォーラムに説明も掲載されていますので、気になる方はあわせてチェックしてみてください。
https://goo.gl/BMMZ9v
■おまけ
現代キャラクタージェネレーターで作成したハット男子とヘッドホン女子。
■参考情報
RPGツクールMV キャラクター生成 Wind Messer様
http://ur0.work/BVq0
2018/8/28、RPGツクールMV向けの現代キャラクタージェネレーターが配信開始されました。
以下同梱の利用方法より抜粋。
■利用方法
次のGeneratorフォルダをバックアップのうえ、同梱のキャラクター素材をコピーしてください。
[Windows版(パッケージ/ダウンロード)の場合]
C:\Program Files (x86)\KADOKAWA\RPGMV\Generator
[Windows版(Steam)の場合]
C:\Program Files (x86)\Steam\SteamApps\common\RPG Maker MV\Generator
[Mac版の場合]
Steamクライアントからローカルファイル閲覧を開き、
dlcと同階層のRPG Maker MVを右クリック→パッケージの内容を表示→contents→MacOS→Generator
■収録内容
・服:20点(男)、23点(女)
・装身具1:7点(男女)
・装身具2:6点(男女)
・メガネ:1点(男女)
■注意点
・服(男女):パーカー被り
後髪は未設定(何もない状態)にしてください
※後髪を設定すると、歩行グラフィックの上向き時にパーカーが反映されません
・服によっては髪型の組み合わせが限定される場合がありますのでご了承ください
導入方法はダウンロードした現代キャラクタージェネレーター素材をツクールMVのGeneratorフォルダに上書きするだけです。
Generatorフォルダを既に改変している場合は上書きされてしまうので、事前にGeneratorフォルダのバックアップ推奨です。
注意点について、解説します。
・服「フード被り」の場合は後髪があると、歩行グラフィックの背面フードの上に表示される
・前髪のパターンによってはフードに収まらない
こちらが組み合わせで回避した例です。
・後髪「なし」
・前髪をフードに収まるパターン
■補足
・SteamはV1.5.2でもDLCフォルダに自動保存されていました
コピーすればすぐに使える状態です
現代キャラクタージェネレーターのために1.6.1にする必要はありません
・以下と競合しないことを確認しました
見た感じ消えた素材はなさそうです
*キャラクタージェネレーター用素材(モブ+クリスマス+お正月)セット
http://tkool.jp/mv/special/index.html
*RPG Maker MV - Heroine Character Generator
https://store.steampowered.com/app/848110/RPG_Maker_MV__Heroine_Character_Generator/
*キャラクタージェネレーター【和・光】/【和・闇】/【和・黄昏】
http://store.tkool.jp/products/resource/mv#generator
フォーラムに説明も掲載されていますので、気になる方はあわせてチェックしてみてください。
https://goo.gl/BMMZ9v
■おまけ
現代キャラクタージェネレーターで作成したハット男子とヘッドホン女子。
■参考情報
RPGツクールMV キャラクター生成 Wind Messer様
http://ur0.work/BVq0
2018年08月23日
RPGのパラメーター設定、バランスの調整法
◆RPGのパラメーター設定、バランスの調整法
パラメーター設定について、考えをまとめました。
調整しながら加筆修正予定です。
※8/23 ダメージ計算式とバトルテストの調整について加筆しました。
■基本値の設定
・調整しやすくするため、基本ステータスを100にする(百分率で表現する)
最終値は1/2、1/4にして値を整形する
装備品や敵ステータスの倍率調整は次の方法で一括調整できる
https://fanblogs.jp/tabirpglab/archive/1166/0
■個性付け
・個性差のパラメーター差を決める
[例]
魔法戦士:最初は100を起点にする
戦士:HP、攻撃力、防御力が高い。MP、魔法攻撃力、魔法防御力が低い
魔法使い:戦士の反転
*個人的に体感でき、極端すぎない値としては2割と考える。(100±20→80〜120)
・パラメーターをA群、B群、C群に分類し、扱いを分ける
A群:HP、MP
B群:攻撃力、防御力、魔法攻撃力、魔法防御力
C群:敏捷性
*A群はA群、B群はB群でバランスが取れるようにする
A群の例:HPが高くMPは低い or HPが低くMPが高い
B群の例:攻撃力が高く魔法攻撃力は低い or 魔法攻撃力が高く攻撃力が低い
*C群=敏捷性の大小は役割で決める(トドメを指すキャラなら低く、回復/先制/搦め手キャラなら高く)
*A群+B群+C群の総和でバランスを取らない
*無消費の物理攻撃と消費MPを伴う魔法攻撃はイコールではない
よって、攻撃力と魔法攻撃力が等価である必要はない
memo:
几帳面な人ほど、戦士キャラと魔法使いキャラのパラメーターの総和を等しくしたくなると思います※。
実際は役割で区別されるので、完全な上位/下位互換を生まないことが大切だと考えてます。
※キャラメイクでパラメーター割り振りをするシステムがこの感覚を生んでいる気がします。
市販作品でパラメーターの総和が等しくなるゲームはほとんどないのでは?
■耐久性(最大HP)をもとに各パラメーターを設定
・採用する通常攻撃(スキルID0001)の計算式にあわせてHP、攻撃力、防御力を整形する
・ツクールの場合、攻撃力は防御力の倍
a.atk * 4 - b.def * 2
*ダメージ0が発生し辛い
*ステータス差(LV差、職業差、装備差)が極端に広がる
[ツクールの場合の設定例]
・最大HPを10倍にする。
・基準となる敵を設定する。
・最初の敵は最大HP以外は全て100にすると、自軍と敵軍のパラメーターが同じ価値になり設定しやすい
*後で丸ごと調整するので一旦100にするという考え
*最終的な最大HPは物理2〜3回分、2ターン以内に戦闘が終了するよう敵数を考慮して設定する
HP:敵の攻撃からn回耐えられるHPで決定。二桁開始の場合、二桁→三桁になったときの成長が感じられる。
MP:回復スキルn回分。値は少ない方がユーザーが計算しやすい
攻撃力:敵を倒すn回分
防御力:生存率を高める補正値。
魔法攻撃力:物理攻撃の1.5〜2倍の威力になるようにする
[設定例]
方法1.魔法攻撃力を1.5〜2倍にする
方法2.魔法スキルの計算式をa.mat * 6 - b.mdf * 2のように補正を与える
ステータスの見た目を考えると、方法2の方が見栄えが良く公正である
魔法防御力:一般的に敵の魔法スキルは使用頻度が低く、範囲攻撃が広い傾向がある
敵の魔法スキルは自軍とは別の計算式にして魔法防御力の効果を高めにする
a.mat * 4 - b.mdf * 2
*魔法防御を上げる部位が1枠の場合、装備効果が極端か感じられないかの二極化になりがち
*装備枠を増やすか、属性耐性を他枠に持たせることで装備効果の幅を広げる。弊害としてシステムが複雑になる
敏捷性:役割にマッチするように割り振る
ランダム要素で行動順序が崩れる=役割が果たせないストレスになる
対策1.コアスクリプトorYEP Battle Engine Coreを弄り、行動計算式を完全にAGI依存にする
対策2.スキルの速度補正で先制/後攻を決定づける
(アイテムポーションは速度補正500で詠唱ヒールを上回るなど)
一連の調整が終わったら値を整形する
参考:(dataフォルダをバックアップ必須)
装備品や敵ステータスの倍率調整は次の方法で一括調整できる
https://fanblogs.jp/tabirpglab/archive/1166/0
・除算(割り算) 例.攻撃力:100→50 or 100→25
・最終桁を近い値で崩す 例.攻撃力:50→51 or 49
[桁数が少ない場合のメリット/デメリット]
*LVアップ、装備品による調整がし易い
*補正値によるダメージのバラつきが発生し辛い(10〜13ダメージ→ほぼ10ダメージのようになる)
*職業差、キャラクター差が極端になりがち
*行動結果が予想しやすくなる(マリオRPG、FEシリーズは低い値で管理)
※計算式側でカバーできるので、深刻に考える必要はない
以下は私の設定例です。
*バランサーが物理アタッカーの最終HPを上回っているのは、ストーリー進行の成長を加味したもの
(このように曲線以外にも最終値を変えることで、成長を表現できる)
*1LVあたりの成長を算出しておくと、スキルの消費MPや装備品の上昇値を決める参考に役立つ
■調整のポイント
・敵のレベルデザインを考えるときは「適正レベル」、「適正装備」の2要素の幅を考慮する
この場合、勝てない敵の攻略方法はレベル上げor装備強化であり、どこに基準をおくかも考える
(タイムアタックを許容したい場合、装備補正を大きくする)
・物理攻撃と消費MPを伴う魔法攻撃は差別化を図る
戦士の通常攻撃と魔法使いの魔法が同火力の場合、魔法使いは戦士の下位互換になる
差別化を図る要素:火力、効果範囲、追加効果
・攻撃力/魔法攻撃力/敏捷性から入力するとメリハリがつけやすい
・防御力、魔法防御は最大HPを決めたうえで何回まで耐えられるかで決定する
・キャラクターの生存率、耐久性(しぶとさ)は防御力より最大HPで表現する(ダメージ0を防ぐ)
・装備による上昇値は入手難度(プレイ時間、価格)に釣り合うように設定する
例.10分で1LV上がるゲームなら、30分の探索で手に入る1ランク上の装備は2〜3LVの成長相当にするなど
・キャラが下位/上位互換にならないようにする
パラメーターだけでなくスキルで差別化を図る
・LVアップ時にパラメーターは1以上アップするように見せる(成長の可視化)
・パラメーターはプレイヤーの目に入る、計算式は目に入らない
パラメーターは見た目を整えることも意識する
例.バランスがとれていても攻撃力200、魔法攻撃力900のような見た目だと、戦士が不遇職に感じられる
・スキル0001「攻撃」の計算式にアレンジを加え、作品の個性/独自性を足す
a.atk * 4 - b.def * 2
TPの残量により補正がかかる、
親密度変数の補正がかかる、
0ダメージを防ぐように端数ダメージを加える、
滑らかになるよう黄金比計算を組み込む、など
■ダメージ計算式の調整
目指した調整は次の通り。
・与ダメージ/被ダメージ:2桁から開始、徐々に3桁台のダメージ
・レベルアップ、装備装着の効果が感じられる
・最大HP LV1:100-LV99:5000
・攻撃力、防御力 LV1:50、LV99:255
上記の条件で調整していました。
幾つかポイントがあります。
・自軍の攻撃スキルと敵の攻撃スキルの計算式は分ける
【自軍の「攻撃」コマンド】
a.atk * 2 - b.def * 2
【敵軍の「攻撃」コマンド】
a.atk * 4 - b.def * 2
[a.atk * 4の理由]
・自軍の最大HPがLV1アップあたり50成長するので、被ダメージを大きくみせるための調整
※最大HP、LVの上昇幅が少ないのであれば4を3、2.5、2と調整しても良いと思います
敵キャラの攻撃力を弄るよりもこちらを調整した方が感覚的にマッチしました
※自軍最大HPは9999に対して、敵最大HPは999999まで設定可能なので、見た目的にも与ダメージは
多くなるように調整した方が良いのかもしれません
あまり桁数が多いと目が疲れますけどね
■バトルテストのコツ
・自軍/敵軍に不死身ステートをつける
・ランク別にパラメーターの基準とする敵キャラクターを用意
ダメージの評価だけであれば「攻撃」スキルだけを使わせる
これにより後の敵キャラクターの評価とパラメーター設定が楽になります。
・HPゲージのプラグインを実装する
・最大HPは実戦想定で設定する
何打撃で倒せるか、体感できます。
参考プラグイン:Visual HP Gauges(YEP_Battle Engine Coreが必要)
http://yanfly.moe/2015/11/21/yep-30-visual-hp-gauges/
・バトルテスト専用の全員が装備可能な「汎用装備LV1」「汎用装備LV2」…といった武器/防具を用意
・LVと装備の組み合わせで次の@〜Dのパターンをテストする
@適性レベルやや低い+装備1ランクダウン
A適性レベルやや低い+適正装備
B適正レベル+適正装備
C適正レベルよりやや上+適正装備
D適正レベルよりやや上+1ランク上装備
私は次の基準でチェックするようにしています。
・Bの状態で2ターンでバトル終了
・10回まで攻撃に耐えられること
基準パラメーターが決まったら、次の点を意識して調整の精度を高めます。
・PTメンバーの数(=自軍の手数)→敵HPに影響
・一度に出現する敵キャラクターの数→敵攻撃力に影響
・拠点との距離(=回復、LV上げ、強化が容易か)→敵攻撃力に影響
・敵全体攻撃スキルの使用頻度→スキル威力に影響
■追記したいこと
・敵グループを考慮した最大HPの設定バランスの調整方法
・ステージ単位のバランスの調整方法
一般的なステージ格差
・ラストステージの到達LVを想定したバランスの調整方法
・装備のパラメーター調整
ランダム入手と市販入手の違い
・職業のパラメーター調整
・スキルのパラメーター調整
・限定ステージ(魔封じ、スキル封じ)の敵パラメーター調整
・バフ、デバフの補正バランス
・プレイ時間、エンカウントを考慮した1LVアップに必要な経験値のおおよその求め方
・パラメーター「運」の運用方法(洒落ではなく)
進めながら、まとめていきます。
パラメーター設定について、考えをまとめました。
調整しながら加筆修正予定です。
※8/23 ダメージ計算式とバトルテストの調整について加筆しました。
■基本値の設定
・調整しやすくするため、基本ステータスを100にする(百分率で表現する)
最終値は1/2、1/4にして値を整形する
装備品や敵ステータスの倍率調整は次の方法で一括調整できる
https://fanblogs.jp/tabirpglab/archive/1166/0
■個性付け
・個性差のパラメーター差を決める
[例]
魔法戦士:最初は100を起点にする
戦士:HP、攻撃力、防御力が高い。MP、魔法攻撃力、魔法防御力が低い
魔法使い:戦士の反転
*個人的に体感でき、極端すぎない値としては2割と考える。(100±20→80〜120)
・パラメーターをA群、B群、C群に分類し、扱いを分ける
A群:HP、MP
B群:攻撃力、防御力、魔法攻撃力、魔法防御力
C群:敏捷性
*A群はA群、B群はB群でバランスが取れるようにする
A群の例:HPが高くMPは低い or HPが低くMPが高い
B群の例:攻撃力が高く魔法攻撃力は低い or 魔法攻撃力が高く攻撃力が低い
*C群=敏捷性の大小は役割で決める(トドメを指すキャラなら低く、回復/先制/搦め手キャラなら高く)
*A群+B群+C群の総和でバランスを取らない
*無消費の物理攻撃と消費MPを伴う魔法攻撃はイコールではない
よって、攻撃力と魔法攻撃力が等価である必要はない
memo:
几帳面な人ほど、戦士キャラと魔法使いキャラのパラメーターの総和を等しくしたくなると思います※。
実際は役割で区別されるので、完全な上位/下位互換を生まないことが大切だと考えてます。
※キャラメイクでパラメーター割り振りをするシステムがこの感覚を生んでいる気がします。
市販作品でパラメーターの総和が等しくなるゲームはほとんどないのでは?
■耐久性(最大HP)をもとに各パラメーターを設定
・採用する通常攻撃(スキルID0001)の計算式にあわせてHP、攻撃力、防御力を整形する
・ツクールの場合、攻撃力は防御力の倍
a.atk * 4 - b.def * 2
*ダメージ0が発生し辛い
*ステータス差(LV差、職業差、装備差)が極端に広がる
[ツクールの場合の設定例]
・最大HPを10倍にする。
・基準となる敵を設定する。
・最初の敵は最大HP以外は全て100にすると、自軍と敵軍のパラメーターが同じ価値になり設定しやすい
*後で丸ごと調整するので一旦100にするという考え
*最終的な最大HPは物理2〜3回分、2ターン以内に戦闘が終了するよう敵数を考慮して設定する
HP:敵の攻撃からn回耐えられるHPで決定。二桁開始の場合、二桁→三桁になったときの成長が感じられる。
MP:回復スキルn回分。値は少ない方がユーザーが計算しやすい
攻撃力:敵を倒すn回分
防御力:生存率を高める補正値。
魔法攻撃力:物理攻撃の1.5〜2倍の威力になるようにする
[設定例]
方法1.魔法攻撃力を1.5〜2倍にする
方法2.魔法スキルの計算式をa.mat * 6 - b.mdf * 2のように補正を与える
ステータスの見た目を考えると、方法2の方が見栄えが良く公正である
魔法防御力:一般的に敵の魔法スキルは使用頻度が低く、範囲攻撃が広い傾向がある
敵の魔法スキルは自軍とは別の計算式にして魔法防御力の効果を高めにする
a.mat * 4 - b.mdf * 2
*魔法防御を上げる部位が1枠の場合、装備効果が極端か感じられないかの二極化になりがち
*装備枠を増やすか、属性耐性を他枠に持たせることで装備効果の幅を広げる。弊害としてシステムが複雑になる
敏捷性:役割にマッチするように割り振る
ランダム要素で行動順序が崩れる=役割が果たせないストレスになる
対策1.コアスクリプトorYEP Battle Engine Coreを弄り、行動計算式を完全にAGI依存にする
対策2.スキルの速度補正で先制/後攻を決定づける
(アイテムポーションは速度補正500で詠唱ヒールを上回るなど)
一連の調整が終わったら値を整形する
参考:(dataフォルダをバックアップ必須)
装備品や敵ステータスの倍率調整は次の方法で一括調整できる
https://fanblogs.jp/tabirpglab/archive/1166/0
・除算(割り算) 例.攻撃力:100→50 or 100→25
・最終桁を近い値で崩す 例.攻撃力:50→51 or 49
[桁数が少ない場合のメリット/デメリット]
*LVアップ、装備品による調整がし易い
*補正値によるダメージのバラつきが発生し辛い(10〜13ダメージ→ほぼ10ダメージのようになる)
*職業差、キャラクター差が極端になりがち
*行動結果が予想しやすくなる(マリオRPG、FEシリーズは低い値で管理)
※計算式側でカバーできるので、深刻に考える必要はない
以下は私の設定例です。
*バランサーが物理アタッカーの最終HPを上回っているのは、ストーリー進行の成長を加味したもの
(このように曲線以外にも最終値を変えることで、成長を表現できる)
*1LVあたりの成長を算出しておくと、スキルの消費MPや装備品の上昇値を決める参考に役立つ
■調整のポイント
・敵のレベルデザインを考えるときは「適正レベル」、「適正装備」の2要素の幅を考慮する
この場合、勝てない敵の攻略方法はレベル上げor装備強化であり、どこに基準をおくかも考える
(タイムアタックを許容したい場合、装備補正を大きくする)
・物理攻撃と消費MPを伴う魔法攻撃は差別化を図る
戦士の通常攻撃と魔法使いの魔法が同火力の場合、魔法使いは戦士の下位互換になる
差別化を図る要素:火力、効果範囲、追加効果
・攻撃力/魔法攻撃力/敏捷性から入力するとメリハリがつけやすい
・防御力、魔法防御は最大HPを決めたうえで何回まで耐えられるかで決定する
・キャラクターの生存率、耐久性(しぶとさ)は防御力より最大HPで表現する(ダメージ0を防ぐ)
・装備による上昇値は入手難度(プレイ時間、価格)に釣り合うように設定する
例.10分で1LV上がるゲームなら、30分の探索で手に入る1ランク上の装備は2〜3LVの成長相当にするなど
・キャラが下位/上位互換にならないようにする
パラメーターだけでなくスキルで差別化を図る
・LVアップ時にパラメーターは1以上アップするように見せる(成長の可視化)
・パラメーターはプレイヤーの目に入る、計算式は目に入らない
パラメーターは見た目を整えることも意識する
例.バランスがとれていても攻撃力200、魔法攻撃力900のような見た目だと、戦士が不遇職に感じられる
・スキル0001「攻撃」の計算式にアレンジを加え、作品の個性/独自性を足す
a.atk * 4 - b.def * 2
TPの残量により補正がかかる、
親密度変数の補正がかかる、
0ダメージを防ぐように端数ダメージを加える、
滑らかになるよう黄金比計算を組み込む、など
■ダメージ計算式の調整
目指した調整は次の通り。
・与ダメージ/被ダメージ:2桁から開始、徐々に3桁台のダメージ
・レベルアップ、装備装着の効果が感じられる
・最大HP LV1:100-LV99:5000
・攻撃力、防御力 LV1:50、LV99:255
上記の条件で調整していました。
幾つかポイントがあります。
・自軍の攻撃スキルと敵の攻撃スキルの計算式は分ける
【自軍の「攻撃」コマンド】
a.atk * 2 - b.def * 2
【敵軍の「攻撃」コマンド】
a.atk * 4 - b.def * 2
[a.atk * 4の理由]
・自軍の最大HPがLV1アップあたり50成長するので、被ダメージを大きくみせるための調整
※最大HP、LVの上昇幅が少ないのであれば4を3、2.5、2と調整しても良いと思います
敵キャラの攻撃力を弄るよりもこちらを調整した方が感覚的にマッチしました
※自軍最大HPは9999に対して、敵最大HPは999999まで設定可能なので、見た目的にも与ダメージは
多くなるように調整した方が良いのかもしれません
あまり桁数が多いと目が疲れますけどね
■バトルテストのコツ
・自軍/敵軍に不死身ステートをつける
・ランク別にパラメーターの基準とする敵キャラクターを用意
ダメージの評価だけであれば「攻撃」スキルだけを使わせる
これにより後の敵キャラクターの評価とパラメーター設定が楽になります。
・HPゲージのプラグインを実装する
・最大HPは実戦想定で設定する
何打撃で倒せるか、体感できます。
参考プラグイン:Visual HP Gauges(YEP_Battle Engine Coreが必要)
http://yanfly.moe/2015/11/21/yep-30-visual-hp-gauges/
・バトルテスト専用の全員が装備可能な「汎用装備LV1」「汎用装備LV2」…といった武器/防具を用意
・LVと装備の組み合わせで次の@〜Dのパターンをテストする
@適性レベルやや低い+装備1ランクダウン
A適性レベルやや低い+適正装備
B適正レベル+適正装備
C適正レベルよりやや上+適正装備
D適正レベルよりやや上+1ランク上装備
私は次の基準でチェックするようにしています。
・Bの状態で2ターンでバトル終了
・10回まで攻撃に耐えられること
基準パラメーターが決まったら、次の点を意識して調整の精度を高めます。
・PTメンバーの数(=自軍の手数)→敵HPに影響
・一度に出現する敵キャラクターの数→敵攻撃力に影響
・拠点との距離(=回復、LV上げ、強化が容易か)→敵攻撃力に影響
・敵全体攻撃スキルの使用頻度→スキル威力に影響
■追記したいこと
・敵グループを考慮した最大HPの設定バランスの調整方法
・ステージ単位のバランスの調整方法
一般的なステージ格差
・ラストステージの到達LVを想定したバランスの調整方法
・装備のパラメーター調整
ランダム入手と市販入手の違い
・職業のパラメーター調整
・スキルのパラメーター調整
・限定ステージ(魔封じ、スキル封じ)の敵パラメーター調整
・バフ、デバフの補正バランス
・プレイ時間、エンカウントを考慮した1LVアップに必要な経験値のおおよその求め方
・パラメーター「運」の運用方法(洒落ではなく)
進めながら、まとめていきます。
2018年08月20日
パラメーターを一括調整する方法
◆パラメーターを一括調整する方法
RPGツクールMVでデータベースプラグインを使い、パラメーターを一括調整する方法です。
制作者:トリアコンタン様
説明/ダウンロード先:
https://triacontane.blogspot.com/2018/05/blog-post.html
※バージョン1.0.2(2018/05/30公開)以前の場合は再ダウンロードしてください
【準備】
プロジェクト\dataフォルダをバックアップしておく
【手順】
(1)プロジェクト\js\plugin.jsをバックアップ(=プラグイン管理の状態をバックアップ)
(2)プラグイン管理で全てのプラグインをOFFにする
(3)プラグイン管理でDatabaseConverter.jsをONにする
(4)任意のMAPでプラグインコマンド「EXPORT_DATABASE」を作成。テストで実行
・黒画面にプレイヤーキャラが表示されたら終了
・ここで失敗する場合、プラグインが競合している可能性あり
(5)プロジェクト名\excelDataに「Database.xlsx」が生成される。これをバックアップする
(6)「Database.xlsx」を編集する
(7)編集が完了したら(4)の要領で「IMPORT_DATABASE」を作成。テストで実行
・黒画面にプレイヤーキャラが表示されたら終了
(8)この時点ではプロジェクトに反映されないため、「保存せずに」ツクールMVを終了する
※保存すると反映されていない状態を上書きしてしまうため
(9)エディタを再起動し、データベースが反映されていることを確認する
(10)(1)のplugin.jsを上書きしてプラグイン状態を復旧させる
■パラメーターの一斉調整
例.全てのHPを10倍にしたい場合
1.任意のセルに「10」と入力して、セルをコピーする
2.10倍にしたい対象を範囲選択した状態で右クリック「形式を選択して貼りつけ」「乗算」を選択する
同様の方法で「加算」「減算」も使い勝手がよいです。
3.1を消す
■用語の一斉置換
Ctrl+Hを活用すると、単語を置き換えることができます。
将来的に置き換え予定の単語は、★のような文字列を入力しておけば
★→【魔法スキル】のように一斉置換が可能です。
■命名のポイント
一括調整とは関係ありませんが、オススメの考え方。
スイッチ、変数のようにプレイヤーから見えない値の命名は、検索を考えてつけると良いです。
例えばスイッチ10番がChapter1のダンジョンでしか使わない場合、
「C1:D1(Chapter1のダンジョンで使用)」
「C1:トラップON状態」
このように使用時期、状況など自分が調べるときに手がかりとする要素を命名に盛り込みます。
またONはどのような状態なのかを記すのもポイントです。
命名規則を整備しておくと、Ctrl+Fで検索するときに便利です。
先の例だと、時期で調べたいときはChapter1なので「C1」、機能で調べたいときは「トラップ」が検索キーとなります。
お試しあれ。
RPGツクールMVでデータベースプラグインを使い、パラメーターを一括調整する方法です。
制作者:トリアコンタン様
説明/ダウンロード先:
https://triacontane.blogspot.com/2018/05/blog-post.html
※バージョン1.0.2(2018/05/30公開)以前の場合は再ダウンロードしてください
【準備】
プロジェクト\dataフォルダをバックアップしておく
【手順】
(1)プロジェクト\js\plugin.jsをバックアップ(=プラグイン管理の状態をバックアップ)
(2)プラグイン管理で全てのプラグインをOFFにする
(3)プラグイン管理でDatabaseConverter.jsをONにする
(4)任意のMAPでプラグインコマンド「EXPORT_DATABASE」を作成。テストで実行
・黒画面にプレイヤーキャラが表示されたら終了
・ここで失敗する場合、プラグインが競合している可能性あり
(5)プロジェクト名\excelDataに「Database.xlsx」が生成される。これをバックアップする
(6)「Database.xlsx」を編集する
(7)編集が完了したら(4)の要領で「IMPORT_DATABASE」を作成。テストで実行
・黒画面にプレイヤーキャラが表示されたら終了
(8)この時点ではプロジェクトに反映されないため、「保存せずに」ツクールMVを終了する
※保存すると反映されていない状態を上書きしてしまうため
(9)エディタを再起動し、データベースが反映されていることを確認する
(10)(1)のplugin.jsを上書きしてプラグイン状態を復旧させる
■パラメーターの一斉調整
例.全てのHPを10倍にしたい場合
1.任意のセルに「10」と入力して、セルをコピーする
2.10倍にしたい対象を範囲選択した状態で右クリック「形式を選択して貼りつけ」「乗算」を選択する
同様の方法で「加算」「減算」も使い勝手がよいです。
3.1を消す
■用語の一斉置換
Ctrl+Hを活用すると、単語を置き換えることができます。
将来的に置き換え予定の単語は、★のような文字列を入力しておけば
★→【魔法スキル】のように一斉置換が可能です。
■命名のポイント
一括調整とは関係ありませんが、オススメの考え方。
スイッチ、変数のようにプレイヤーから見えない値の命名は、検索を考えてつけると良いです。
例えばスイッチ10番がChapter1のダンジョンでしか使わない場合、
「C1:D1(Chapter1のダンジョンで使用)」
「C1:トラップON状態」
このように使用時期、状況など自分が調べるときに手がかりとする要素を命名に盛り込みます。
またONはどのような状態なのかを記すのもポイントです。
命名規則を整備しておくと、Ctrl+Fで検索するときに便利です。
先の例だと、時期で調べたいときはChapter1なので「C1」、機能で調べたいときは「トラップ」が検索キーとなります。
お試しあれ。