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

最新の投稿

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

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

第4次スーパーロボット大戦 8M拡張ROMの処理速度についての感想

 以前、少しだけ触れた「8MBに拡張したROMの拡張領域(400000h以降)に置いたデータはBGMを中心に読み込みや処理速度が遅くなる気がする」という件ですが、やはり体感的に処理がもたつく場合が出ているように感じます。特に、再生速度が速めに設定されているBGMは時間経過と共に音が次第にずれていってしまうようです。気のせいであればいいのですが。

 こういう場合、SA-1などの特殊チップを搭載している作品のROMマッピングを参考に処理を改善するという方法もあるのだと思いますが、作業量を考えると現実的ではないので取り敢えずROMの埋め込み情報を見てみたところ、ROMの仕様が31(高速リニア)から35(低高速リニア)に変更されていました。どうやらLunar Expandというツールを使用してROM容量を8MBに拡張する際に自動的に書き換えられた様子なのですが、これを元の31に戻してみたところ多少はBGMのもたつきが改善されたように感じます。しかし問題がないわけではなく、元々のROM情報埋め込み領域の数値を31に戻す分には正常に起動しますが、拡張領域(408000~40FFFF)に存在するROM情報は35にしておかないとゲームが起動しなくなってしまうようです。

 それぞれのROM情報が異なる状態で長時間正常にプレイし続ける事ができるのかどうかまだ未知数なのですが、今のところ特に問題なく処理ができている様子なので、しばらくはこのままテストプレイを続けていこうと思っています。

コメント

人気の投稿

第4次スーパーロボット大戦 初期型ROMと後期型ROMの物理的な見分け方と入手方法

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