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

投稿

6月, 2024の投稿を表示しています

最新の投稿

ファミコン版天地を喰らう 軍師キャラの隊列変更阻止について

 天地を喰らうシリーズは策略を使うにあたって「軍師」に任命された武将がいないと使用不能になるのですが、軍師に任命された武将は戦闘が開始されると隊列の一番後ろに配置され、隊列が6人以上になると直接戦闘に参加できなくなるというシステムになっています。これがいわゆる文官タイプ(武力や兵士数が低く知力が高い傾向の武将)であればまだいいのですが、劉備や馬謖や姜維のように文武両道の武将を軍師に任命する必要がある場合は事情が変わってきます。そこで、軍師に任命した武将がどのような処理で隊列の一番後ろに回されてしまうのか調べてみました。その結果、大まかに言うと「戦闘開始時にまず隊列の人数をチェックし、6人未満である場合は各武将の状態をチェックし、正常であれば隊列の位置そのまま、それ以外の状態の武将は隊列の最後尾に変更する。6人以上の場合は軍師を隊列の最後尾に移動させるが、負傷中の武将がいる場合は更に軍師の後ろに配置する」という処理内容でした。ここで言う武将の状態は「00=負傷中(戦闘不能)、40=軍師、80=正常、C0=正常かつ軍師」の4種類で、この処理内容を変更すれば軍師に任命した武将も隊列の変更がないまま戦闘に参加できそうです。つまり「隊列が6人以上でも6人未満でも武将が正常な状態であれば隊列の位置そのままを維持し、負傷中の武将のみ隊列の最後尾に変更する」とすればよいのではないでしょうか。この仮説を基に改変を行い、成功すればパッチとして公開する予定です。

第4次スーパーロボット大戦 アモンデュール・スタックについて

 原作のエルガイムMk-Ⅱは鹵獲…というか強奪したポセイダル軍の試作機「アモンデュール・スタック」にエルガイムのパーツやブラッドテンプルの頭部を移植して完成させた機体ですが、第4次スーパーロボット大戦では唐突にアマンダラから譲渡される(一応はダバ達がペンタゴナに置いてきてしまったものをアマンダラが持ってきたというニュアンスになっていますが)という形で入手するので、入手の経緯が何とも不自然に感じます。そこで原作と同様にアモンデュール・スタックに搭乗したギャブレーを敵ユニットとして登場させ、これを撃墜して先にアモンデュールを入手するというイベントを追加してみるのはどうでしょうか。ひとまずアモンデュールを入手したものの、破損が酷く修理に必要な部品が揃わないのでしばらく放置しておいたものをアマンダラから譲渡されたHMの部材などで修理のついでにカスタマイズした機体という設定にすれば、多少は不自然さが薄くなるのではないかと思います。また、アモンデュールはプローラー形態にも変形可能なので、念のためこれも用意しておけば後半戦の敵ユニットとしてのアモンデュール・スタックも出現させる事が可能になるはずです。エルガイム系の敵ユニットはとにかく後半戦で尻すぼみになる印象が強いので、もう少しテコ入れをしてやりたいところですね。

第4次スーパーロボット大戦 レベルアップ時のBGM中断回避

 レベルアップ時に再生されるファンファーレというかジングルですが、これはSE(=効果音)ではなくBGM(=曲)扱いのため、直前にSPC内で再生されているBGMデータが上書きされていまい、ジングルの終了後に改めて7E0076にリザーブされていたIDのBGMが再生され直す仕様になっています。そこで今回はこのジングルをSEに変更する事でBGMが上書きされる仕様を回避してみる事にしました。  とはいえジングルのBGMをSEに変換するのはサウンドドライバやチャンネルなどの仕様上不可能と判断し、既存のSE(回復系の行動で再生されるID:0044)でこれを代用してみました。この変更によりマップBGM(BGM継続パッチ適用時であれば再生中の戦闘BGM)が中断される事なくレベルアップ告知の表示が可能です(なお、技術的には経験値入手の処理と同様にジングルやSEを再生させないようにする事も可能です)。再生されているBGMの内容によってはややSEが聞き取りにくいのが難点ですが、ついでに本来は間をおいて表示されるレベルアップ告知ウィンドウが経験値取得ウィンドウと同時に表示されるようにしていますので、ゲームスピードはやや向上しています。これに需要があるかどうか不明ですが、この仕様に変更するパッチも作成しましたので、以下のURLからダウンロード可能です。ファイル解凍に必要なパスワードは「i(4FQy_$kks$)XEE」です。 https://ux.getuploader.com/retrogamelaboratory/download/89

