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

投稿

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

最新の投稿

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

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

第4次スーパーロボット大戦 デュラクシールの胸部差分追加

 前回はグラフィックサイズの都合で断念したデュラクシールのエンタイアリィバスター展開差分ですが、細部の修正をしつつパーツの見直しで数ヶ所のタイル使い回しを行いようやくタイルデータを収められました。これでメガバスター砲のアニメーションも新規に追加できましたのでひとまず満足といったところです。しかしメガバスター砲という名称はさすがにちょっと格好悪いかなという感じがしますので、エンタイアリィバスターに変更するかどうか検討中です。  それにしても寄り道が過ぎましたので、そろそろ改変パッチ本編の作業も再開したいところですね。早期ルートでのプロトゲッター未参入バグなどの報告もありますので、そのあたりの修正も含めて再度第一話からの入手ユニットの内容なども吟味してみます。

第4次スーパーロボット大戦 「英雄戦記(第4次音源アレンジ版)」の実装に成功しました

  ヒーロー戦記のタイトルテーマ(後に「英雄戦記」の名でリメイク)を戦闘用BGMにコンバートしてみました。今回はサンプリングデータを移植せずに第4次に収録されたものだけで間に合わせようと試行錯誤しましたが、結果はご覧の通り散々です。 サンプリングデータの内容を調べてみたのですが、ヒーロー戦記から第3次の時点ではほぼそのまま引き継がれているデータがEXで若干削除、第4次では半分程度入れ替えられています。EXで削除された第3次のマップBGM用のサンプリングデータがその対象で、逆に言えばヒーロー戦記や第3次のBGMの多くはサンプリングデータを移植しないと忠実に再現できないという事になります。 今回はコンバートそのものよりもサンプリングデータの内容をチェックしたり波形スロットの仕組みを調べるという目的があったので、苦労はしましたが得られたものもそれなりに大きかったので良しとします。解析できた内容については後日改めて公開する予定です。

第4次スーパーロボット大戦 ヒーロー戦記からのBGMコンバートについて

 ようやくヒーロー戦記のBGMデータの読み取り方が解明できたので第4次の記述仕様にコンバートしてみたところ、何とか波形データをBGMとして乗せる事ができるようになりました。やはり同じデベロッパーが手掛けた作品だけあって、一工夫すればどうにかなるという事なのでしょう。後はサンプリングデータを各波形データに当て嵌める作業になります。とはいえ元々戦闘用BGM用に作られたBGMではないためか、サンプリングテーブルが13枠も使用されているのは少々気が滅入ります。ここから8枠に絞り込む作業は骨が折れそうです。  今回は「英雄戦記」で試していますが、「XNガイスト」等でも同じ要領でコンバートが可能になると思われます。また、ヴィルガストやジョジョの奇妙な冒険やマクロスといったウィンキーソフト製の作品からもBGMがコンバートできる可能性がありますので、余裕があれば引き続き調査を継続してみたいところです。

第4次スーパーロボット大戦 サウンドドライバの移植によるBGM拡張について

 魔装機神やバトルロボット烈伝から第4次へのコンバートで一部のBGMが正常に再生されない問題ですが、魔装機神やバトルロボット烈伝のサウンドドライバを第4次に移植する事で一応再生が可能になります。また、これにより第4次では使用できなかったサンプリングデータ枠の限界数の拡張も可能にはなるのですが、もちろん問題がないわけではありません。元々第4次に入っているBGMとSEの波形データ使用枠やサンプリングテーブル使用枠の仕様は魔装機神やバトルロボット烈伝とは異なるので、それらのデータを全て移植してきたサウンドドライバの仕様と同じ規格に変更する必要があるという問題です。  また、BGMに関してはともかく、SEに関しては今のところ移植サウンドドライバの仕様にコンバートしてもまともに再生されないものがほとんど(恐らく使用チャンネルの優先順位の関係ではないかと思われます)で、挑戦する手間に対する見返りがあまりにも少ないと言わざるを得ないのが現状です。「終わりなき戦い」や「炎の中華体育教師」などを第4次で使用できるのは大きな魅力ではあるのですが、他の作業に時間を割く方が有意義ではないかと思います。

第4次スーパーロボット大戦 「メイン・タイトル(修正版)」の実装に成功しました

   「メイン・タイトル」を解析結果に従って修正してみました。大して違いはないように聞こえますが、実際にはオペコードの追加によって撃墜時の爆発音が正常に再生されるようになっています。単なる自己満足ですが、やはりきれいに爆発音が聞こえると少し嬉しいものです。  不具合の検証など他の作業の関係でなかなか時間が取れないのですが余裕があれば採譜ミスが目立つ「艦隊戦」を原曲に近い状態に修正してみようと思います。

第4次スーパーロボット大戦 デュラクシール&LOE版サイバスターのテーマ

   今回はそのデザインで色々と取り沙汰されたデュラクシールを追加してみました。OGシリーズでは顔を中心にかなりデザインが変更されており少々残念です。まあ時代ですね。現在の公式での最強武器はメガスマッシャーとなっているようですが、メガスマッシャーはガルガウの武器という印象があったので今回はメガバスター砲を採用しています。  デュラクシールついでにLOE版の「熱風!疾風!サイバスター」もコンバートしてみました。当然のようにサンプリングテーブルがオーバーしていてそのままではアカシックバスターやブラックホールクラスター等が使用できないのでサンプリングテーブルを二枠減らして第4次でも問題なく使用できるようにしていますが、パッと聴いただけではそんなに違いは感じないのではないかと思います。  実のところサンプリングデータは一枠だけ減らせば一応どうにかなるにはなるのですが、そうすると今度はザンボットコンビネーションと同様に一部のSEが正常に再生されなくなる事があるんですよね…。

第4次スーパーロボット大戦 デュラクシールの武装再現に挑戦

   武器のアニメを作るにあたって、今回は試しにデュラクシールのタオーステイルに挑戦してみました。「魔装機神」でマップ兵器として登場し、バスターキャノン等で色々と使用されている装備ですが、これを本編に逆輸入するという試みです。  一枚目の写真はとりあえず現在の知識でそれっぽく見えるように作ってみたバスターキャノンで、攻撃の際にはタオーステイルが外れてこんな感じになります。機体の周囲に浮いているタオーステイルはユニットグラフィックの差分ではなく別オブジェ扱いですがさすがに動きません。  攻撃アニメのエフェクトはダンクーガの連装キャノン砲の流用ゆえイマイチ迫力に欠けるのが難点ですので、SEをメガ粒子砲のものに変更するかエフェクト自体をメガ粒子砲系のアニメにしてしまってもいいような気はします。  二枚目はタオーステイルによる攻撃アニメです。ファンネル(厳密にはエルメスのビット)のアニメパターンをベースに作成したもので、こちらも一応攻撃時にデュラクシールからタオーステイルが外れる差分を用意してそれっぽく見せています。 本当はメガスマッシャー用の胸部展開差分も作りたかったのですが、ユニットグラフィックの書き込み領域が限界に達してしまい今回は断念しました。パーツ自体はかなり節約したのですが、さすがにグラフィックサイズが大きすぎますね。 デュラクシールの扱いに関してはボス系の敵ユニットとして登場させるか、それとも「ムーンデュエラーズ」での寺田氏の初期構想にあったという「マサキの新たな専用機」として登場させるかはまだ未定ですが、一通りの武器設定が完了したところでまずは動画にして公開する予定です。

第4次スーパーロボット大戦 戦闘アニメーションの効果音に関して

 戦闘アニメーションはスクリプトコードとパターンコードの二種類のコードを組み合わせて作られているのですが、どうやらSE(効果音)に関してはスクリプトコードよりもパターンコードに設定されているものが優先される仕様になっているもようです。これまでいくつかアニメーションコードを解析したり作ってみたりしたのですが、どうしても設定の通りに効果音が鳴らなかったものがあるのはこの辺に原因があるようで、スクリプトコードとパターンコードを組み合わせた際に何らかの法則に則ったつじつまが合わない場合は正しいSEが鳴らない、というような仕組みなのではないかと推察しています。  今まではこの辺りで躓いて既存のアニメーションコードにある組み合わせのSEだけで妥協していたのですが、現在のところ実験的に色々と試しており、今まで組み合わせる事ができなかったSEを使ったアニメーションをいくつか作る事には成功しています(まだ全てのSEを調べた事がないのですが、40~FFまでに割り振られているもよう)ので、法則を完全に解明できればメガ粒子砲の効果音を使ったビームライフルや第3次やEXで登場した武器の再現(シルベルヴィントのボルテックシューターやEX版カロリックスマッシュ、グラフ・ドローンのサンダーボールなど)、更にはそれらを応用して様々なSEを折り合わせた完全に新規の必殺技アニメ(ダイモキックやグレートブースター、断空光牙剣など)を作る事もそれほど難しくないと思います。

第4次スーパーロボット大戦 BGM継続パッチの不具合

 BGM継続パッチに新たな不具合を発見しました。アカシックバスターを使用した後の戦闘から他のBGMに切り替わるまでの間、撃墜アニメーションのSEが再生されると正常な音が出ない(具体的には爆発音の後にアカシックバスターに使用されているSEの一部がランダムに再生される)というものです。  今のところ他の武器では確認できていない不具合で特にゲーム進行に支障をきたすものでもないのですが、やはり気になりますよね。恐らくアカシックバスターのSEに関する波形スロットが戦闘終了時にリセットされていない事が原因と思われますので修正できるかどうか調べてみる事にします。

第4次スーパーロボット大戦 BGMデータの読み方

   そろそろBGMの移植実験は一旦止めて別の作業に移ろうと思いますが、今までの解析で気が 付いた点などをいくつか記載しておきます。何かの参考になれば幸いです。 魔装機神やバトルロボット烈伝のBGMデータに使用されているオペコードは第4次スーパーロボット大戦のそれとは完全互換ではなく第4次の発展型と思われ、一部の仕様変更や追加コードが確認できる。これらのオペコードが含まれているBGMデータを第4次にコンバートすると何らかの不具合(正常な波形データの再生ができない、途中で曲の再生が止まる、など)が発生する。 例えばバトルロボット烈伝では「疾風ザブングル」がこれに該当し、魔装機神ではほぼ大半のBGMがまともに再生できない(「終わりなき戦い」や「炎の中華体育教師」などは特に顕著)。まともに再生できてもループの際に不具合が発生し二周目からおかしくなるものも多い(「ダークプリズン」ではループ時の一瞬スローになる命令が解除されず二周目以降はずっとスローテンポのまま、「フラッパーガール」はループ直前の間奏に入ると正常に再生されなくなり、二周目に入るとループのたびに更におかしくなる、など)。未確認ではあるが、逆に第4次から魔装機神やバトルロボット烈伝にBGMデータをコンバートする分には問題はないものと思われる。 各種BGMやSEに使用されるサンプリングデータ(いわゆる「楽器の音色」など)は作品間で完全に互換性があるので相手先に移植すれば問題なく使える(第4次のサンプリングデータのオフセットは#220000から3バイトで始まり、格納箇所はそのオフセットを読み取れば判明する)。例えば、魔装機神で多用されているシャウトやバトルロボット烈伝で多用されているトランペットのサンプリングデータを移植すれば第4次でも問題なく同じ音色で再生する事が可能である。 第4次におけるBGM再生に使う波形スロット(と呼ぶのだろうか)の使用領域は基本的に#18~#1Fというたったの8スロットで、これを超えて#20以降を使用すると戦闘BGMとして使用した際に#20以上のスロット領域を使用する武器アニメ(サンアタックや超電磁スピン、アカシックバスター、ファンネル系SEが使用される武器など)のを選択して戦闘が始まると同時にフリーズする(恐らく内部的にはバッファがオーバーフローしているものと思われます)。基本的には#2