スーパーマリオブラザーズ バグワールド検証

判明した仕様・推測など

最終更新:

mariobagworld

- view
管理者のみ編集可

判明した仕様・推測など

ここではマリオ2の1024W中における判明した仕様、推測等を載せます。
尚、一部他のスーパーマリオブラザーズとマリオ2で仕様が異なる可能性があります。

コンテンツ


1024Wエリアに関する法則(重要)

1024Wを解明する上で恐らく最重要の法則かと思われます。


まずは上記表をご覧ください。
表を良く見て頂ければお気付きになるかと思います。
実はWORLD内でのAREAは同じ順番で並んでいるのです。

分かりやすいように空白を設けていますが、空白以降も下は同じエリアの並びで構成されます。
あと中間やギミック等の判定がWORLDごとに4AREA単位でループしている、との情報を頂きました。
(例:1-1,1-2,1-3,1-4の中間=1,5,1-6,1-7,1-8と同様の位置)

同じエリア構造でもWORLDが違うと、敵の出現パターンやギミックが異なる現象が起こります。
この仕様に則りますと4AREA区切りで中間地点がループしますので、ギミックもWORLDごとにズレていると推測できます。

※ただし敵やギミックがズレるのはバグエリアの場合のみかもしれません
(例:正規アドレスでなくても正規ワールドが出た場合敵配置やギミックの位置は同じ)

 あとSTAGE2だけ上記表の法則に当てはまらないような気がしたので要検証(例外の可能性)

上記法則に伴う純粋なエリアの総数

1024Wは1STAGE(FILE)辺り256WORLD*256AREA=65,536通り存在します。
更にSTAGE*4=262,144通りとなります。

しかしここでは「純粋なエリアの総数」について考えたいと思います。
WORLDがズレる事で4AREAループの法則に則り、中間ループ・敵出現・一部ギミック等は同構造のエリア内でも差異が生じます。
ただ純粋な「エリア構造」だけで見ると、WORLDがズレて一部要素がズレるだけで、表の通り構造は同一のエリアが順番に並んでいます。
なのでWORLDごとの細かい違いさえ除けば、1STAGE辺りのエリア構造は256エリアとなります。

更にこの法則で1STAGE辺り256エリア*4STAGE分=1024エリアとなります。
後はWORLDごとに確実にダブり、と分かるエリアを差し引いた数が、マリオ2における「純粋なエリアの総数」になります。

バグワールドとしては細かいギミックの差異よりも、まだ見ぬどのようなバグエリアが存在するか、こっちの検証の方が重要と考えます。
なので1STAGE辺り1つのWORLDだけを検証しまして、それを4STAGE分検証してダブり分のエリアを省いて行く、と言う形で検証を進めます。

Wの違いによる珍現象や気付いた情報等は、別途紹介ページを設けて補完したいと考えてます。


環境次第でバグ内容が異なる

エミュレータの種類や様々な条件次第でバグエリアの表示内容が異なります。
実際に文字で説明するより動画を観て頂いた方が早いです。


※meyapon様の動画を引用

これによりまして今まで書いた部分で訂正が必要な箇所も出て来るかもしれません。
そのような部分は気付き次第少しずつ修正して行きます。

尚、管理人は当初Mesenで何故かキーコンフィグ設定が利かず操作不能でしたので、VirtuaNESで検証を進めてました。
現在ではMesenの件も解決しまして使えるのですが、一応中途半端にならないように当面はVirtuaNES環境下で進めます。

STAGEと基ステージの関係性

マリオ2ではSTAGEが4区切りなので、正規ベースのバグ面(x-xの海版や地下版等)はそのSTAGEに存在するワールドの範囲となります。
例えばSTAGE00はW1~W4となりますので、正規ベースのバグ面もW1~W4のエリアしか出ません。
STAGE00である限りW5以降がベースとなっているバグ面は出ません。


次エリアへ行くと即タイムアップする現象

一部エリアをプレイすると分かるのですが、1024Wではミスしてエリアが再開しても減ったタイムの状態を引き継ぐ場合があります。
ゴール経由で次のエリアへ行くと即タイムアップになる事がありますが、ワールドセレクトで直接同じ次エリアへ入るとタイムアップになりません。
(※元々タイム0のステージを除く)

