MBTMerge Battle Tactics 攻略メモ

戦闘の仕組み — 自動で進む戦闘と、勝敗を決める3つの要素

戦闘中に操作はありません。だからこのゲームの勝負は、FIGHT を押す前の並べ方でほぼ決まります。

ページ
戦闘
節
5

01戦闘は自動で進む

FIGHT を押すと戦闘が始まり、ユニットは自分で動いて攻撃します。プレイヤーが戦闘中にできる操作はありません。ビルドには CloseOnFightStart というクラスがあり、これは「戦闘開始時に閉じるパネル」——つまり準備用の画面を閉じて戦闘に移る、という作りです。

戦闘の結果は敵味方の体力が尽きるまで続きます。勝てば VICTORY!、負ければ敗北の演出(効果音は Lose9)、勝った場合は Win8 の効果音と結果リボン(ResultRibbon)が表示されます。

02結果を決める3つの要素

ユニットのデータ構造から、攻撃の判定に使われる値が3つ確認できます。attackDistance(射程)、attackInterval(攻撃間隔)、そして味方同士の位置関係です。

このうちプレイヤーが動かせるのは位置だけです。射程も攻撃間隔も段階(ユニットの種類)で固定されており、強化しても変わらない可能性が高いです(推測)。だから「強いユニットを前に置く」ではなく「射程の長いユニットを後ろに置く」が正解になります。

戦闘に関わる内部データと、プレイヤーが動かせるか
要素内部での名前プレイヤーの操作で変わるか
射程attackDistance変わらない(段階で決まる)
攻撃間隔attackInterval変わらない(段階で決まる)
攻撃力attackPower強化で上がる可能性あり(未確認)
位置Transform / Tile 上の配置変えられる。ここが唯一の操作点
弾の有無Projectile / ProjectileMover遠距離型のみ。位置取りの意味が大きい

03並び順で結果が変わる理由

射程内に相手が入ったときだけ攻撃が始まる(isRivalInAttackDistance という判定メソッドが存在)ため、射程の短いユニットは前に出ないと何もできません。逆に射程の長いユニットを前に置くと、最初に狙われて落ちます。

結果として、前列に短射程の高段階、後列に長射程の高段階を置く形が基本になります。ただしこれは merge 系全般に通じる配置論で、本作で実測したわけではありません(推測)。本作特有なのは、盤面がマス目で区切られているため半マスぶんの調整ができない点です。

  • 前列: 射程の短い段階を置く。落ちても後列が残る
  • 後列: 射程の長い段階を置く。弾を飛ばす型(Projectile)は特に後列
  • 同段階を固める: 同じ段階どうしは射程も揃うので、狙いがぶれない
  • 空きマスを作る: 前列が全滅したときに詰められる場所が要る

04体力は「比率」でしか見えない

画面上の体力表示は TotalHealthBar と HealthBar の2種類で、どちらもバーです。数値は表示されません。内部には getHealthRatio(体力比を返すメソッド)があるため、UI は比率だけを受け取る作りになっています。

つまり「あと何ダメージで落ちるか」は画面から読めません。勝敗の予測は、残っているバーの長さと段階の差で行うことになります。

05難易度は2種類ある

ビルドには LevelDatas と LevelDatas_Hard という2つのデータがあり、それぞれサイズが違います(1080バイトと1144バイト)。ステージの定義が「通常」と「Hard」で分けて持たれている、と読めます。

どちらがいつ解放されるか、Hard の敵が何倍強いかは読み出せていません(不明)。画面に Hard という文字が出たときのための心づもりとして、データが別系統で存在することだけ記録しておきます。