【ウディタ】基本システムの戦闘をサイドビューにする方法

メタルメサイアでは基本システムの戦闘処理を改造してサイドビュー戦闘にしています。これは過去にボツになったゲームの処理を改良したもので、自分の中で「秘伝のタレ」的に加筆修正してきました。

ところが長期にわたって少しずつ改造を続けた結果、自分でも何をやったのかがわからなくなってきたのと、もしかしたらほかの方にも役立つかもしれないと思い、ここで改造方法を整理することにしました。改造部分が多すぎるので大まかな流れしか書けませんが、何かしら参考になれば幸いです。

※ちなみに、単純にサイドビューにするだけなら既に「ウディタ2対応サイドビューコモン」というのがあるので、手っ取り早く導入したいならそちらを使うのをおすすめします。

※なお今回のようにコモンイベントに大きな変更を行う場合は、直接編集するのではなく、コピーしたコモンをより大きな番号のコモン欄にペーストしてそれを編集したほうがいいです(同じ名前のコモンがある場合、大きい番号のコモンが読み込まれる。バグったりした時はそれを消せばいつでも元のコモンに戻せる)。

サイドビューへの改造方法

サイドビューに改造するにあたって変更が必要なのは主に描画関係の処理です。ここではその辺のコモンイベントに少し付け加えたり、足りない機能がある場合は新しいコモンを追加する形で改造していきます。

追加するコモン

サイドビューの場合は主人公の画像を右側に用意する必要があります。そこで敵キャラの画像描画処理を改造して主人公用の画像描画処理を作成します。追加するコモンは次の通りです。

  • X[戦]主人公_座標算出:
    「敵キャラ座標算出」を改造したもの。主人公の画像の座標を決める。
  • X[戦]主人公_単体描画:
    「敵キャラ単体描画」を改造したもの。主人公の画像を表示したり、点滅させたり、消去したりする。

変更が必要なコモン

変更が必要なコモンの一覧は次の通りです。

  • 143:X[戦]主人公DB→戦闘DBコピー
  • 162:X[戦]敵対象選択実行
  • 163:X[戦]敵・味方行動対象算出
  • 164:X[戦]行動実行結果算出
  • 165:X[戦]┗単体処理
  • 175:X[戦]敵キャラ_座標算出
  • 190:X┣◆戦闘キャラ配置
  • 196:X┃┣◆行動可能判定
  • 201:X┗◆戦闘終了処理

どの部分を変更するか?

  • コモン143番では可変DBから主人公の画像を読み込み、それを戦闘一時ステータスに書き込む処理を追加します。
  • コモン162、163番では敵キャラを選ぶ順番を変更します(そのままだと、サイドビューにしたときに選択の順番が変になる)。
  • コモン175番では敵キャラを表示する座標を変更します。
  • それ以外のコモンでは、基本的には主人公の描画処理を各コモンに追加していく形となります。敵や味方欄の描画処理が書いてある部分を探して、そこに「主人公単体描画」などのコモンを追加します。かなりの数があったと思うので、漏れがないように検索機能を使って探していくのがいいと思います。

変更が必要なデータベース

コモンの他には可変データベースを少しだけ変更する必要があります。

  • 「主人公ステータス」に項目「戦闘時画像ファイル」を追加する。
  • 「戦闘一時ステータス」に項目「味方画像」を追加する。
  • 「基本システム用変数」に項目「味方表示 元座標X」「味方表示 元座標Y」「味方表示先 座標X」「味方表示先 座標Y」の4つを追加する。

サイドビューへの改造は比較的簡単だが…

基本システムをサイドビューにするのは描画処理をいじるだけなので、改造としては比較的簡単なほうだと思います。

しかし私みたいな初心者にとっては、基本システムの改造って説明がほとんどないので難しいですね(他人のコードを読むのは苦手です)。そもそも、まずどのコモンを改造すればいいのかを探すことからして面倒くさい。せめてコモンの呼び出し先とかが一覧で分かればいいのですが…。

そんなこんなでウディタを初めて触ってからもう4年は経つのですが、未だに基本システムの仕組みがよくわかっていない部分があります。かといって今さら解析するのも情報がなさすぎて面倒だと思うので、もし今後もウディタを使い続けるならシステムを自作したほうが早いかもと思ったりします。