この現象はゴールした事で一旦タイムの残りが「0」になるので、次エリアへ入るとその状態が引き継がれて即タイムアップになります。


同じWORLDに居る限り固定となる仕様

クッパが登場した場合、例えばWORLD1に居る限り「1-4」以降でも正体は全てクリボーのようです。
(WORLD 1 ~ WORLD Dの範囲内ではフリーズしない?)
これは元々WORLD1のクッパの正体がクリボーに設定されている為、だと思われます。

あとお城ベースのエリアで斧を取ってゴールできる場合、次ワールドの行き先はWORLD数値が1つプラスになります。
WORLD1でお城ゴールすると次はWORLD2となりますので、バグ城経由からでも正規のワールド2が始まります。

マリオ2ではSTAGE区切りが存在する為、W256の城エリアをクリアした場合はFILE値が+1されて257-1へ行くのでしょうか?
それともFILE内でループして1-1冒頭へ戻ってしまうのでしょうか?


その答えは画像の通り、FILEの冒頭へ戻りW1の冒頭「1-1」(アドレス00-00)へ出ました。
STAGE(FILE)に関しては同じSTAGE内でループする仕様のようですね。
正規の5-1へ行けるのは正規の4-4をクリアした時のみで、この時だけFILE値が+1されるようです。

マリオ2では別STAGEへ飛ぶワープが無いのもこの仕様の為だと思われます。

ワープ土管の推測

例えば3-1ベースのエリア等、1024W中でワープゾーンへ行ける場合があります。
その場合3-1は本来逆ワープでW1行きなのですが、行き先こそ正しくないものの「W3」だったり「W4」だったり、表示自体は正規ワールドの表示が出ます。
しかし入ってみると正規ワールドへ出たり天空の4-4城へ出たり、行き先がバラバラです。

恐らくこれは中間位置が4ループでズレる仕様により、同じエリアでもWが変わるとワープ表示が変わるのだと思います。
行き先は恐らく法則がありそうなので表に纏めれば見えてくるものがあるかもしれません。
時間的余裕があればその検証もしたいですが、色々な検証の進捗次第になりそうです。


フリーズと暴走の違い

フリーズは言葉通りゲームが止まってしまいます。
しかしリセット操作等は受け付けまして、リセット後は直前に居たステージ位置やチート使用状況等が維持されます。

一方暴走はエミュ上では「未定義命令を実行しました」のようなエラーが出まして、完全にゲームが停止してしまいます。
リセット操作も受け付けずエミュの場合はROM再読み込みで回帰できますが、実機で起こるとゲームが壊れる可能性があります。

あと強制的にタイトルへ飛ばされる現象もあるのですが、これはフリーズではなく強制リセットの類なのでしょうか。
それと時々フリーズ後、リセットするとW8(アドレス07-07)に飛ばされている事が確認できるバグ面があります。
何故かこのエリアは通常エリアとブロックの色等が異なりまして、このエリアへ飛ばされていると言う現象には何か意味があるのかもしれません。


ジャンプ台の仕様推測

1024Wの原型が全く同じ正規ステージでは、ゲーム中使われている正しいアドレスエリア以外ではスーパージャンプ台が出ないと思っていました。
しかし7-3を確認した所、1024Wで正規アドレスでないにも関わらずスーパージャンプ台が出ました。


ここは元々3-1終盤がベースのエリアです。
STAGE0は元々AREA00~04までは正規エリアのアドレスなので、正規エリアでの読み込みだった為きちんと緑になった等の理由でしょうか?
あくまで推測に過ぎませんが色々な要素が読み込まれて重なって1つのエリアが構築されるので、何かしらの読み込みルールや法則はありそうな気がします。


中間地点の判定

中間地点があるエリアは通常、中間地点を通ると次回以降ミスしても中間位置が固定されます。
しかし1024Wではボーナスステージ経由でスタートへ戻る事ができるので、中間地点を過ぎた後にスタートへ戻ってみました。
するとその後再び中間地点を過ぎる前にミスした場合、次の開始位置がスタートに戻っていました。

次回開始位置は「ミスした時点の位置」で判定されるようです。
なので一度中間地点を過ぎてもスタートに戻り、中間位置前でミスした場合は次回スタート位置からの開始になります。

中間位置がおかしい理由についてはこちらをご覧ください。

記事メニュー
ウィキ募集バナー