【アスラ斬魔伝】for the 巖陀羅,あまり見ないニッチな記事

【アスラ斬魔伝】

う~んアスラ斬魔伝、インスト類がコピー品でも8万円か・・・

・・・・・・・

・・・・

・・( ゚д゚)ハッ!

さて今回はアスラ斬魔伝のHack ROM制作目標達成のため、エミュの方で解析している日々を送っておりますが、色々とわかってきたので独り言のように綴りたいと思います。

まず、このゲームはユガは(キャラセレカーソルID変更だけで)選択できるが、

巖陀羅はどれだけカーソルIDを変更しても居ない、

というのはアスラ斬魔伝最初期の記事で"外国人の動画コメントでわかった"と

書いてましたが、解析が進みどういう管理なのかわかり始めた結果、

確かに巖陀羅はキャラセレカーソルIDには存在しないことが解りました。

厳密にはキャラセレ画面でのカーソルIDやキャラIDなどがプログラミングされていない。


なぜユガはプログラミングされているのか?

答えは簡単。ユガ戦でコンティニューした場合、ユガ側はキャラセレ画面で登場するから。
(それでもメインビジュアルやキャラセレ画面でのキャラ名グラデータは無いけど)

巖陀羅の場合、負けてコンティニューしても再度巖陀羅と戦う事は出来ず、

巖陀羅乱入前に戦っていたCOMキャラに戻る。

つまりキャラセレで巖陀羅の表示をさせる必要性が無いため、

キャラセレカーソルIDなどが無いという事。
(無印ポリサムはキャラセレ画面で選択出来ていたが、あれはカーソルIDではなくキャラIDそのものをワークで指定しているから)

で次に、このゲームはワーク部分の数値変更では大抵の場合効力が無い。

例えばキャラセレ画面でスタートボタンを押すとキャラ名が巖陀羅に変わる、という事は不可能。

同じくしてカーソル位置も(自分でプログラムした位置に)移動する、といった事も不可能。

理由は常時ストアがなされてないため。

キャラセレ画面に限って言えば、キャラ名やカーソル位置などは"カーソルを動かした時のみ"数値が代入される仕組み。

もちろん、“キャラセレ画面でボスの名前表示しなくてもいい"とか、

“修羅/羅刹選択後のバトル遷移前の決めポーズ時のモデルが巖陀羅じゃなくていい(ユガは元々ある)"、

つまり“バトル中さえボスであればいい"という事であればそれ自体の実現は簡単です(というか既に出来ている)。

しかしHack ROMたるもの、それでは味気が無い。

やはりキャラセレ画面から表示出来てこそ(完成度の高い)Hack ROMと言えよう。

なのでそれら実現のために頑張っているのですが・・・

上記の通り常時ストアではない&ワーク部分では効力が無い。

名前グラやカーソル位置に限っては代入されるタイミングでレジスタ値を変更して代入させても変化しない。

よってワーク部分でそれらの要素は、ほぼ“データがどのようになっているかの閲覧用"と言った具合。

なので名前グラやカーソル位置はプログラム部分を弄るしかないわけですが、

そこを弄るのは今は可能だし名前グラをボスのものにする事はできる、が

そうするとプログラム部分を弄った以上、一度変更したものはそれが維持されるので、

例えば1P側で何かのコマンド(例えばスタートボタン押しっぱなしとか)でアスラにカーソルを合わせた時に巖陀羅(の名前)になるようにしたとすると、

何もしてない2P側までアスラに合わせた時に巖陀羅の名前になっちゃうんですねー。

それだと2P対戦時に具合が悪いので、プログラム部分を即座に元に戻してやる必要がある。

しかし即座に戻してしまうと、常時ストアではないため

スタートボタンを離してから決定したにも関わらず、キャラはアスラだがキャラセレ画面での名前はボスのまま(?_?)

なんてことになります。

まぁこの辺はフラグ作って何とかするしかなさげ。
(プログラムを解析,古い命令コードで組み立てないといけないため,家庭用ゲーム機の改造コードみたいに簡単にはいきません.)


なので何かのコマンドと同時に決定した時のみプログラム部分を変更し、即座に戻す、しかない。

これだと"決定時のみ"なので2P側に干渉する可能性はほぼゼロ。

感覚的に言えばスパ2Xで豪鬼のコマンド成功時のみ豪鬼になり、

失敗した時は茶色リュウになる、あの感じですw

これはこれで面白いとは思うし良いと思うんだけど、カーソル位置も特別なものにしたい。
(前回の記事に載せてた画像のようにタイマーの部分やランダム枠の下など)

コマンド成功&決定した時のみボスになるプログラムは出来たが、カーソルがこれまた厄介で。

カーソルはx,yのポジションと"向き"の3つの管理で成り立っているのだが、

なぜか"向き"だけは一度その位置をロードさせないといけないのと、

これまた同じくキャラカーソルを合わせた時にキャラの顔グラがハイライトされる仕組みも

一度ロードさせないとプログラム通りにならない。

・・・・・・・・・・・・・・・

・・・・・・・・

まぁ、何言ってのかわからんって感じですよね。

私も何言ってるのかわかんなくなってきましたw

まぁ全てを説明しようとすると表現が難しいし、長くなるのでやめときます。


とりあえず、そんなこんなで完成度の高い(自分の満足できる)Hack ROM制作は順調ではあるが、

まだまだ分厚い壁がある。


余談だが、海外のサイトで“(日本語訳:)ゲームの解析とかハックロムとかあるけど、どうやってやるの?私もそれをやろうと思ってます"みたいな投稿があり、

それに対して“その考えは素晴らしいと思いますが、それは苦行の世界に入る事になります"

みたいな返答があって笑ったw

自分の思い通りにゲーム(プログラム)を弄れるようになるには相当な時間と努力が必要になりますからね。

実際、私もめちゃめちゃ長いこと努力し続けてると思います(進行形)。

今まで色んなゲームを解析してきて、それこそ何千回・何万回とトライ・アンド・エラーを繰り返してます。

夢を叶えるためには、それに耐えうるメンタルが必要です。

途中で諦めてしまっては、当然夢は叶いません。人生、何事もそういうもんです(何様)。


んで、MAMEにおけるハイパーネオジオ64では、まだウォッチポイント(該当アドレスへの変化があった時ブレークする機能)が機能してない、ブレークさせないとレジスタ値を見たりプログラム組んだりの"ガッツリとした解析が出来ない"と前に書きましたが、

じゃぁどうやって今このようなことが出来ているのか?

・・・・・・・・・・・

・・・・・・・

気合ですよそんなもん。笑

どのようなアプローチでやるかは人それぞれだと思いますが、

私は経験上の自分のやり方でやってます。

夢を叶えるためには熱意と執念、これさえ絶やさずに向かい続ければ・・・です。

ではまた(*´ω`*)ノシ