第4次スーパーロボット大戦 グロッサムX2

 今回の追加ユニットはグロッサムX2です。スーパーロボット大戦シリーズでの登場はあまり多いとは言えず、更に原作での強さの割にゲームでの戦闘力はどうにも振るわない感じになってしまっていますが、ある意味貴重な敵方の水中戦特化型スーパーロボット枠なので強めに設定してやってもいいような気がします。今回は原作のホーミング魚雷の代わりにホーミングミサイルを、必殺武器として漫画版で使用していた超高熱ビームを実装してみました。超高熱ビームのアニメーションは熱線砲などの赤い帯状のエフェクトを流用しましたがしっくりこないので、赤いメガ粒子砲や冷凍ビームを赤くしたものを用意するかゲッタービームを流用した方がいいかもしれませんね。

第4次スーパーロボット大戦 ゾック

 タイトルの通りですが、今回はゾックを追加してみました。第3次やEXと比較して第4次水辺での戦いとなるマップでは敵軍の構成が飛行可能なユニットばかりという印象が強いので、こうした水中戦闘が得意な機体を敵軍に登場させる事で自軍側の戦い方のワンパターン化を防げるのではないかと思います。同じような要領でカプールやグロッサムX2などの機体も追加していく予定ですが、そうなると自軍にもゲッター3やマリンスペイザー以外の水中型の機体が欲しいところです。ガンダム系であればマリンハイザックやメタスマリナー、水中型ガンダムなどが候補になると思われますが、水中用の機体は水中以外での活躍が見込めないのが厳しいところです。

第4次スーパーロボット大戦 ヘッダ追加による「ゲッターロボ!」の音質向上

 今回は「ゲッターロボ!」のBGMデータにヘッダを追加してみました。劇的にという訳ではありませんが、若干ながら音質がクリアになったと思います。全てのBGMデータをチェンく知ったわけではないのですが、基本的に第3次やEXから持ち越しとなっているBGMに関しては新型ウィンキーソフトBGMフォーマット用のヘッダが付いていないようです。これらのBGMデータにヘッダを付与していけば音質の向上ができると思うのですが、ヘッダだけでも0030h~0036h分の容量を使用するのでそこそこ面倒な作業ではあります。また、これらの変更を加えたBGMが実機できちんと再生されるかどうかは未知数なので、そのあたりの調査も進めていきたいところです。

第4次スーパーロボット大戦 ヘッダ追加による「マジンガーZ」の音質向上

 第4次スーパーロボット大戦のBGMデータのいくつかは、第4次用に用意されたサウンドドライバ用のフォーマットではなく下位互換データとして収録されています。「マジンガーZ」もその一つで、第4次や魔装機神、バトルロボット烈伝といった後期ウィンキーソフトフォーマットのBGMデータの最大の特徴である「ヘッダ」が付与されていません。そこでこれらのデータに第4次フォーマット用のヘッダを追加して音質を向上できないか試みてみました。結果としては音がクリアになりすぎたりエコーが強くなってしまうなど一概によくなったとは言い切れませんが、ヘッダ追加前よりも若干の音質向上ができたのではないかと思います。同じような要領で「ゲッターロボ!」をはじめとした第3次やEXから使用され続けてきたBGMデータの音質を向上できるはずなので、折を見て作業をしていこうと考えています。

