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

投稿

2025の投稿を表示しています

最新の投稿

第4次スーパーロボット大戦 地形適応のCOMPACTシリーズへの仕様変更案

 しばらく実生活での仕事が忙しく、何も手が付けられない日々が続いており大変申し訳ありません。戦闘BGM枠の拡張計画に関しては具体的に何をどう変更すればよいのか見当がついてはいるのですが、なかなか実行に移せない状態です。今のところ、この調子で6月か7月いっぱいまでの間は仕事の都合でなかなか時間が取れない予定です。  さて、何もできないのも面白くないので、今回は第4次スーパーロボット大戦のシステム変更の中で思いついたアイデアとして、機体の地形適応の仕様をCOMPACTシリーズ準拠にする方法について考察します。大半のスーパーロボット大戦での最終地形適応は「パイロットに設定された地形適応」と「機体に設定された地形適応」を合計したものが適用されるのですが、ワンダースワンで展開されたCOMPACTシリーズでは機体の地形適応のみが反映される仕組みになっています。これならば機体の特定の地形適応をAにする強化パーツを用意するだけでお気に入りの機体の地形適応を簡単に変更可能です。やり方としては従来の「パイロットの地形適応」を読み込む際にこれを「機体の地形適応」を読み込むように変更すれば簡単に実施できそうです。ただ、これを実際に実行するとパイロットの無個性化を招くのではないかと若干心配になります。しかしこれを実施する事によってパイロットのパラメーターウィンドウから地形適応を消し去る事が可能となり、同時に撃墜数の表示欄を移動させれば特殊技能の表示を3つから6つに変更できます。なかなかやりがいのある変更だと思うのですが、皆様はいかがお考えでしょうか?

第4次スーパーロボット大戦 地形適応のCOMPACTシリーズへの仕様変更案

 しばらく実生活での仕事が忙しく、何も手が付けられない日々が続いており大変申し訳ありません。戦闘BGM枠の拡張計画に関しては具体的に何をどう変更すればよいのか見当がついてはいるのですが、なかなか実行に移せない状態です。今のところ、この調子で6月か7月いっぱいまでの間は仕事の都合でなかなか時間が取れない予定です。  さて、何もできないのも面白くないので、今回は第4次スーパーロボット大戦のシステム変更の中で思いついたアイデアとして、機体の地形適応の仕様をCOMPACTシリーズ準拠にする方法について考察します。大半のスーパーロボット大戦での最終地形適応は「パイロットに設定された地形適応」と「機体に設定された地形適応」を合計したものが適用されるのですが、ワンダースワンで展開されたCOMPACTシリーズでは機体の地形適応のみが反映される仕組みになっています。これならば機体の特定の地形適応をAにする強化パーツを用意するだけでお気に入りの機体の地形適応を簡単に変更可能です。やり方としては従来の「パイロットの地形適応」を読み込む際にこれを「機体の地形適応」を読み込むように変更すれば簡単に実施できそうです。ただ、これを実際に実行するとパイロットの無個性化を招くのではないかと若干心配になります。しかしこれを実施する事によってパイロットのパラメーターウィンドウから地形適応を消し去る事が可能となり、同時に撃墜数の表示欄を移動させれば特殊技能の表示を3つから6つに変更できます。なかなかやりがいのある変更だと思うのですが、皆様はいかがお考えでしょうか?

