投稿記事

2022年 01月の記事 (6)

Lunatlazur 2022/01/25 00:20

RPGツクールMZの戦闘の流れについて【記:あおたく】

こんばんは、あおたくです。

引き続きガストロの戦闘を組んでいました。
戦闘システムを組むときに調べたことをまとめたので、今日はその話をします。

RPGツクールMZのシーンシステム

「シーンシステムとは何か」ということは調べてもらうとして、RPGツクールMZでは、 SceneManager がシーンの管理をしています。XP の RGSS1 の頃からシーン管理はありますが、SceneManager を使うようになったのはたぶん VXAce からです。

各シーンは Scene_何とか に記述されます。戦闘シーンだと Scene_Battle です。Scene_Battle はメッセージなどのイベントが実行できるので、Scene_Message から派生しています。
各シーンはウインドウを持ち、ウインドウにフォーカスを当て、ウインドウで実行されたコマンドに応じて処理を行ったりします。

SceneManager と BattleManager

戦闘シーンにおいて、Scene_Battle がやることは、主にユーザーの入力を待ってウインドウの表示を切り替えることで、戦闘に関する処理については BattleManager に任せています。

戦闘シーンの処理は戦闘シーンに特有で、SceneManager 共通の処理ではありません。なので、SceneManager ではなく BattleManager が担当しています。

SceneManagerScene_Battle を管理し、Scene_Battle が現在の状態に応じて BattleManager の処理を呼び出す、という入れ子構造になっています。

戦闘の流れ

  • 戦闘シーンの準備
  • 各種ウインドウ・UIの準備
  • 画像・フォントなどの読込完了待機
  • 戦闘データの準備
  • 画面のフェードイン完了待機
  • パーティコマンド入力
  • パーティメンバーコマンド入力
    • コマンドの種類を入力
    • コマンド内にサブコマンドがあればそれぞれについて入力
    • コマンドの対象を選択する必要があればそれぞれについて入力
    • 全メンバーのコマンド入力が終わるまでパーティコマンド入力に戻って繰り返し
  • ターン開始
  • ターン終了
  • 戦闘が終わるまでパーティコマンド入力に戻って繰り返し
  • 戦闘終了

おおざっぱにこういう流れになっています。
細かいところで不意打ちだったり行動可能なパーティメンバーがいなかったりするとコマンド入力をスキップしてターン開始されたりなどはありますが、基本的には上のとおりです。

ガストロでの変更点

ガストロでは以下の点を変更しています。

  • コマンドの種類を入力
    → 「攻撃」スキルコマンドが選択された状態で開始し、Q,Eキー(L,Rボタン)でスキルの種類を変更する
    キャンセルで前のメンバーのコマンド入力またはパーティコマンド入力に戻る
  • パーティメンバーのコマンド入力が終わったタイミングで即ターンを開始せず、ターン開始の確認メニューを表示
    プレイヤーが「ターン開始」を決定してからターン開始に遷移する
    即ターンが開始されると、最後のメンバーが全体を対象とするスキルを誤って選択した場合などにやり直しができないため

内部処理としては AP の消費・追加、スキルごとのクールタイムの設定などがありますが、それ以外の流れは通常の戦闘シーンとほとんど変わりません。なので必要な部分にプラグインでパッチを当てる、という感じです。これくらいの改造からやるとツクールの設計を把握できてよいですね。

特に大きく変更が入って作るのが大変なのはウインドウ周りです。時間がかかる上、ここが出来上がらないと画面を見せられません。
というわけで今回も画面なしで文字のみの更新でした。
ツクールのプラグイン開発は上に書いたように、

  • ツクールのコードを読んで、どういう設計になっているか理解する
  • 実装したいシステムがツクールのデフォルトとどこがどう変更になるのかをまとめる
  • 変更箇所についてプラグインを書く

という流れが基本になります。一行で書くとこれだけですが、一番上が一番たいへん。
最初はツクールのプリセットの各関数に console.log を埋め込んで、関数の実行順を書き出したりしてみるとよいと思います。

フォロワー以上限定無料

