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

最新の投稿

第3次スーパーロボット大戦 反撃命令による武器や行動選択の解析結果

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

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

 前回は「ホバー」の仕組みと戦闘時の背景呼び出しについて幾つか推論を述べていきましたが、その後実際に解析して判明した事がありますので、今回はそれについて少し記述していきます。

 まず背景のグラフィックですが、これはそのユニットのいる地形パネルを参照して先攻側、後攻側にそれぞれ対応するものを読み込んでいます。そしてそれぞれのユニットの存在している領域(「空中」であるとか「地上」であるとか「地中」であるとか)をチェックして対応する背景グラフィックのセットを書き込むという仕組みになっています。例えばこれが川の地形パネルの場合は「水中であれば川の中の背景のグラフィックに、そうでない場合はそれぞれの存在領域に対応したグラフィック(この場合は全て「空」の背景グラフィック)に、更に夕方や夜の場合は昼間の空から夕方の空や夜空に変更して書き込む」という仕組みです。そして「ホバー」は水の地形パネル上にいても「陸上」の領域に存在する事になっているのです。

 つまりホバーを導入する場合はこれを「水中であればそれぞれの水中グラフィックに、陸上(=ホバー)の場合は代わりにそれぞれ(昼・夕・夜)の水上グラフィックに、それ以外の場合は空のグラフィックに設定し、更に夕方や夜の場合は昼間の空から夕方の空や夜空に変更して書き込む」という仕組みにすればよいのです。しかし水系の地形には「深海」というものが存在し、水中のグラフィックが昼・夕・夜で共通した1つのIDしかないため、これもホバーに対応するには更に「深海かつ水中であれば水中グラフィックに、陸上(=ホバー)の場合は代わりにそれぞれ(昼・夕・夜)の水上グラフィックに、それ以外の場合は空のグラフィックに、更に夕方や夜の場合は昼間の空から夕方の空や夜空に変更して書き込む」という専用の処理を組み込む必要がありそうです。実際に深海が存在するマップは「日輪は我にあり」と「ノイエDC」の2マップだけで、かつこのマップはいずれも昼間の設定なので昼間の分だけ処理すればいいという考え方もありますが、後々になって自作シナリオなどを追加する際に深海の地形がある夕方や夜のマップを作るとなると不具合で頭を抱えることになりますので、やはりここはきちんと対応しておかないといけないのでしょうね。まあ開き直って水中の背景グラフィックで間に合わせるという手もありますが…。

 さて、これに付随して背景のグラフィック呼び出しやスクロールの仕組みも解析してみたのですが、これに関しては背景に使う各スプライトの速度やスクロールの方向をそれぞれ別々に読み込んで処理している事が判明しました。水上は草原と同じように空と雲をバックにして草原そのものの部分を水にすればいいと思いますので、新たに用意すべきは水面の部分の画像のみ、空や雲の部分の画像やスクロールの速度や方向はそのまま流用できそうです。しかし究極的に言えば戦闘アニメーションをスキップしてしまえばこれらの作業は全て徒労に終わるのでこれがゲームとしての面白さに繋がるかと言えばそうではないのがこの手の処理に関する毎度のジレンマなのですが、やはり拘りを持って作業はしたいところですね。

コメント

人気の投稿

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