第4次スーパーロボット大戦 爆発エフェクト設定変更パッチを公開しました

 第4次スーパーロボット大戦では、各機体の撃墜時の爆発エフェクトは機体データのBGM設定と一緒の部分(機体データの6番目)に格納されたサイズ設定とBGM設定に依存しているのですが、これをサイズやBGM依存ではなくそれぞれの機体毎にオフセットテーブルで管理・設定できるパッチを作成してみましたので、よろしければお使い下さい。各機体の撃墜エフェクト設定は3FE780以下のオフセットテーブルで変更可能です。オフセット設定は下位1バイトでマップ上での撃墜エフェクト(00=爆散、01=キノコ雲、02=黒い光+キノコ雲、03=黒い光+爆散、04=光の柱)、上位1バイトで戦闘アニメでの撃墜エフェクト(00=爆発しないまま戦闘終了、10=爆発、20=フラッシュ、40=光の玉)を設定可能です。  これにより、従来はBOSS属性BGMの機体でのみ使用可能だった光の玉による爆縮や、LLサイズ専用だった画面が真っ白になってフラッシュするエフェクトをサイズやBGM設定に関係なく設定できるほか、新スーパーロボット大戦以降の一部の生身ユニットに見られる「爆発しないまま戦闘が終了する」というエフェクト(第2次や第2次Gをイメージした方がよろしいかもしれません)が選択できるようになりますので、ドモンやマスター・アジアのような人間が直接戦闘する機体の再現もある程度違和感なく再現可能です(但し、マップ上ではどうしてもアイコンが消えるだけの「撤退」エフェクトが選択できず、第2次Gのマスター・アジアのように何かしらの爆発エフェクトを選択する必要があります)。ダウンロードは以下のURLから。ファイル解凍に必要なパスワードは「-c.r5m*9ncdj.Kwa」です。 https://ux.getuploader.com/retrogamelaboratory/download/101  次回は機体のBGMを機体依存から「パイロット依存パッチ」のようにオフセットテーブルで設定、かつ3F(64曲)まで設定できるようにするパッチを作成する予定ですが、これを作成すると従来のBGM継続パッチが全て使用不能になりますので、その点も含めると作業はそれなりに大掛かりになりそうです。欲を言えば「カスタムサントラパッチ」のようにディップスイッチでBGM設定をパイロットと機体で切り替え可能にするか、あるいは...

第4次スーパーロボット大戦 カスタムサントラパッチを公開しました

 お待たせしました。一通りのテストが完了しましたので「カスタムサントラパッチ」を公開しました。なお、使用にあたり重大な注意点や幾つかの作業がございますので、必ず最後までご一読下さい。 ※重大な注意点 作成したカスタムサウンド用のPCMファイルは自作のBGMデータから変換したもの以外は個人での使用に留めて下さい。 自作BGMデータによるPCMファイル以外はいかなる理由があろうとも絶対に配布しないようにお願いします。 このパッチを組み込んだ状態でのパッチの公開や配布を固く禁じます。 このパッチを組み込んだ状態でのプレイ動画の公開や配信を固く禁じます。  拡張領域の3FE9A0~3FECCFを使用します。事前に何らかの手段を用いてROMイメージを4M化して下さい。なお、RAMの7E1005のモノラル/ステレオ切り替え用ディップスイッチフラグを使用してサウンドの仕様を変更するため、「ステレオ/モノラル入れ替えパッチ」は使用できませんが、元祖「BGM継続パッチ」や拙作の「BGM継続パッチ(パイロット基準)」や「ジェノサイド・マシンパッチ」、「レベルアップジングル変更パッチ」は併用可能です。パッチ内容は以下の通りです。 BGMのモノラル/ステレオ設定の変更機能を廃し、強制的にステレオサウンド固定化する。 オプション画面やMAP画面のBGM設定のモノラル/ステレオ設定の項目が「ノーマル/カスタム」に変更される。 「ノーマル」モードは従来通りSFCの内蔵音源チップであるSPCによるBGMが再生される。 「カスタム」モードはSPCによるBGM再生の他に、任意のBGMの代わりに専用フォーマットのPCMファイルを再生させる事ができる。  カスタムモードが使用できるエミュレーターはSnes9x系列かBSNES系列のMSU-1チップをサポートしたものに限られます(これら以外は動作保証対象外です)。また、MSU-1チップ対応を公表しているPOLYMEGAやSuper Nt等の模倣ハードウェアでの動作は作者がこれらを所持していないため検証しておりません。カスタムモード用のBGMは3FEAC0以下のオフセットテーブルで設定可能です。このオフセットテーブルは通常BGMのIDとリンクしており、ここにPCMファイルと同じ番号(後述)を設定すればそのファイルをBGMとして使用可...