第4次スーパーロボット大戦 BGM継続パッチ(パイロット基準版)の更新とジェノサイド・マシンパッチを公開しました

 久々にBGM継続パッチ(パイロット基準版)の更新を行いました。他のパッチとの組み合わせでレベルアップ時に不具合が発生するという一部の方からのご要望にお応えして参照RAMを変更していますが、それ以外にはこれといった仕様変更はしていません。ダウンロードは以下のURLから可能です。なお解凍パスワードは前回の更新時と同じですので、そちらの記事をご覧下さい。 https://ux.getuploader.com/retrogamelaboratory/download/87  さて、ここからが今回の本題になります。YouTubeのコメントをはじめ一部の方から何度かご要望のあった「敵フェイズの戦闘中は第4次Sと同様に戦闘BGMを常にジェノサイド・マシンにできないか?」という課題ですが、これに関してもパッチを作成しました。仕様の都合で従来のBGM継続パッチと同時使用はできませんが、自軍プレイヤーユニットと自軍NPC以外の敵フェイズ時、かつ双方がボス属性でない場合に限り「ジェノサイド・マシン」が戦闘BGMとして適用されるようになります。つまり自軍フェイズ時はボス属性のユニットの場合を除きパイロット側のBGM設定を基準に戦闘BGMが再生され、敵軍フェイズ時はボス属性のユニットの場合を除き「ジェノサイド・マシン」が戦闘BGMとして再生されるというわけです。今のところ特に不具合は見つかっていませんが、十分なテストをしたわけではないので何らかの不具合があるかもしれません。ダウンロードは以下のURLから可能です。こちらの解凍パスワードは「_cz,N3dhP$5_」です。 https://ux.getuploader.com/retrogamelaboratory/download/88  BGMの切り替えの仕様は第4次Sにかなり近くなっていますが、敵軍のマップBGMはマップの設定通りのBGMが使用され、ボス属性の自軍や敵軍のユニットの戦闘時にはその機体に設定されたBGMに切り替わるという点において第4次Sとは異なります。また、本来はマップ用BGMである「ジェノサイド・マシン」はそのままの状態で戦闘BGMに適用すると一部のSEが正常に再生されないため、多少ですが波形スロット定義に変更を加えました。これにより未使用領域を使用しています(237FD0~237FDF)の...

第4次スーパーロボット大戦 GP01ゼフィランサス

 今回は「GP01ゼフィランサス」を追加してみました。恐らく正式名称は「ガンダム試作1号機」で、劇中でも1号機と呼ばれているのを踏まえてかスーパーロボット大戦α以降の作品では「ガンダム試作1号機」の名称で登場していますが、個人的には何だか味気ない名前に感じてしまうのでやはりGP01名義の方がいいように感じます。GP01Fbとの差別化のため武器は今のところビームライフルとビームサーベルとバルカンとビームガンという基本的な装備にしていますが、使いにくく感じるようであればハイパーバズーカやモンシアとの模擬戦で使用したマシンガンあたりを追加しようと考えています。  なお、今回の動画では戦闘BGMが不自然に切り替わりますが、これはYouTubeでのコメントで頂きました「第4次Sのように敵フェイズ時にジェノサイド・マシンを固定化できないか?」というご要望の実験中のためです。従来のBGM継続パッチから変更した内容としては「先攻側の機体、あるいはパイロットが敵軍に所属しており、かつ優先BGM=ボス敵用のIDでない場合には固定値としてジェノサイド・マシンのIDをRAMに書き込む」という処理を組み込んだはずなのですが、使用しているRAMの領域がまずいのか、あるいは処理プログラムにミスがあるようでご覧の通り中途半端に自軍側のユニットのBGMが切り替わる事態になってしまっています。再度処理内容を確認したうえでこの仕様を実現できるように試みるつもりです。

第4次スーパーロボット大戦 バルブド

 今回はエルガイム系の少々強いザコ機体要員として「バルブド」を追加してみました。需要があるかどうか分かりませんが、中盤以降でポセイダル軍の一般兵が乗ってくる機体がどうしても不足してしまう事態を防ぐにはやはりバルブドを出すのが一番だと思います。武器はセイバーとパワーランチャーしかありませんが、原作の設定に準じてA級HM並みの高いパラメーターと威力の高い武器にすれば、アローンやグライアよりも厄介ですが特殊な武器がない分対処しやすい相手にできるのではないでしょうか。

