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

投稿

最新の投稿

第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次スーパーロボット大戦 戦闘アニメーションにおける召喚攻撃の表現方法と課題

 スーパーロボット大戦D以降で急速に増えていった「他の機体を呼び出して戦わせる武器(=召喚攻撃)」ですが、一応は第4次でも表現可能です。端的に言うと上の写真の「スクランダーカッター」の攻撃アニメーションのように「機体とは別のグラフィック」を「ミサイルやビームが表示されるスプライト領域」に表示させればいいのです(これはスプライトが切り替わる瞬間の写真で、この後マジンガーZの機体グラフィックは画面上から消えて、ミサイルなどを表示するスプライトに書き込まれたスクランダーカット状態のマジンガーZのグラフィックが画面外に向かって移動していきます)。これにより、現在戦闘している機体とは別の機体のグラフィックを表示させる事ができるという寸法です。また、両方のグラフィックをそのまま表示させておく事も可能なので、ダブルマジンガーブレードのような簡単なアニメーションの合体攻撃であれば演出自体を再現する事はそんなに難しくはありません。  ただ、この手法の問題点は地面や水中で戦う場合に足元の影を表示できなかったり、移動の際にスモークやスラスターの噴射炎が表示できないという事です。これに関しては今のところミサイルのグラフィックのように「呼び出された機体のグラフィックに直接影なり噴射炎なりスモークなりを書き込んでアニメーションさせる」という方法しか見つけていません。実は私が以前作ったゲッタービジョンのアニメーションも直接ゲッター2の機体グラフィックを動かしているわけではなく、敵側の画面に切り替わると同時にミサイルのスプライトに書き込んだ「ゲッター2のグラフィックの武器」の攻撃アニメーションを動かして分身攻撃を行っているのです(そのためゲッター2の足元に影が表示されていない)。同じような方法でジェットストリームアタックやトリプラーのような連携攻撃も表現可能ですが、現状では影をどうする事もできないのが大きな課題です。しかし、この方法で別グラフィックを表示させているはずのサンアタックやグランダッシャーでは影が表示されている事を考えると、実際にはスモークや噴射炎はともかく、影だけはどうにかできる方法があるのだと思います。この辺りについてはもっと解析が必要ですね。

第2次スーパーロボット大戦G イベントコード調査続報その3

 第2次Gのイベントコードを解析してみました。前回の内容にプラスして新たなコードがいくつか追加されています。また、解釈を誤っていたと思われるコードの解説も変更しています。調査中のコードに関しては詳細が判明次第内容を公開する予定です。  0x0003 ウェイト。 03 xx yy         xx yyは待ち時間。 指定した時間だけコントローラーの操作受付を禁止。 0x0004 指定アドレスにジャンプ。 04 xx yy xx yyはROM(RAM)内のアドレス。 経過ターンによるイベント制御の際はEDと組み合わせて「ED zz 04 xx yy」となる。 0X0020 ??? 20 xx         調査中。 0x0049 BGMの終了。 49 xx xxはBGM番号。 指定したIDのBGMの再生を終了してF6で変更する前のBGMに戻す。 0x0060 ??? 60 xx 調査中。 0x0080 コントローラー操作を受け付け開始。 80 コントローラーによるボタン操作や十字キー操作などを受け付けるようにする。 0x0081 イベントページの終わり。 81 現在のイベントページの実行を終了して次のイベントフェイズに移行。 インターミッションであればマップイベント開始、 マップイベントであればアウターミッション、 アウターミッションであれば準備画面。 0x0084 パイロット参入。 84 xx yy xxはパイロットID。yyはレベル。 0x0085 機体入手。 85 xx xxは機体ID。 0x0086 パイロット離脱。 86 xx xxはパイロットID。 SRAMから指定したパイロットを削除する。 0x0087 機体離脱。 87 xx xxは機体ID。 SRAMから指定した機体を削除する。 0x0088 強制乗り換え 88 xx yy xxはパイロットID、yyは機体ID。 指定したパイロットを指定した機体に乗せるコマンド。 ガンイージの様に同じ機体が複数ある場合は入手した順に乗り換える。...

第4次スーパーロボット大戦 未使用武器アニメーションや未使用戦闘背景など

  割と有名な話ですが、第4次スーパーロボット大戦には「ハイファミリアが火の鳥をばら撒く」という内容の未使用戦闘アニメーションが存在します。未使用ながら非常に出来がよく、後の「魔装機神 THE LORD OF ELEMENTAL」に登場した「セルーション」という武器を彷彿とさせます(というか、これをベースにセルーションを作ったのかもしれませんが)。未使用の戦闘アニメーションは残念ながら(?)この一つだけの模様です。 また、本編では使用されていない戦闘背景もいくつか存在し、その中には「ソーラ・レイ」や「ミラー」といった名称のものがあります。没パイロットにはワッケインやティアンムの名前が存在する事から、ひょっとするとファーストガンダムの一年戦争終盤を再現したイベントも考えられていたのかもしれません。まだ調査はしていませんがこれらのマップチップが存在すれば自作シナリオを作成する際に色々と楽しめそうですので、そのうち暇を見て調査をしてみる予定です。

第4次スーパーロボット大戦 武器アニメーションのSE用波形データ設定の解析が終了しました

 SEの設定がアニメーションデータを自由に増やせないという問題ですが、アニメーションのデータ読み込みの仕組みを解析しながらそれに関連する箇所を調査してみたところ、すぐにSEに使用する波形データを定義付けしているオフセットテーブルを発見する事ができました。やはり予想した通りの内容で、例えば武器アニメーションのIDが13(ビームサーベル)であればそれに必要な「だけの」波形データの設定「だけ」をサウンドドライバに読み込ませるという仕組みで、このオフセットに適合しない内容の武器アニメーションはIDを変更したり新規に設定するとSEが正常に再生されなくなるというものでした。これが判明した以上、無理をして武器アニメーション自体のオフセットテーブルを拡張する必要はないのですが、各機体専用の武器アニメーションを増やすとなるとオフセットテーブル自体の変更は必須となります。設定を調べてみた限りでは各種データの移設や拡張を駆使すればプログラムを大々的に変更しなくても1,024種類まで(但し、そのままではSEの組み合わせは512種類までしか設定できませんので、SEを1,024種類設定するにはプログラムを改変する必要があります)自由にSEやグラフィックを設定して武器アニメーションが作れるようになりました。波形データ領域が被らなければ、例えばEX版のカロリックスマッシュやガッデスのハイファミリアなどの複数SEを使ったアニメーションの再現が理論的には可能ですので、これで武器アニメーションを作る事に挑戦する方々も多少はモチベーションを上げて色々な試みができるようになるのではないでしょうか。