第4次スーパーロボット大戦 戦闘用BGM登録枠最大数の変更計画

 BGMをほぼ自在に差し替えできるようになった事で戦闘用のBGMを増やしたいのですが、皆様ご存知の通り、BGMそのものは全部で64曲(3F)、その中で戦闘用BGMとして使用できる枠は全部で32曲(1F)までとなっています。また、64曲のBGMのうち3曲分は常駐波形データの使用枠となっているため、実質的には61曲分しかBGMを使用する事はできません。このため、使われる場面が限定されるような曲やジングル扱いの曲は他のBGMやSEで代用すれば戦闘用BGMとして使用できる曲を増やす事(例えば「出撃準備画面のBGMをロード画面のBGMで代用する」、「ゲーム中断のBGMを『時を越えて』に差し替える」、「電源投入時のバンプレストロゴのジングルやレベルアップのジングルを使用しない」等)自体は可能です。しかしそれでもなお発生する問題が「戦闘用BGMは32曲までしか指定できない」という部分です。これは機体のユニットサイズおよび廃棄の可否と同じ項目で戦闘用BGMを設定している事に起因する制約で、単純に考えればどちらかの設定方法を変更すれば何とかできそうです。そこで、戦闘用BGMの設定枠を増やせるようにする改変を行ってみようと考えています。まだ具体的にどうするか決めてはいないのですが、基本的にはBGM設定側を生かす方向にし、サイズ設定や廃棄可否の設定は機体設定の項目の別の部分の上位、或いは下位のバイトで空いている箇所を探してそちらで処理するか、それともサイズ設定自体をなくしてしまう(第4次スーパーロボット大戦におけるサイズ設定は単純に大きい程回避率が不利になるという、オーラバトラー以外にはあまり意味を為さない項目であると思います)という方法を取る予定です。こうする事で戦闘用BGMの設定枠を最大で32曲ではなく64曲分までフル活用できますので、様々な機体やパイロットに専用BGMを設定できるようになるのではないでしょうか。

第4次スーパーロボット大戦 カスタムサントラモード完成

 不具合修正や各種動作チェックも完了し、ようやくカスタムサントラモードの実装が完了しました。オプション画面やマップ画面のBGM設定を「ノーマル」にすればデフォルトの楽曲が再生され、「カスタム」にすれば任意のBGMを自分で用意した楽曲と差し替える事が可能です(どちらのモードでも再生される楽曲は強制的にステレオ出力になります)。また、動画の通りBGM継続パッチにも対応し、カスタムモードで差し替えた楽曲はバイナリエディタやBNE2で楽曲ごとに音量とループの有無の設定が可能です。カスタムサントラモードはMSU-1チップをサポートした一部のエミュレーターやフラッシュカートリッジ(Snes9xやbsnes、FXPAK PROなど)でのみその機能を使用できますが、ノーマルモードであれば他の環境でも問題なくプレイ可能(カスタムモードにするとBGMが再生されないだけ)です。  今回は事前の知識としてBGM継続パッチやサウンドドライバ、BGMにSE周りのシステム関連の解析を行っていたので割と容易に実装可能となりましたが、作業量やデバッグの手間を考えるとその時間を他のリソースに割く方が賢明に思えます。また、PCMファイルの配布も様々なリスクが付きまとう事を考えると、何か余程の事がない限りMSU-1関連のパッチ作成は他のタイトルでは積極的にやりたくはないというのが本音ですね。

第4次スーパーロボット大戦 ジェノサイド・マシンパッチ改を公開しました

 以前公開していた「ジェノサイド・マシンパッチ」(敵フェイズの戦闘BGMを「ジェノサイド・マシン」に固定化するパッチ)の改良版を作成しました。以前との違いは「レベルアップジングル変更パッチ」の要素を組み込む事により、BGMが途切れる事なく再生できる点とレベルアップ時の処理速度が向上する点です。その他には特に変更点はなく、ボス属性の機体に搭乗した敵ユニットとの戦闘ではボス属性のBGMが優先されるのもそのままです。ダウンロードは以下のURLから。ファイルの解凍パスワードは以前と同じですので、そちらの記事をご参照下さい。 https://ux.getuploader.com/retrogamelaboratory/download/99