第4次スーパーロボット大戦 グスタフ・カール(映像作品版)

 前回の予告通り、今回は映像作品版のグスタフ・カールを追加してみました。原作版のグスタフ・カールは細身のガンダム然とした姿ですが、映像作品用にリニューアルされたデザインは武骨でミリタリーテイスト溢れる姿となっているので原作版とはまた違った魅力があります。グラフィックはもう少し横に広い方がいいのかもしれません。戦闘アニメーション自体は原作版とほとんど同じですが、実際に敵軍の機体として登場させるのであれば原作版はエースパイロット用に、映像作品版は一般兵用というような使い分けをしてみるのも面白いのではないでしょうか。次回のモビルスーツはギラ・ドーガ重装型やジム・キャノンⅡ、スタークジェガンといった渋めの量産機に挑戦してみたいと思います。

第4次スーパーロボット大戦 グスタフ・カール(原作版)

 第4次スーパーロボット大戦に関しては一時期モチベーションが保てなくなってしまったため放置していましたが、ようやく多少やる気を取り戻してきたので今回は原作デザイン版のグスタフ・カールを追加してみました。カラーリングは青や緑の方がいいような気もしますが、とりあえず今回はグレー系の塗装にしてみました。なお、BGMに関しては事前に確認と許可を取ってHertzDevil様作成による「その名はマフティー・ナビーユ・エリン」のSPCデータをROMに書き込んで使用しています。  グスタフ・カール自体は原作の戦闘では単なるヤラレメカ以上の活躍はしていないのですが、別の意味では非常に大活躍しているので治安維持部隊の機体などとして使用すると生かせそうな気がします。また、GジェネレーションF以降で使用されているデザインのグスタフ・カールのグラフィックも準備していますので、こちらも近いうちに公開予定です。

スーパーファミコンのLoROMイメージのHiROMイメージ化について

 キャプテン翼4や紋章の謎などの各種データ拡張のためにROMイメージの大型化を検討していましたが、LoROM特有の面倒な仕様=8000h単位でバンクが切り替えられてしまうため、大きなデータを移設するには色々と不自由していました。そこで、ふとした思い付きからROMイメージの仕様そのものを変更できないかと試みてみました。簡単に言えばLoROM仕様のROMイメージをHiROM化する事によりバンク切り替えの仕様を8000h単位から倍の10000h単位にしてしまおうという訳ですが、各種プログラムを移動させるとアドレスアクセスのためのデータを全て変更しなければならず、さすがにそれは面倒なので試しに元のLoROMの各バンク8000h毎に8000h分の空データ(=全て「00」や「FF」で埋めたダミー)を挿入し、これにより各アクセスアドレスを変更する事なくデータ位置を変更し、なおかつROMヘッダの15h(00FFD5)に+01してHiROM化してみました。これで理論上はアクセスデータのアドレスを変更する必要はない事になります。  これによりROM容量は元の倍の容量になってしまいましたが、1.5MBのキャプテン翼4(変更後は3.0MB=24メガバイト)や2.0MBのキャプテン翼5(変更後は32メガイト)はLoROMではなくHiROMとして認識され、かつ本来はメモリマップ上の領域が変更されるはずのSRAMも正常に読み書きがされました。なお、変更前に3.0MBだった紋章の謎は6.0MB(=48メガバイト)に拡張したところ残念ながら正常に起動しませんでした。エミュレーターによるのかもしれませんが、どうやら拡大後のROMイメージが4MB=32メガバイトに収まり、そしてSRAMの容量が8KBのように小さければLoROMの状態でもHiROMの状態でも問題は起こらないようで、正常にROMの中身が所定の位置にメモリマッピングされています。そしてこれを実行した後でメモリの状態を調べてみると、どうやらの400000~7DFFFFはROMの中身の常にLoROMの状態=つまり下位アドレス状態で408000から10000h単位で展開されており、上位アドレス(4000000や500000)には何も書き込まれていません(=「00」の状態)でした。ROMの上位アドレスに書き込んだデータはC00000...