CTBとターン制を融合させた戦闘システム(CTTB)【RPGツクールMZ&MVプラグイン】

2020年08月24日

 ツクールMV&MZ向けCTTB(カウントタイムターンバトル)を実現するプラグインを公開しました。

20191227_CCTB_1.jpg

 CTTBとは以前、仕様だけ考えていた「CTBとターン制を無理やり融合した夢の新戦闘システム」です。

 正直、冗談半分だったのですが、せっかくなのでマジで作りました。
 ツクールMV&MZユーザで興味がある人は試してみてください。カスタマイズも可能ですが、デフォルトの素材だけでも即動きます。作りかけのゲームに気分転換で放り込んでみると面白いかも。

 仕様の詳細は上のリンク先に書いてますが、ざっくり言うとCTBをターン制っぽく区切った戦闘システムです。敏捷性(素早さ)の比率に応じて、遅いキャラは動けないターンが発生します。
 上の画面では顔グラで表示していますが、キャラグラを出したり名前を文字表示したりもできます。色々と頑張ってレイアウトの自由度を上げてみました。
 フロントビューでもサイドビューでも問題なく機能します。

導入方法


 以下2つのファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_CountTimeTurnBattle.js ver1.05(2020/08/24)
 NRP_VisualTurn.js ver1.14(2021/11/19)

 上から順番に取り込む必要があるので注意です。
 ファイルが2つあるのは、制御系と表示系で分割したためです。
 表示系のほうは、CTB用プラグインと共通になります。

更新履歴


2021/06/19

NRP_VisualTurn.js ver1.12

  • ウィンドウを重ねて表示できるように改良。
  • それに伴い初期状態では行動順序を右寄せ&上寄せするように変更。
  • また、ウィンドウ表示系のパラメータを追加(細分化)&整理。
    ※プラグイン更新時に少しだけ挙動が変わる可能性があります。変更箇所はパラメータ(各ウィンドウの表示)だけなので見直しをお願いします。

2020/08/24 ver1.05

  • ツクールMZに対応。

2020/06/18 ver1.04

  • 英語対応。

2020/04/18 ver1.03

  • バトルイベントでアクターの個別ターンが正常に取得できない不具合修正。

2020/02/01 ver1.02

  • 全体的に処理を見直して競合に対応。
  • 戦闘行動の強制で複数回行動すると、ターンが複数経過する不具合修正。
  • スキルのメモ欄に<FastTrick>で先制行動を可能に。

2020/01/11 ver1.01

  • CTB用プラグインの各種修正を取り込み。
    (プラグインパラメータの追加、WT操作の実装など)

2019/12/27 ver1.00

  • 公開開始!

 ※NRP_VisualTurn.jsのほうは随時修正しているので、そちらをご覧ください。

パラメータ(基本設定)


number

 ターン順序の計算を行う人数。これがそのまま画面に表示する人数となります。指定なしなら9人です。

パラメータ(戦闘開始関連)


actorStartRandomWt(ver1.01)

 戦闘開始時の味方の敏捷性を数値%分だけ分散させます。
 例:20ならば、90〜110%に分散。指定なしは0。

 要するに戦闘開始時の行動順序をバラけさせるか否かということです。初期値0のままだと毎戦闘、同じ順番で動きます。

enemyStartRandomWt(ver1.01)

 戦闘開始時の敵の敏捷性を数値%分だけ分散させます。
 例:20ならば、90〜110%に分散。指定なしは20。

 0にすると同種の敵が一斉に行動してきます。それを避けるために20ほど初期値を分散させています。

preemptiveAdvantage(ver1.01)

 先制攻撃時に、指定した数値の%分だけ味方のターンを早めます。
 初期値は50%です。つまり1/2ターンほど通常より早く行動します。

surpriseAdvantage(ver1.01)

 敵の奇襲時に、指定した数値の%分だけ敵のターンを早めます。
 初期値は50%です。

startTurn(ver1.01)

 戦闘開始時のターン数を設定します。
 これは主に敵の行動パターンの判定に使用されます。
 初期値は1です。

 MVのデフォルトの仕様では、0ターンから開始します。これは公式の説明とも食い違っているので、バグっぽい気がしますが……。一応、元の通り0ターン開始も選択できるようにしています。

NRP_VisualTurn.jsのパラメータ


 画面表示については、主にこちらで設定します。
 色々とカスタマイズが可能ですが、長くなったので別記事に分割しました。
 こちらをご参照ください。

仕様・注意点


  • ターンは各自が個別に保有するようになります。
    毒などの効果は行動したターンのみ受けますし、睡眠などが切れるターンも行動したターン数が基準です。
    また、敵はターンを飛ばされても自分のローテーションを守ります。

  • 速度補正技を使用しても、先手を打ったりはできません。
    代わりに次のターンの行動順が早くなります。
    通常のターン制のように先手を打って発動する技は、下の『追加機能』にある『先制行動』で可能です。

  • エディタ上から入力する速度補正の値は%にしています。
    速度補正100の技は+100%。つまり二倍速ということです。

  • ちなみに、デフォルトのターン制にある『防御』は2000という速度補正によって、先制で発動する仕様になっています。
    当然、そのままだとCTTBではまともに使えません。

  • 戦闘の流れを根本的に変えているため、その辺に触れるプラグインとは競合しまくります。
    参考までにこういった影響の大きなプラグインほど上側に配置したほうが、動きやすい傾向にあります。※あくまで傾向です。確実ではありません。

