スキップしてメイン コンテンツに移動

最新の投稿

第4次スーパーロボット大戦 戦闘アニメーション数拡張パッチの作成計画

 ご無沙汰しております。リアルの生活でかなり忙しい日々が続いており、なかなか各種コンテンツの更新ができず申し訳ございません。正直なところ新たなメンバーを迎えて様々なソフトの解析やパッチ作成などを充実させていきたいのですが、そういう訳にもいかないのが現状です。  さて、本題に入ります。第4次スーパーロボット大戦の戦闘アニメーションは本来512種類、予備のオフセット絶対値を使用すれば最大で1,024種類まで作成できるのですが、恐らくROM容量の関係で本来のオフセット領域にまで戦闘アニメーションのデータを書き込んでしまっています。このため、私は戦闘アニメーションのデータそのものを拡張したROMの空き領域に移して仕様変更しています。また、戦闘アニメーションで使用するSEに必要な波形データ設定のオフセットテーブルも拡張して512種類まで設定できるようにしていますが、これを1,024種類に拡張するにはプログラムそのものを書き換える必要があります。これを書き替えなかった場合、513番目の戦闘アニメーションには1番目の戦闘アニメーションの波形データが、514番目に戦闘アニメーションには2番目の戦闘アニメーションの波形データが…というように適用されていきます。それはそれで同じ内容の色やオブジェクト違いの戦闘アニメーションを量産する際に便利なので敢えて書き換えないという方法もありますが、それはさておきこれらの拡張データを設定できるようにしたパッチを作成しようと検討しています。しかし戦闘アニメーションの拡張や作製に関する関心や研究はSFC版スーパーロボット大戦のロムハック界隈ではほぼ皆無なので、そこまで熱が上がらないのも事実ではあります。実際問題として戦闘アニメーションのスクリプトやアニメパターンコードの調査をしているのは私の知り得る限りTileViewerの作者様、友人が三名、そして私の計5名しか心当たりがありません。これは武器数数拡張パッチがいまひとつだった事から、そもそも武器の種類やアニメーションの数はさほど重要ではないという事実の裏返しなのかもしれませんね。  とりあえず、私が使用しているROMと同じようにオフセット領域の拡張や各種スクリプトデータの移設と仕様変更、そして一部の武器アニメーション(ビームサーベルやビームライフル、ビーム砲など)の色違いアニメーションを組み込んだもの

第4次スーパーロボット大戦 移動タイプ「ホバー」の課題

 スパロボ系総合バイナリスレのとある匿名解析者の方によって考案され、その後ペシェ氏の「第4次ティターンズ大戦+」というハックロムでも採用された移動タイプに「ホバー」というものがあります。内容としては砂地の移動コストを少なくしたり海や川などの水上を陸上と同じように移動できるというもので、空を飛ばずに移動の幅が広げられるというなかなか面白い試みです。しかし元々の仕様として水上での戦闘が想定されていないため水上では戦闘の際に表示される背景が空になってしまうという欠点があり、残念ながら完全なものとは言えません。そこで今回はこの欠点の解決策を考えてみようと思います。

 さて、そうは言ったものの地形データの参照方法や背景グラフィックの呼び出し、及び読み込み方法について詳しく解析をしているわけではないので、これから述べる内容はかなりの推論を含んでいます。その点に関してはご了承願います。

 まず戦闘背景の呼び出し方法ですが、戦闘開始時に先攻側と後攻側の地形パネルIDを参照し、そのうえで「地中、水中、陸上、上空のどの場所にいるのか?」という「存在の要素」をチェックした後に背景データをRAMに書き込んでいます。これがホバーの場合は水系地形IDのパネルの上でも常に存在場所が陸上扱いになってるのですが、水中以外では強制的に背景データを「00=空中」に設定しているのだと思われます。色々と試してみたところ地中や空中は強制的に戦闘背景を空中にしてしまうようなので、これと同じ要領で水上も空のグラフィックになるのでしょう。夕焼けや夜はパレットによる差分方式の別IDになっており、これに関してはRAM上に昼間や夕方や夜、月や火星などの設定をしている箇所があり、これをスイッチとして各背景のIDを変更しているようです。

 次に戦闘背景ですが、デバッグモードで戦闘背景のグラフィックを確認すると結構使われていないIDが目立ちます。ここに写真(スーパーロボット大戦EXの水上の画像)のような専用のグラフィックを設定してやれば、割と背景自体を増やす事は可能なように思えます。簡単に言えば、草原の背景の空と雲を残し、その代わりに草原そのものの部分に水上の画像を書き込めば手軽に水上の背景が作成できるのではないでしょうか。もっとも、この方法では草原の背景がなくなってしまうので、草原のタイルをコピーして別途水上のグラフィックを書き込む必要があります。そして、戦闘開始時に特定の地形パネルIDにいる時かつ陸上判定だった場合は新たに作った水上の背景を呼び出すという処理を設定すればよいのです。あくまで推論なのでこの方法で本当に上手くいくのかどうかは未知数ですが、試してみる価値はあると思います。現状では私はホバーの設定を取り入れる予定がないのでホバーに関してこれ以上の解析をするつもりはありませんが、これを利用して特定の武器や機体で特別な背景を呼び出すという事ができればなかなか面白い事ができるかもしれませんね。

コメント

人気の投稿

第4次スーパーロボット大戦 武器数拡張パッチを公開しました

キャプテン翼4 レベル補正変更パッチを公開しました

第4次スーパーロボット大戦 改造コスト&改造数値分岐パッチを公開しました