第4次スーパーロボット大戦 続・PCMファイル再生パッチ作成の進捗状況と課題

 MSU-1を使用したBGMファイル再生パッチですが、テストを重ねたところ色々と不具合が見つかってしまい作業が難航しています。最初に難航したのは安定したBGM再生ができないという不具合でしたが、これは主にMSU-1のコマンドパラメーターを書き込むRAMの選定箇所が問題だった(未使用領域だと思っていた場所が実際には使用領域だったためコマンドパラメーターが上書きされてしまう)事が判明し、コードの記述が長くなるのを覚悟で未使用と思われる普段のパッチ作成では使用しないRAM領域に一時データを収める事で解決しました。しかしこれだけではまだまだ問題が解決していません。現状では以下のような課題が残っています。 モノラル/ステレオフラグを使用する事でBGMのSPC/MSU切り替えが可能になったが、これによりBGMを強制ステレオ化(或いは強制モノラル化)する処理が必要。 MSUモードの状態でサウンドテストを使用し、選択したBGMをそのままの状態で再度選択するとそのBGMが頭から再生されない、または無音になる。原因は不明(但し、別のBGMを選択した後であれば問題なく再生は可能)。拘るのであれば強制的にBGMを再度再生するためのサブルーチン作成が必要か? MSUモードの状態でカラオケモードを選択すると正常に歌詞が流れない(戦闘アニメーションだけが流れ続け、何かボタンを押せばキャンセル扱いでカラオケモードが終了する)。拘るのであればカラオケ画面読み込み時に強制的にSPCモードにし、カラオケ画面から抜ける際に直前のモードフラグを復帰させる機能が必要。 MSUモードからSPCモードへの切り替え時に、画面切り替え等で次のBGMが再生されるまでの間は無音の状態になってしまう(逆の場合は次のBGMが再生されるまでMSUのBGMが流れ続ける)。モード切り替え時に2006(MSUボリューム)を強制的に0にする処理をしている事が原因であるため、SPCでのBGM再生時のサブルーチン内部に2006を0にするコマンドを組み込めば解決できるのではないか。 MSUモードでサウンドテストを選択して一度サウンドテストから抜け、SPCモードに切り替えてそのまま再度サウンドテストを選択すると楽曲の選択タイトルが強制的に一番目のもの(時を越えて)になってしまう。逆の場合はこのような現象は発生しない。  これ...

第4次スーパーロボット大戦 PCMファイル再生パッチ作成の進捗状況と課題

 MSU-1チップ導入によるPCM音源再生パッチの進捗状況ですが、やはり当初思っていたよりも難解な技術というものではなく、割と簡単にMSU-1チップを介してPCMファイルを読み込み・再生する事に成功しました。しかし問題がない訳ではなく、特定のエミュレーターでしかMSU-1チップを組み込んだROMイメージが正常に動かず(具体的には現状で対応しているのはbsnes-PlusとSnes9xの2種類のみ)、それ以外のエミュレーターや実機でROMイメージを起動させるとゲーム自体はプレイできるもののBGMが再生されなくなってしまいます。これはMSU-1チップがあくまで発案者による架空の存在であるためこのチップに対応するプログラムが組み込まれたエミュレーターでないとPCM音源が再生されない(というかハードウェアレジスタンスが無効となりMSU-1チップを認識しない)ために起こる不具合です。つまりMSU-1チップを組み込んだROMイメージは嫌でも指定のエミュレーターでしかまともにプレイできなくなるという問題が生じる事になり、SNESGTをメインに使用する私としては少々モチベーションが下がってしまう思いです。  さて、PCM音源再生パッチを作成したはいいのですがもう一つの問題があります。それは「カラオケモードで字幕が一切先に進まなくなる」というものです。カラオケモードはSPCデータの内容とリンクして文字が切り替わる仕組みになってるので、PCMファイルでBGMを再生させた場合はこれが成立しなくなってしまうために起こる不具合です(不具合といっても字幕が更新されないだけでフリーズしたりする訳ではなく、キャンセルしたり本来のBGMの長さと同じだけの時間が経過すればカラオケ画面から曲目選択メニューに戻る事は可能です)。解決方法としては二つあり、一つはプランA「諦めて放置するかカラオケモードに入れないようにロックを掛ける」、もう一つはプランB「カラオケモードのカラオケ画面に入る際にカラオケモードフラグをONにし、このフラグが立っている間だけ本来のサウンドドライバによるSPCモードのBGMが再生されるように処理を切り替え、カラオケ画面終了と同時にフラグをOFFにする」というものです。作業としてはどう考えてもプランAの方が楽なのですが、折角なのでプランBが実際に実現可能なのか試してみ...