HEAD>
スーパーマリオ256ワールドの原理について
●はじめに...
マリオの最大の謎とも言える、256Wの存在...。この256Wに関しては、当時様々な議論が有りました。ひとつには、マリオ256ワールドがバグかどうかという話がありますが、これはバグではありません。通常のプレーでは行けないのですから...では、256ワールドは作者が前もって用意した物か?...というのも違います。256ワールドはマリオのシステムが生み出した、別次元の世界のような物です。以後、何故256ワールドが存在するのか、について書きますが、(なるべく解りやすく書くつもりですが..)きっと理解しにくい文章になるとは思います。でも、辛抱して付き合って下さいネ...。
●わかりやすく言うと...
intelのCPUである、Celeron 300Aが、内部クロックを上げて、450MHzで動いたとしましょう。これはメーカー保証外ですが、動けば儲け物。元々Celeron 300Aは450MHzで動く潜在能力を持っていた訳です。しかし、メーカーがPentium2との兼ね合いで、わざと能力を制限して出荷したのです。これと同じ事がスーパーマリオ1にも言えます。元々ワールドには256個(8ビット処理)の入れ物が有りますが、出荷時には8個の入れ物しか使用できない様に制限を加えました。しかし、この制限をなんらかの方法でかいくぐると、256ワールドに行ってしまうのです。
●制限を越えて、新しい禁断の世界が広がり...
その制限は、「ワールド8をクリアしたらワールド1に戻る」というわずか2バイトの命令です。通常はワールド1からしかゲームは始められないのですから、これで完璧な筈なのですが...実際にこの命令をエディターで取り除くと、自由に256ワールドに旅立つ事が出来ます。そこはまさしく禁断の世界。全く作者の意図していない面が繰り広げられます。時には、ワールド1から8には出現しないキャラクターまで出てきたりします。(スーパーマリオブラザーズオリジナルマップ作成講座のコマンドの説明参照)
●これらの世界の生い立ちは...
ではこれらのマップはどの部分をデータとして読みに行き、表示されているのでしょうか?オリジナルマップ作成講座の面データの開始位置の指定方法にある通り、面データの指定は、パラメーターで3重指定方式になっています。面を作った後で、面のつながりや順番を容易に変更出来る様にするためです。(実際はここを変更しただけでは、ワールドの変更は上手く行かないのだが...) ここの8つ分の正規のワールドとして割り当てられた、8バイトのパラメータの後に続く別の領域が、9〜256ワールドとして認識されています。つまり、ワールド9はその次の1バイトに割り当てられますから、実際には1番目のエリアデータ(原本ではワールド1のエリア1の始まりのルームNo指定領域)が有る部分が認識されている訳です。つまり、全く別の部分がワールドの始まり部分の指定に使われている訳ですから、デタラメな面が出来て当然なのです。
● −1面で説明すると...
カセット版−1面は7−2面の水中ステージと同じですが、何故同じ内容になっているのでしょうか?−1面はマイナス1面と呼ばれていますが、実際にはスペース(空白)−1面で、このスペースというのは、マリオ1の場合、36番目(10進数)に割り当てられたコードです。ファミコンの場合、いわゆるパソコンのようにアスキーコードでは無く、任天堂コードという独自のコード体系が使われています。これは、最初の10個は0からから9までの数字が使われており、以下はゲームによってグラフイックに使うパターンなどが割り当てられています。マリオ1では、0から9の次はA〜Zのアルファベットが使われており、その次のパターンが空白になっています。即ち、−1面は36−1面の事です。スーパーマリオブラザーズオリジナルマップ作成講座の面データの場所指定方法の項にある、(1)の各ワールドが何番目のエリアから始まるかを指定する部分には、8ワールド分しか領域を取っていませんが、9ワ−ルド以降は、順次その下位の番地を参照してゆきます。即ち。ワールド36の指定部分は、(1)の領域の始まり部分を1バイト目とすると、36バイト目に有るという事になります。36バイト目は
33
(16進数)となっていますので、「ワールド36は33番目(16進数)のエリアから始まる」という意味になります。次に(2)の各エリアがどのルームNo.から始まるかを指定する部分の33バイト(16進数・エリア番号は00から数える)目は、
01
となっています。即ちこれは、「33番目(16進数)のエリアはルームNo.01から始まる」という意味になります。ところで、ルームNo.01はこの33番目のエリア以前にも2回使われており、丁度07番目のエリア(2−2の指定部分)と1D番目のエリア(7−2の指定部分)に使われています。なお、−1面の敵データが、7−2の方になる理由は、マリオ工作員さん達のページの
スーパーマリオブラザーズ解析結果報告
を参照して下さい。
カセット版マリオ1の面データ開始位置指定部分
(1)の領域
9CB4番地
00
05
0A
0E
13
17
1B
20
(2)の領域
9CBC番地
25
29
C0
26
60
28
29
01
27
62
24
35
20
63
22
29
41
2C
61
2A
31
26
62
2E
23
2D
60
33
29
01
27
64
30
32
21
65
1F
06
1C
00
70
97
B0
DF
0A
1F
59
7E
9B
A9
D0
01
1F
3C
51
7B
ワールド1の各エリアがどのルームNo.から始まるか指定している領域
ワールド2の各エリアがどのルームNo.から始まるか指定している領域
ワールド3の各エリアがどのルームNo.から始まるか指定している領域
ワールド4の各エリアがどのルームNo.から始まるか指定している領域
ワールド5の各エリアがどのルームNo.から始まるか指定している領域
ワールド6の各エリアがどのルームNo.から始まるか指定している領域
ワールド7の各エリアがどのルームNo.から始まるか指定している領域
ワールド8の各エリアがどのルームNo.から始まるか指定している領域
●カセット版 −1面は何故クリア出来ないか?
では、2−2面や7−2面は、水中部分の土管に入ると、地上に出てゴールする事が出来ますが、カセット版−1面ではゴール出来ません。これは、土管などでの各ルームの移動命令にワールド指定が含まれているからです。(スーパーマリオブラザーズオリジナルマップ作成講座の
第1バイト下位がEの場合の敵キャラコマンド
の項参照)何故このような処理を入れているかというと、情報量を節約するため同じ敵データを違うワールドで使ったとしても、ワールド2ではこのルームに移動し、ワールド3では別のルームに移動させる...というような事が出来るようにするためです。(特にボーナスステージを各ワールドで共有するために、この処理は絶対必要だった)ルームNo.01の敵データの移動命令をファミコンカセット版で探すと、A173番地より、
2E 25 2B
2E 25 4B
4E 25 CB
と3つの命令が見つかります。
これは上から、
ワ−ルド2において、(当ページの横位置2が画面右端から2キャラ先にスクロールアウトした以降は) 土管等に入ると、ルームNo.25の0Bページ目に移動させる
ワールド3において、(当ページの横位置2が画面右端から2キャラ先にスクロールアウトした以降は) 土管等に入ると、ルームNo.25の0Bページ目に移動させる
ワールド7において、(当ページの横位置4が画面右端から2キャラ先にスクロールアウトした以降は) 土管等に入ると、ルームNo.25の0Bページ目に移動させる
という意味です。(ワールド3の命令が残っているのは、かつてワールド3に水中面が有ったのかも知れない) 即ち、−1面では移動命令が無いため、同じルームの0ページ目に戻されるので、マリオはその場をさまよう事になるのです。
●256ワールド分、楽しく遊べるマリオは作れるか?
256ワールド全てに対し、各4エリア作ったとして、合計約1,000エリア作らなければなりません。しかし使えるルーム数は、トンカチマリオでも64部屋×4種類ですので、(1の原本ではせいぜい36部屋程度)256ワールドすべて違う面を作るのは難しいでしょう。9ワールド以降の一部の面を作り、ワープゾーンでワープさせるなどして、エキストラステージ的に使うのが良いと思います。
●マリオ1(カセット版・ディスクシステム版)256ワールドのデータ集
面
ルームNo.
面の種類
画面写真
内容
カセット版
9−1面
No.06
水中面
運よくフリーズしなければ、
9−2まで遊べる
(多分)
ディスク版
マイナス1面
(36−1面)
No.09
水中面
ピーチ姫が2回登場、半クッパも、
このサービス精神の旺盛さは、
意図して作ったものかも?
−2、−3もプレイ出来る。
●まとめ...
マリオ1は、バグ?が多いという一面が有り、開発者はそれを嫌う傾向にあります。そこで、マリオ2ではそのうちの幾つかのバグ?が起こらないように改造されています。しかし、マリオ1のバグは裏技とも言える楽しい物ばかりで、単にゲームをクリアするにとどまらず、無限の楽しみを私たちに与えてくれます。また、あまり知られていない裏技がまだ沢山隠されており、これらを「スーパー真理ブラザーズ」で明らかにする事が、私のライフワークのひとつになっています。このマリオ1の不完全さが、このゲームの大きな魅力のひとつで有り、私を含めた多数の人々がその魅力に取り付かれています。この様な色々な面での楽しさを与えてくれるゲームを私は他には知りません。改造を初めて10年以上経つ今でも、新しい発見をする度に、このゲームの奥の深さを実感し、感動させてくれます。これからもマリオ1は私たちを不思議の世界に導き続けてくれる事でしょう...この256ワールドの様に...
I LOVE MARIO 1
これからも新たなる発見を目指し...
「スーパーマリオブラザーズのページトップ」
へ
本文中の会社名または商品名は各社の商標または登録商標です。
ホームページ
へ