コブラジョジョことSFC版ジョジョの奇妙な冒険といえばコブラチームが世に送り出した事で有名ですが、ゲームデザインとシナリオに関してはコブラチーム(バンダイ)が、実際のゲーム制作に関してはウィンキーソフトが担当していますので当然サウンドドライバはいつものウィンキーソフト仕様となっています。今回はジョジョのサウンドドライバやサンプリングデータなどの解析がてらDIOの館のテレンス・ダービー戦以降のスタンド使いとの戦闘で使われている中ボス用BGM「激闘」をコンバートしてみました。解析内容に関しては時期的な事もあってかヒーロー戦記のサウンドドライバと同一の仕様で各種データや展開先などの管理方法も同しなのですが、ROM内のデータ収納先は全然違う位置でした。ジョジョの場合は無圧縮のグラフィックデータがROMの後ろ側に大量に入れてありますので、その関係かもしれません。 さて、「激闘」にはギター系のサンプリングデータが大量に使われているのですが、例によって第4次側にジョジョ側のサンプリングデータに似たものがあまりなかった事とサンプリングデータの組み合わせ次第ではバッファオーバーフローを起こしてフリーズしたり戦闘中にSEがうまく再生されなかったりするのでかなりアレンジする羽目になってしまいました。ゲスト系のボスクラスBGMとして使ってみると面白いかなと思ったのですが、実際に使ってみると何だかイマイチな気がしなくもありません。 ちなみにこのデータを作成後にもう一度解析を行ったところ、ジョジョに関してはいくつかのサンプリングデータでヘッダやサンプリングデータの一部の記述を工夫すれば第4次でも使える事が判明しました。ひょっとするとジョジョやヒーロー戦記のサンプリングデータはヘッダの仕組みを理解すれば原則として全て第4次で使えるのかもしれません。そうなるとBGMデータのコンバートがかなり楽になるのですが、それはまだ先の話になりそうです。
必要とされるかどうか分かりませんが、とりあえず次の目標として「メカニードスを他の仲間と同様に普通にレベルアップできるようにするパッチ」を作成してみようと思います。既にご紹介の通り、メカニードスは経験値入手不能処理を無効化してレベルアップさせたとしてもステータスの上昇ができないように処理…というか成長テーブルに相当するものが設定されていないらしく、ただレベルだけが上昇します。そこでレベルアップ時の処理に関するルーチンを探して解析を開始してみたのですが、今のところ各キャラクターの成長テーブルらしきものを参照している部分が見当たりません。しかし処理の途中でキャラクターIDを参照している部分があります。そうなると、キャラクターIDを読み込んでそれをもとに成長テーブルを参照しているのは間違いない(レベルアップ時にキャラクターIDを強制的に切り替えると、そのIDのキャラクターがレベルアップした時とほぼ同じ成長値パターンになる=例えばチェズニのIDをレベルアップ処理の際にメカニードスのIDにすると本来上がるはずのパラメーターが一切上がらなくなる事までは確認しています)ので、根気よく調査を進めていきたいところです。
改変方法として一番簡単なのは「メカニードスがレベルアップした際に強制的にキャラクターIDを書き換え、レベルアップ処理終了直後に再びキャラクターIDをメカニードスに戻す」という方法で、これならばすぐに実現可能なのですが根本的な解決になっていません(レベルアップのメッセージでそのIDのキャラクターの名前が表示されるという不具合もありますし…)。できれば各キャラクターの成長テーブルを発見し、メカニードス以外にも例えばゴーフやダッシュのように今ひとつ成長値の伸びが悪いキャラクター(ちなみにレベルを99まで上げるとゴーフ、ダッシュ、メリーヌの3人がほぼ確実にワースト争いをします)のテコ入れもできればと考えています。特にダッシュは自慢のはずの素早さが後半は全然伸びなくなり、レベル50くらいになるとむしろ他のキャラに素早さが劣るようにすらなってしまうので、最後まで使っていこうとすると本当に辛いんですよね。
コメント
コメントを投稿