反撃命令による武器選択の基準がよく分からないと言われているSFC版第3次スーパーロボット大戦ですが、反撃命令の設定箇所をざっと解析してみたところ、それぞれの命令で使用武器の選択基準が違っている事が分かりました。大まかな内容ですが、基本的には以下のような基準で反撃武器や行動を選択しています(なお、原則として敵軍やNPCのパイロットは「必ず反撃せよ!」に設定されています)。 「必ず反撃せよ!」は、残弾や残りENにかかわらず命中率が1%以上ある最強の武器を選択。その武器の命中率がゼロになる場合は、次に威力が高く命中率が1%以上ある武器を選択するという思考を繰り返す。どうしようもない場合は命中率がゼロでもとにかく現状で使用可能な最強の武器を選択する。これに合致する武器がない場合は反撃不能扱いになる。弾切れや射程外からの攻撃には何もしない。先攻側の攻撃でHPがゼロになると判断しても反撃を試み、それができない場合は反撃不能扱いとなる。原則として武器選択の際に相手の残りHPは考慮しないため、反撃相手のHPが仮に残り1であろうとも最強の武器で反撃する。前述の通り、敵軍やNPCは原則としてこの命令が設定されているため、回避力(=パイロットの反応と操縦と直感の総和に機体のサイズ補正を適用した数値)が低いユニットは威力重視の武器で反撃される事が多い。残弾やEN消費も気になるところだが、分身持ちであるゲッター2系やF91であればこの命令を活用できるかもしれない。 「積極的にいけ!」は、相手が一撃で倒せる場合は命中率が1%以上ある最強の武器を選択。但し、その武器の残弾が残り1だったり、その武器を使用してもう一度使用できるだけの残りENがなくなる場合は使わず、次に威力が高く命中率が1%以上あり、かつ残弾が残り2以上か現在のENで二回以上使用できるEN消費武器を選択するという思考を繰り返す(EN消費武器に関してはたまに例外あり)。どうしようもない場合は弾切れ、またはEN枯渇にならない命中率がゼロの現在選択できる最強の武器を選択する。これに合致する武器がない場合は反撃不能扱いになる(そのため、条件を成立させれば弾切れでなくともパイロットが弾切れの台詞を吐く姿を拝める)弾切れや射程外からの攻撃には何もしない。。相手を一撃で倒せない場合の思考も同様。やはり原則として武器選択の際に反撃相手...
以前、少しだけ触れた「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情報が異なる状態で長時間正常にプレイし続ける事ができるのかどうかまだ未知数なのですが、今のところ特に問題なく処理ができている様子なので、しばらくはこのままテストプレイを続けていこうと思っています。
コメント
コメントを投稿