ORK Framework 3を使ってみよう!(7)〜バトルシステムの設定あれこれ〜

ORK Framework 3を使ってみるシリーズ。
基本情報と目次は以下。


バトルシステムの設定

  • バトルシステムはMakinomのBattle > Battle Systemで設定する

  • CTB、ATBなどお馴染みのシステムが予め用意されてる

    • CTBはTurn Base、ATBはActive Base

    • Real Timeはマップ上に敵が現れて戦うARPG形式

    • Phaseはマップ上でグループ毎に順番に行動するシミュレーション形式

      • Real TimeとPhaseは設定項目が異なるのでこのプロジェクトのままだと使えない模様

    • とりあえず今回はTurn Baseを調整

自分で作ってもいいけど、それはまた後で

AGIで行動順を決める

  • サンプルではバトルの行動順はレベルとATKで決定している

  • せっかくAGIを追加したので行動順決定に使う

    • 0: Turn Base のTurn Based Settings > Turn Order Settings > Turn CalculationからCombatant > Status Valueを選択

    • Status ValueからAGIを選択

    • Use Secondary Check > Secondary CalculationからCombatant > Levelを選択

      • AGIが同じだったとき、2番目に比較する値

      • レベルが高い方を優先するようになる

      • 他の値でもヨシ

これでAGI順に行動が決まる

逃走成功率を設定する

  • 逃走成功率の設定は各種項目ではなくGeneral Settingsで

    • 逃走率100%にしたいならValueのまま100を設定してもいい

  • Base Settings > Chance & FactorsのBase Escape ChanceからValue > Formulaを選択

  • FormulaにEscape Chanceを設定

先制攻撃と不意打ちを設定する

  • 先制と不意打ちもGeneral Settingsから

    • デフォルトでは発生しない設定になっている

    • 当然UIも設定されてないが、そっちは後で

  • Battle Advantage Settings > Player Advantageで先制攻撃を設定できる

    • Enableを有効化

    • ChanceからValue > Formulaを選択

    • FormulaにPreemptive Chanceを設定

    • Player Group Advantage > First Moveを有効化

      • これでターンが先に回ってくるはず

Status Valueも設定できるのでTPをおまけしても良さそう
  • Battle Advantage Settings > Enemy Advantageで不意打ちも同様に設定

    • Enableを有効化

    • ChanceからValue > Formulaを選択

    • FormulaにSneak Chanceを設定

    • Enemy Group Advantage > First Moveを有効化

バトル終了時にTPを0にする

  • バトル開始時と終了時には指定したSchematicsを実行している

    • Schematicsの作り方は(5)でやったFormulaとほぼ同じ

  • Schematicsはツクールでいうところのコモンイベント

    • ORKでのイベントの扱いは基本的に全てコモンイベント

  • Base Settings > Battle Start/End Schematics にバトルの前後で実行されるSchematicsが設定されている

    • Victory Schematicsに設定済みのBattleEndVictoryをダブルクリックして編集する

Schematicsタブから開いてもいい
  • BattleEndVictoryを編集してバトル終了後にTPを0にリセットしてみる

    • 一番最後のLoad Sceneノードを選択する

    • Add Node > Combatant > Status > Change Status Value で下流にノードを追加

    • Combatant > Object からPlayerを選択

    • Combatant ScopeからGroupを選択

    • Status Value Changes > Status ValueからTPを選択

    • OperatorからSetを選択

    • Save Schematicsで変更を保存

HP 100% Setにすればサガ方式にもできる

バトルメニューの設定

  • バトルメニューの項目はMakinomのUI > Battle Menusで設定できる

ここ

逃げるを追加する

  • サンプルでは逃げるコマンドがないので追加する

    • UI > Battle Menus > Default > User HighlightのAdd Optionボタンでメニュー項目を追加

追加した直後はAttackになってる
  • 追加されたOption 4のTypeからEscapeを選択

  • Button Content > TextのEdit Textボタンを押してテキストを設定

    • とりあえずEscapeにしてみる

Abilityの項目をまとめる

  • サンプルだとAbilityのタイプごとに項目が表示される

    • AbilityのタイプはSkills、Spells、Supportの3つ

    • Skillsが物理技、Spellsが攻撃魔法、Supportが補助魔法

    • Fighterは物理技しか覚えていないためSkills項目が追加される

    • Casterは攻撃魔法と回復魔法を覚えているので、SpellsとSupportのメニュー項目が追加される

デフォルトのCasterのバトルメニュー
  • ツクールと同様に、タイプ別でも同じ項目で表示してみる

    • UI > Battle Menus > Default > Option 1: Ability > Type DisplayからCombinedを選択

    • Button Content > Textに適当な名称を入れる

      • 今回はSkillsで

  • これで技も魔法もSkills項目でまとめて表示される

こうすると
まとまっている

バトルキャラクターの設定

  • ORKにおけるバトルキャラはCombatantsで設定

  • 敵側のエネミーも味方側のアクターもまとめてCombatants

  • エネミーかアクターかの分類はFactionsで設定

ここ

エネミーにTP、AGI、LUCKを追加する

  • アクターには成長曲線でAGIとLUCKが反映されたが、エネミーには成長曲線が設定されてないので個別に設定する

    • Combatants > Combatants > 1: BlueMushroom > Status Settings > Status Value SettingsのAdd Initial Valueボタンで項目を3つ追加

Set Defaultだと一通り追加されるので、新規作成した場合はそっちでも
  • それぞれStatus ValueからMax TP、AGIとLUCKを選択

  • Start Valueを適当に入力

    • TPは0で

    • レベル1のAGIだとFighterが10、Casterが5なので6〜9とか

  • 他のエネミーにも同様に追加

この記事が気に入ったらサポートをしてみませんか?