本文へスキップ
TACTICS ARCHIVE
DEVLOG

自作SRPG「ヴェルダン戦記」開発記録|ウェイトゲージを作り直した話

行動順を操作できるウェイトゲージ制の設計と実装で、何が問題になり、どう作り直したのかを記録します。自作SRPGを開発している人向けの技術メモです。

公開 読了目安 約2分SRPG研究室
開発中のSRPGマップと行動順ゲージのイメージ

自作SRPG「ヴェルダン戦記」の v0.6 で、行動順の仕組みを丸ごと作り直しました。 同じ問題に当たっている人がいると思うので、判断の過程を残しておきます。

何を作ろうとしていたか

目指していたのは、行動順そのものを戦術の対象にすることです。

多くのSRPGでは、行動順は素早さで決まる固定的なものです。 プレイヤーが操作できる余地は装備変更くらいしかありません。

そこで、行動のたびに「重さ」に応じた待機時間が加算され、 待機時間が短い順に手番が回るウェイトゲージ制を採用しました。

  • 軽い攻撃 → すぐ次の手番が来る
  • 重い必殺技 → 強いが、次の手番が大きく遅れる

最初の実装で起きた問題

v0.5 までの実装では、待機時間を整数で持ち、毎ターン全ユニットから一律に減算していました。 シンプルで動くのですが、遊んでみると2つの問題が出ました。

問題1:行動順が予測できない

減算方式だと、同値になったときの処理順が実装依存になり、 プレイヤーから見ると**「なぜこの順番なのか」が説明できない**状態になりました。

戦術の対象にするつもりの仕組みが、運の要素になってしまっていたわけです。

問題2:軽い行動が強すぎる

待機時間が短い行動を繰り返すのが常に最適になり、 重い行動を選ぶ理由がなくなりました。選択肢が実質1つになったということです。

どう作り直したか

v0.6 では次のように変更しました。

  1. 待機時間を実数から「ターンポイント」の累積値に変更 減算ではなく、行動するたびにポイントを加算し、累積値が最も小さいユニットが動く方式にしました。 同値の場合は素早さ、次にユニットIDで決定するため、順番が必ず一意に決まります

  2. 行動順リストを常時UIに表示 次の8手番を画面上部に並べ、重い行動を選んだときにどこへ落ちるかを 選択中にプレビュー表示するようにしました。予測できないと戦術になりません。

  3. 重い行動に「割り込み耐性」を付与 重い行動を選んだユニットは、次の手番までの間だけ被ダメージが軽減されます。 これで「遅くなるが硬くなる」というトレードオフが成立し、選ぶ理由ができました。

結果

テストプレイでは、重い行動の選択率が約1割から3割台まで上がりました。 狙っていた「行動順を読み合う」形に近づいたと考えています。

一方で、行動順リストのUIが情報量過多になりつつあるので、 次のバージョンでは表示する手番数を減らす方向で調整する予定です。

遊べます

現在のバージョンはブラウザからそのまま遊べます。 インストール不要で、プレイページから起動できます。

操作方法とアップデート履歴も同じページにまとめてあります。 フィードバックフォームも設置しているので、遊んで気づいた点があれば送ってください。

設計の参考にした作品については、Wargroove 2 のレビューでも触れています。

SHARE

XはてブLINE