プラグインの開発環境

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Lunatlazur 2022/01/18 05:21

ガストロの戦闘を組んでいます【記:あおたく】

おはようございます、あおたくです。完全に月曜更新のことを忘れていてこんな時間に記事を書いています。

今は戦闘システムを組んでいるのですが、まだまだ人に見せられる画面にまでは持っていけていません。画面を見せることを優先してコードを書くのも本末転倒だし、順序通りに実装を進めてはいくのですが、来月半ばくらいまでには短めの動画が出せればなあと思っています。

というわけで短めの近況報告でした。来週こそは日付をまたがないうちに書きたい。

フォロワー以上限定無料

来週の記事に書くこと

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Lunatlazur 2022/01/14 22:05

お知らせ【記:ゆえ】

こんばんは、ゆえです。

先週もお伝えした腰痛が悪化しまして、作業は何もできていません。
ひとまず病院で診てもらった結果、大事はなかったのでもう少しよくなるまでは作業および日記の更新をお休みしようかと思います。
進捗があった時にまた更新再開したいと思います。

今月中には回復する気はしていますので、頑張って療養します!


重たいものを持つ時は前傾姿勢で持ちあげないように気をつけてね!!(教訓)

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Lunatlazur 2022/01/11 02:47

ガストロの敵データを組んでいます【記:あおたく】

こんばんは、あおたくです。ちょっと仮眠するか、と横になったらこの時間でした。更新はちょっと遅い時間になりましたが、ガストロの進捗を書いていきます。

ストーリー

特に進捗に変わりはないですが、振り返りの意味で載せておきます。

  • 終盤: プロット100% / テキスト10%
  • メインクエスト4つ
    • 最後のクエスト: プロット100% / テキスト5%
    • 最初のクエスト: プロット80% / テキスト5%
    • 二つ目のクエスト: プロット80% / テキスト5%
    • 三つ目のクエスト: プロット80% / テキスト5%
    • 序盤の導入: プロット80% / テキスト5%
  • 各メインキャラクターとの出会い
    • ユク=ルク: プロット80% / テキスト5%
    • ジーファス: プロット25% / テキスト0%
    • グリムルーネ: プロット25% / テキスト0%
    • フィヨ: プロット80% / テキスト5%
  • サブクエスト: 無

データ組み

敵用の画像の選定はいったん終わり、データを組んでいます。
能力などの数値は戦闘システムを組みながらでないと調整できないので、いまは敵毎のドロップアイテムを設定するくらいにとどめています。

というわけで、そろそろ戦闘システムを組まないと、ここから先の作業ができないというフェーズに入った感じです。料理のレシピも、料理システムを組まないとデータに落とし込めないですね。
今月はこの二つのシステムを組んでいきます。今月中にはプロトタイプを組み上げたいところですが、はたして。

楽曲の選定

これをやる予定だったのですが、戦闘曲が決まったくらいであんまりできていません。イベント用の曲も選定したかったんですが、まだイベントのトーンを掴みかねているなあと思いました。ざっくり曲の方向性くらいは定まっていないと選べないので、それがわかる程度にはイベントシーンを組む必要がありそうです。戦闘と料理のシステム組みが終わったら、立ち絵を使った会話シーンを組みながら、プロットをラフテキストに落とし込んでいこうと思います。
まあ、ちょっと先の話になりそうですが、ここに書き残しておけば思い出せそう。

フォロワー以上限定無料

寅年だけどうさぎ

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Lunatlazur 2022/01/07 23:48

あけましておめでとうございます!【記:ゆえ】


あけましておめでとうございます、ゆえです。

一応イラスト担当として書き初めしないと!と思ったんですが、年始早々腰をやってしまい、満足に絵も描けなかった……厄年はまだまだ先なんですけどね、なんでですかね?

今年はとのストの先行限定体験版を出すこと、ガストロを公開することを目標に、ちまちまと作業していこうと思います。


あとはどうにか健康に過ごしたいですね……。

フォロワー以上限定無料

とのスト進捗を少し

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

« 1 2

月別アーカイブ

記事のタグから探す

限定特典から探す

記事を検索