追加機能


先制行動(ver1.02)

 スキルのメモ欄に以下を記入することで、先制行動できます。
 防御などにご活用ください。
 なお、この効果は次ターンの行動順序に影響を与えません。

<FastTrick>


WT(待ち時間)を変更する技(ver1.01)

 ステート欄のメモに以下を記入することで、対象の待ち時間を変更できます。
 数値は100で対象の1ターン分の待ち時間となります。マイナス値も可能です。

<SetWt:[数値]>

 対象の待ち時間を変更します。
 ……が仕様上、CTTBではこの機能は使いづらいです。

<AddWt:[数値]>

 対象の待ち時間を加算します。
 CTTBではこちらを主に使ったほうが無難です。


  • <AddWt:50>
    1/2ターン分、相手の行動を遅らせます。いわゆるディレイアタックですね。

  • <AddWt:0>
    対象の待ち時間を0にし、即時行動させます。
    全体にかければ、サガのクイックタイムっぽくなって最強です。
    ※CTTBでは<AddWt>を推奨します。
    ……ただし、CTTBでは効果を発揮するのが次のターンになってからです。

  • <AddWt:-500>
    対象の待ち時間を5ターン引き算します。
    つまり、一方的に5回程度動けるようになります。
    自分にかければ、同じくサガのオーヴァドライブっぽくなって最強です。

注意点

 なお、これらはステートがかかった際にのみ発生する効果となります。
 そのため、同一のステートがかかったままだと重ねがけできません。

連続行動技(ver1.01)

 スキルの速度補正を2000(MAX)にしておくと、時間経過なしで連続行動を行います。
 ただし、CTBとは違ってそのターン内での行動順序には影響しません。

雑感


 作者の狙いは、素早さの価値が高いターン制といういいとこ取りです。
 その狙いがうまくいくかは、実際にゲームを作ってみないと分かりません。作者としても、今後採用するかどうかは実際の感触次第でしょう。

 今のところ感じている欠点は、コマンド入力するキャラの順序が毎ターン変動することです。
 ターン制のゲームでパーティの並び順を変えた直後、コマンドの入力順序が変わって困惑した経験はないでしょうか?
 CTTBはあれが頻繁にあるような感じです。

 こう考えてみると、ターン制における入力順序が一定という仕様にも一種のメリットがあったことに気づかされますね。
 ……せっかくの新システムの記事で「ターン制を持ち上げてどうすんだ」ってツッコミはともかくとして。

>RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 12:25 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

ターン制で行動順序を表示【RPGツクールMZ&MVプラグイン】

2020年08月23日

 ターン制で行動順序の表示を行うためのプラグインです。
 CTB、CTTBプラグインで使用している画面表示処理を、そのままターン制でも使えるようにします。


 このプラグインを適用すると、アクターの行動入力前に順序を決定するようになります。それによって、行動順序を可視化できるようにしています。

導入方法


 以下2つのファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_VisualTurnBattle.js ver1.03(2020/08/23)
 NRP_VisualTurn.js ver1.14(2021/11/19)

 上から順番に取り込む必要があるので注意です。
 『NRP_VisualTurn.js』はCTBやCTTBと共通です。

更新履歴


2021/06/19

NRP_VisualTurn.js ver1.12

  • ウィンドウを重ねて表示できるように改良。
  • それに伴い初期状態では行動順序を右寄せ&上寄せするように変更。
  • また、ウィンドウ表示系のパラメータを追加(細分化)&整理。
    ※プラグイン更新時に少しだけ挙動が変わる可能性があります。変更箇所はパラメータ(各ウィンドウの表示)だけなので見直しをお願いします。

2020/08/23(ver1.03)

  • ツクールMZに対応。
  • MZ用の余白調整。(NRP_VisualTurn.js ver1.101)
  • MZにてステータス枠が消える不具合修正。(NRP_VisualTurn.js ver1.102)

2020/06/18(ver1.02)

  • 英語対応。

2020/04/23(ver1.00 -> 1.01)

  • 公開開始!
  • 戦闘不能者は非表示とするよう修正。(ver1.01)

仕様・注意点


 アクターが速度補正技を選択した際、行動順序にもきちんと反映されます。
 ただし、キャンセルした際は新しい行動を選び直すまで表示順序はそのままです。

 敵の速度補正技については、入力時の表示に反映されません。
 全員の入力完了後、初めて速度補正が反映される仕様です。

制御系パラメータ


速度分散値(randomSpeed)

 速度の分散度合を決める数式です。
 毎ターンこの計算結果によって行動順が変動します。

 初期値は『5 + a.agi / 4』です。
 敏捷性が100のキャラの場合、分散値は『5 + 100 / 4 = 30』です。
 100〜130未満の値がランダムでキャラの速度となります。

 値を0にしてしまえば、行動順にランダム性はなくなります。

表示系パラメータ


 画面表示については、こちらをご参照ください。
 NRP_VisualTurn.jsのパラメータ

 なお、表示の最大人数は『NRP_VisualTurn.js』側で設定できます。敵味方の数が多い場合、レイアウトが崩れないよう表示数に制限をかけられます。

>RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 17:20 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする