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

最新の投稿

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

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

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

 戦闘アニメーションを作成するにあたって、今までは基本的に同じスプライトシートの中に差分グラフィックを入れる方式を取っていましたが、ゲッターポセイドンの戦闘アニメーションを作ろうと試みたところ差分グラフィックが納まりきらない事が判明しました。元々マジンガーZの時点で一つのシート内に差分を入れまくるのはかなり厳しい(そのため、差分を無理矢理詰め込む代償としてジェットスクランダー装着後のマジンガーZはスラスター噴射炎が表示できません)事は分かっていたのですが、いよいよゲッターポセイドンではスラスター噴射炎の削除だけでは足りなくなりました。そこで、ダイターン3やコン・バトラーVのように一部の武器を使用する際にシートそのものを入れ替える手法に着手しようと考えています。

 ダイターン3のサン・アタックやコン・バトラーVのグランダッシャー等の一部の武器アニメーションは差分ではなくグラフィックデータそのものを入れ替えているという事はかなり早い段階から判明しているのですが、その仕組みがどのようになっているのかまだ解析しておりません。今回はこの処理方法を解析して他の機体の戦闘アニメーションにも同じ手法で差分グラフィック…というよりもグラフィックそのものを入れ替えるというやり方をある程度確立させてしまおうという訳です。少々時間がかかると思いますが、一度やり方が分かってしまえば他の機体の戦闘アニメーションの演出もかなり充実させる事ができますので、ゆっくりになるとは思いますが力を入れて調べてみるつもりです。

コメント

人気の投稿

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

第4次スーパーロボット大戦 改造コスト&改造数値分岐パッチを公開しました