前回、ポケモン風戦闘システムをどこまで再現できるか挑戦したいという記事を書きました。
フォロワー限定で公開した5つの課題についての進捗報告ですが、全てクリアすることができました。
今回の記事は勢いが乗っていて少々長いです(笑)目次を表示しました。
前回掲げた課題
- 課題1:主人公キャラをパーティ一覧に非表示
- 課題2:並び替えウィンドウ
- 課題3:戦闘参加人数1人
- 課題4:戦闘中の入れ替え
- 課題5:戦闘不能時の動作
課題1・2は前回の記事の段階で実現できていました。
課題3~5
戦闘システムに関わる改変なので正直難しかったです。
パーティコマンドの追加やパーティ編成の変更した結果をバトルシーンに反映するのにかなりの試行錯誤を要しました(笑)
それでも掲げた課題をなんとかクリアして形にすることができました。
課題3:戦闘参加人数1人
シンプルに戦闘開始時にパーティメンバーを外して1人にするという方法で解決しました。
戦闘開始前にパーティの情報を保存しておいて、戦闘終了後に元に戻します。
課題4:戦闘中の入れ替え
「入れ替え」コマンドの追加には、しぐれんさんの「パーティコマンドイベント」プラグインを導入させていただいています。
パーティ入れ替えシーンを呼び出し、パーティ一覧からメンバーを選択して交代させます。
戦闘に選出しているメンバーがわかりやすいように、戦闘中のメンバー項目に「戦闘中」のピクチャを表示させました。
課題5:戦闘不能時の動作
戦闘中のキャラが戦闘不能になった場合、控えのメンバーを選択して入れ替えるという仕組みなのですが、戦闘中に戦闘不能を判定する方法を探すのに苦労しました……(笑)
入れ替えコマンドで現在戦闘中のメンバーや戦闘不能ステートのメンバーを選択した場合は選択を無効化したり、パーティメンバー全滅でゲームオーバーになる設定を施しました。
課題1~5をクリアした一連のテスト動画
私の知識で寄せられるのはこのくらいが限界です。
再現しようとしたけどできなかった部分もいくつかあります。
そういった部分は執着せずに受け入れ、それ自体を仕様にしようと思います。
むしろ独自性のある戦闘システムとして出来上がってよかったです( ´∀` )
結局どんな戦闘システムが出来上がりそう?
今回の課題を課題をクリアできたことで、戦闘のイメージが何となく浮かんできました。
そこで戦闘のイメージをいらすとやを駆使して敵目線で表現してみました。
RPGツクール既存の戦闘とポケモンの戦闘も図にしたので、比較しながら説明します(笑)
RPGツクール既存の戦闘
- ドラクエとかFFに近い感じ?
- 主人公を含めた最大4人の戦闘同時参加
敵に対してパーティメンバーが横並びになる戦闘です。
ポケモンの戦闘
- 主人公は非戦闘
- 戦闘は1人、控えメンバー最大5人の合計6人
控えメンバーが待機する縦並びの戦闘といえると思います。
今回出来上がりそうな戦闘システム
- 主人公は戦闘では除外
- 先頭のメンバーだけがコマンド選択、敵の攻撃を受ける
戦闘中の交代にターン進行がない(再現できなかった……)ので、ポケモンのような入れ替え時に一方的に敵の攻撃を受けるといったデメリットがありません。
なので先頭に立つメンバーは1人でも、パーティが一体となって戦っているイメージはむしろポケモンよりもこちらのほうが強いかもしれません。
戦闘メンバーと控えメンバーの関係が、RPGツクール戦闘とポケモン戦闘のちょうど中間くらいの戦闘システムになりました(笑)
新たな課題
ここまで形にできるとは、正直自分で驚いています。
夢中になって挑戦したため、思いのほか短期間で形にできました。
この勢いに乗ってゲーム制作を推し進めていきます。
戦闘システムが形になってきたので、新たな課題がたくさん出てきました。
戦闘システム面
- 経験値獲得方法
- TP(タクティカルポイント)の活用方法
- パーティの最大人数
データベース面
戦闘システム面・データベース面はどちらも戦闘に関わる部分ですが、ここの構築を先に固め過ぎるとあまり良くないというのが今までの経験(笑)なので、追々やっていこうと思います。(ある程度の想定は必要ですが)
それよりも大事なのは、RPGにおける敵は何かを決めることだと思います。
敵 = 仲間
ポケモン戦闘に近づける要素として、敵キャラが仲間キャラになるという特徴があります。
今回制作するRPGでもこの特徴を再現するには、どんなシステムが必要か……?
……と考えたとき、3つのシステム構築が大きな課題になりそうです。
戦闘を介して仲間を獲得するシステム
これは何となくできそう。どうしたら仲間になるかを考える必要がある(ボールに入れて捕獲するみたいな)。
同じキャラを何人も獲得できるシステム
これはどうなんだろう……。
アクター情報で特徴付けせず、敵キャラごとに対応した職業情報を構築して、仲間を獲得した際に職業なしのアクターに顔グラと職業を付与して加えることはできないだろうか?
アクターの編成システム
獲得した仲間をパーティ外で管理するシステム。
カスタムメニュー作成プラグインでシーン作成できれば実現できそう。
まずは簡単に流れを作ってみる
戦闘に勝利すると倒した敵キャラが仲間になるという流れを簡単に作ってみようと思います。
手ごたえを確かめながら今後の課題を模索し、決まり次第また報告します。
今回はかなり飛ばした報告記事となりましたが、この勢いを大切にしたいとです(笑)