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

投稿

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

最新の投稿

第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次スーパーロボット大戦 武器数拡張パッチを公開しました

 前回の投稿記事で触れた「作成できる武器の種類の最大数を拡張する計画」ですが、これを実現するためのパッチを作成してみました。これを適用する事により武器そのものと武器名称の双方を768種類から2,048種類に拡張できるようになります。この結果データ容量が大幅に肥大化するため、どうしてもROMを4Mにサイズ変更する必要があります。未検証ではありますが、いわゆる「4M拡張パッチ」に上書きする事も可能なはずです(基準となるアドレス値が変更になるのでBNE2やSNEESGEN等の設定変更ツール類はそのままでは使用できなくなります)。  なお、ご自身で実施して頂かなくてはならない作業として、各機体に設定された弾数制の武器の判定ID基準を登録番号順ごとに「+0400hずつ」から「+0800hずつ」に変更しなくてはなりません。非常に面倒な作業になりますが、これを実施しないと写真のように「単に一部の武器の名称が表示されなくなるパッチ」にしかならないという点にご注意下さい。そういう意味では今回のパッチはやや上級者向けのものと言えるかもしれません。ダウンロードは以下のURLから。ファイルの解凍パスワードは「9H3Ae,xQW2vfTS~~」です。 https://ux.getuploader.com/retrogamelaboratory/download/91

第4次スーパーロボット大戦 大雪山おろし(ゲッターポセイドン)と武器登録数の拡張

 今回はゲッターポセイドン用の大雪山おろしのアニメーションを作成してみました。作成の途中でスプライトシートの容量が限界になる事が判明していたのでゲッターサイクロンやストロングミサイル用のグラフィックは書き込まず、ひたすらゲッターポセイドンのポーズ差分パーツだけを入れています。前回の記事でも触れましたが、サン・アタックやグランダッシャーのような仕組みであれば差分パーツではなく別スプライトシートを使って機体画像を入れ替えられる見込みですので、そちらのスクリプトを解析しつつアニメーションを作っていこうと思います。  また、余談になりますが、武器の最大登録数を本来の限界である1,024個(=03FF)から2,048個(=07FF)に、これに合わせて武器名称の最大数も768個(=02FF)から2,048個(=07FF)に拡張する事に成功しました。しかしこの変更により各機体が所持する弾数制武器の管理方法が変わってしまうのが少々厄介で、全ての機体の所持武器設定を書き換える必要が出てきました。既に何をどうすればいいのか分かっているだけ気が楽ではありますが、それでも300体以上の機体のデータを全て再度入力しなければならないのはさすがに面倒ですね。とりあえず気長に作業を続ける事にします。

第4次スーパーロボット大戦 別グラフィックシート呼び出しスクリプト解析の必要性

 戦闘アニメーションを作成するにあたって、今までは基本的に同じスプライトシートの中に差分グラフィックを入れる方式を取っていましたが、ゲッターポセイドンの戦闘アニメーションを作ろうと試みたところ差分グラフィックが納まりきらない事が判明しました。元々マジンガーZの時点で一つのシート内に差分を入れまくるのはかなり厳しい(そのため、差分を無理矢理詰め込む代償としてジェットスクランダー装着後のマジンガーZはスラスター噴射炎が表示できません)事は分かっていたのですが、いよいよゲッターポセイドンではスラスター噴射炎の削除だけでは足りなくなりました。そこで、ダイターン3やコン・バトラーVのように一部の武器を使用する際にシートそのものを入れ替える手法に着手しようと考えています。  ダイターン3のサン・アタックやコン・バトラーVのグランダッシャー等の一部の武器アニメーションは差分ではなくグラフィックデータそのものを入れ替えているという事はかなり早い段階から判明しているのですが、その仕組みがどのようになっているのかまだ解析しておりません。今回はこの処理方法を解析して他の機体の戦闘アニメーションにも同じ手法で差分グラフィック…というよりもグラフィックそのものを入れ替えるというやり方をある程度確立させてしまおうという訳です。少々時間がかかると思いますが、一度やり方が分かってしまえば他の機体の戦闘アニメーションの演出もかなり充実させる事ができますので、ゆっくりになるとは思いますが力を入れて調べてみるつもりです。