HOME

コラム

謎・調査

ショップシールの世界

お宝系

トリビア

情報提供

王冠+絵=何機? ファミコン版『スーパーマリオブラザーズ』残機表示の全129パターンを検証してみた(動画あり)

◆表示がバグる?◆

 先日、地元の「昔ゲーマーだった」という知人たちを我が家に招待して大人のファミコン大会を開催しました。みんな、アラフォー親父ですからね、それなりに社会的立場のある人間ばかりだったのですが、たまには会社のこと、家庭のことなんか忘れて、ワイワイとファミコンで盛り上がるのもいいじゃないですか。まあ私なんか毎日やってますけど(笑)

 みんな、ファミコンのカセットやパッケージを見ただけで「懐かしいー!」って、ものすごい感動してくれるので、とても楽しかったです。

mariotaitorugamenags0.jpg

 さて、それは私が『スーパーマリオブラザーズ』の腕前を披露することになったときの一幕でした。とりあえず3-1で定番の無限増殖をやるじゃないですか。すると、カメの上でぽこんぽこんと1UPしてたら、メンバーの一人が「これって、やり過ぎると表示がバグって残り人数がわからなくなるんですよねえ」と嬉しそうに言うんですよ。それを聞いた他のメンバーもうんうんと頷いてたんですけど、私が「え、わかるよ?」と言って残機を言い当ててみたところ、、、(と言っても誰も正解かどうかわからないわけですが)

mariozanki04.jpg
 ※残機表示の例

 みんなをドン引きさせてしまったという(笑)



◆遺すべきファミコン知識◆

 無限増殖後の残機表示には規則性があります。したがって、あれはバグって残機がわからなくなる現象ではなくて、より正確に表現するならば、対応したグラフィックさえわかれば残機がわかる現象なんですよね。えっ、その対応したグラフィックがわからないって? だったらググればいいじゃない。ということで試しにググってみたところ、これが意外と出てこないんですよ。初代マリオの研究サイトなんて昔は山ほどあったのにねえ。こんな超メジャータイトルの、誰もがやったことある超有名な裏技に関する知識が、文化が、歴史が、失われていく一方だなんて由々しき事態だぞ。後世に伝えるべく誰かが遺しておかなければ、、、ああ、私がやればいいのか!

 この度、そんな結論に達しまして、改めて検証してみた次第です。

 こちら↓



 検証自体はすぐに成功したんですけど、この動画をつくるのにWindows標準ソフト「ムービーメーカー」を駆使して3日間徹夜しましたからね。それでこのクオリティかよwというツッコミは絶対にしないでください。絶対だぞ!



◆残機上限が129である理由◆

 さっそく詳しい解説をしていきましょう。

 まずマリオの残機上限129についてです。ネットで調べると127だとか、128だとか言われてたんですが、改めて検証した結果どうやら「129」が正解のようですね。直感的には8の倍数である128のほうがしっくりくる気がしますが。おそらくこれはマリオの残機が一桁の場合、十進法であることと、下限が1であることが関係するんじゃないかと私は睨んでいます。本作の場合、残機はストックを意味せず「現マリオを含む数」なので、残機0はゲームオーバーなんですよ。

 したがって、マリオの人数は一桁のとき1~9の9人であり、二桁以降は8×15の120人までをカウントするので、9人+120人で合計129となるのだと予想されます。※少々ややこしいことを言うと0と1~9の数字は10~19(王冠+数字)のときにも使用されますから、グラフィックの数的には8の倍数なのでしっくり来ます。※王冠は余った容量を活用したそうです(後述)

mariozanki1.png

 なお、なぜ残機10以降を8×15にしたのかという理由まではわかりませんでした。

 では130以上増えるとどうなるのでしょう。FC版『スーマリ』では、内部的な処理で130以上の数値がマイナスと判断され、その状態で一度でもミスをすると即ゲームオーバーになってしまいます。そのため130以上増やしても意味がありません。実際は130以上の残機にもそれぞれ対応したグラフィックが存在するのですが、実質上は増えていない(むしろ減ってる)ので意味がない。したがって129を「実質上の残機上限」と表現しました。



◆ギリギリは至難の技◆

 そう考えるとマリオの残機を上限ギリギリまで増やそうとする行為はチキンレースをしてるようなもんなんですよ。自殺行為そのものなんです。しかも厄介なことにマリオのプレイ画面のステータス欄には残機表示が存在しません。つまり無限増殖中は逆立ちしたって残機を確認できないわけです。

mariozanki30.jpg

 そんなの、カメを踏んだら出てくる「1UP」表示を数えればいいじゃないかと思われるかもしれませんが、これが無限増殖のときに限って、実際の数とまったく一致しません。たぶん処理が追いつかないんでしょうね。当然「ピロリロリリ♪」という1UP音の回数も一致しません。いっそのことカメを踏んだ回数を数えて1UPした回数を自分で計算するという手法も考えられますが、数が数だけにカウントや計算を間違えるリスクが高すぎます。そうなってくると無限増殖中にわざとミスをして、こまめに残機を確認しながら少しずつ129へ近づけるという野暮ったいメソッドくらいしか安全な方法がないんですよね。動画では一発で成功していた私ですが、正直、ただの奇跡でした(笑)

 ただしそれは実機の場合の話。エミュレータやレトロフリークならいつでもどこでもセーブできますので、その限りではございません。まったくもって令和だぜ!(←レトロフリークを導入するも使いこなせなかった男)

 

◆マリオ残機早見表◆

 さあ、いよいよ「マリオ残機早見表」の解説です。

mariozanki004.png

 この表は10~129までのマリオ残機がどのグラフィックに対応するかを示しています。これさえマスターすれば残機表示をパッと見ただけですぐに正確な数を答えられるようになるでしょう。

 グラフィックについて説明します。FC『スーマリ』のマリオ残機は一桁のときは普通に「1~9」と表示されますが、二桁以降はずっと十の桁が王冠のグラフィックとなります。10~19は「王冠+数字」、20~45までは「王冠+アルファベット」、46は王冠のみ(王冠+空白)で、47から「王冠+グラフィック」となります。これらのグラフィックは本来、背景に使われているものですが「-」「×」「!」などの文字も含まれています。そもそもファミコンでは文字もグラフィックで描かれているため、数字、アルファベットも全てがグラフィックなのです。したがって残機表示は「途中でグラフィックになっている」のではなく、正確に表現するならば「最初からグラフィック」なんですよね。なおグラフィックのパレットが青い理由はわかりませんでした。そのあたりは勉強不足で理屈をよく知りません。

 ところで王冠については興味深い話があります。かつて任天堂の中郷俊彦氏と宮本茂氏はインタビューで以下のように答えていました。

中郷 ループの曲だったら40バイトでつくることができると。
そしたら20バイト余るというので、
「じゃあ王冠をつくろう!」と宮本さんが言いだして。

宮本 1UPして10人を超えたら、
ご褒美に王冠を用意したくなって(笑)。

 なんと、王冠のグラフィックはわざわざ用意されたものだったのです。当時の開発者はファミっ子たちを喜ばせるために、たとえ1バイトでも無駄にしなかったという熱いエピソードですね!

 


◆これは何機でしょうか◆

 最後はクイズで終わりましょう。実際に早見表を使って答えて見てみてください。以下の画像は残り何機でしょうか?

mariozanki03.jpg

 ブラウン管の画面をそのままスマホ撮影した画像なので、滲んでしまってしまって見にくいかもしれませんが、グラフィックが「右下がすこし白くなってる扇型」だということはわかりますよね。

 早見表で同じグラフィックを探してみてください。

mariozanki004.png

 ↓
 ↓
 ↓

 縦の小さい数字が十の位、横の小さい数字が一の位を表していますから、十の位が「11」、一の位が「7」のところに同じものがありましたね。つまり117、、、

 よって答えは「117機」です!
 ね、バッチリでしょ。



orotima-ku1.pngスマホ用の早見表はこちら↓


mariozanki000.png
関連記事

コメント

無限増殖懐かしい…
上限は適当に8bit=1byteの255かなと思ってましたが
負の数分入れて-127~0~127で内部は表現してた?なのに129なのね
上の検証データでは1byte表現のテキストが120個準備してあってそれと王冠抜きの機数+9で129かなるほど…
そんで越えるとオーバーフローでマイナスになると

関係ありませんがファミリーベーシックのBGグラフィック表を思い出しました

す・・・凄いどーでも良い!(笑)
でも、長年の謎がスッキリ晴れる素晴らしい内容。
ゲーム界にイグノーベル賞があれば受賞か、最悪でもノミネートは確実でしょう!
それぐらい読みごたえのあるいい記事でした!


改めて昔のゲームの「データの使い回しの妙」って素晴らしいですね。
スマホでの早見表の画像よりも遥かに少ない容量であの世界を作ってるんですから、(あの当時として)ファミコンがいかにゲーム機として優れていたか、また開発者が1バイトも無駄に使うまい、と熟慮して容量と戦ってたか。
(スーパーマリオで言えばグラフィックなら草と雲。サウンドなら1UP音とパワーアップ音の関係とか)


だから今は、だから昔は…と言い換えるつもりはないですが、素直に過去の技術者に、特に未だに世間に名前も出てない開発者達に「楽しい思い出沢山ありがとう!」と改めて思いますね。

まぁ、クソゲーという呪いも生み出しましたけど(笑)

マリオ2をやっていた当時、「無限増殖でマリオを130人くらいにしてしまうとゲームオーバーになる」という知識はあり、いつも100人ぐらいまで数えて無限増殖を止めていましたね。
何で得た知識かはさっぱり思い出せませんが、「130人くらい」というのは大体合ってたんだと驚きました。

9840さん
実際検証してみて129だったので、そこからはあくまで私の推測なんですけどね。なぜ120なのかはわかりませんでした!

9841さん
お褒めの言葉ありがとうございます!三日間の徹夜が報われた思いです(笑)
そうなんですよね。今回の検証をつうじて、当時の開発者さんたちの、限られた容量のなかでいかに創意工夫をするかという情熱のようなものを感じました。改めてスーパーマリオは偉大だったんだなあと。

9842さん
当時のファミっ子たちはだいたい体で「ここまで」っていうラインを憶えてましたからね(笑)

スペランカーでも同様に残機128でオーバーフローになり残機0で固定されてしまうらしいです

今度は256ワールドの謎が知りたいです。
どうしてテニスなのか疑問

テニスがたまたまマリオのワールドを管理してるアドレスをいい感じに書き換えてくれた・・・と。
ほかのソフトでも同様の現象が起こる可能性はあります。
ファミリーベーシックで好きなワールドを選べるプログラムがありましたね。

残機早見表を他のサイトで参考出典として掲載することは可能でしょうか?

はいどうぞ。出典明記していただけたら助かります。

> おそらくこれはマリオの残機が一桁の場合、十進法であることと、下限が1であることが関係するんじゃないかと私は睨んでいます。
関係ないですね。
・内部データは、「減らして負ならゲームオーバー」
・表示は「0ならゲームオーバー」
なので1ずれて、内部データが0のとき表示は1、内部データが128のとき表示は129になっています。

kuso

それくらいのことがわからない人がこんな記事書けるんだからネットって怖い
どっかの記事パクってるんじゃないかと疑われるレベル

オロちゃんニュース!!
orotima-ku1.png Youtubeチャンネル「オロチレーベル」を開設しました!!
 失われたファミコン文化遺産「ショップシールの世界」2020年6月26日発売

Seach

twi8bit1.giftwi8bit1.giftwi8bit1.giftwi8bit1.giftwi8bit1.giftwi8bit1.gif
.

Oyaji Random

web拍手 by FC2

Sponsor

Recommend

デマ情報により高騰化!? 謎のドラクエ攻略本「どらくえ3」事件は意外な結末だった!!
dorakue3012.png  謎のドラクエ攻略本「どらくえ3」をめぐる裁判とその結末。

ドラクエ3のラスボス載せちゃった!!「FLASH事件」の真実
hurasshujiken1.jpg
ファミコン時代の『ドラゴンクエスト』をめぐるもうひとつの訴訟事件。

2万6000本のファミコンカセットを検証したらわかった18の事実
famikonkenshou01.jpg ファミコンカセットに関する超超マニアックなトリビアの数々を目撃せよ!!

任天堂「マリオの名前の由来」をめぐる嘘と真実
あなたが知ってるそのマリオの由来、真実と言い切れますか?

とてつもなく根深い「ファミコンジャンプ発売日問題」についての調査報告 
ほとんどの資料が間違っているという闇深案件を徹底調査。

「なぜロトの剣は安いのか問題」 8つの仮説 【ドラクエ考察シリーズ】
rotonoturugi01.png ロトの剣ですね、それなら2Gで買いましょう......全てはそこから始まった。

発売当日に買ったファミっ子が『銀河の三人』開発者へ突撃インタビュー「なぜ永井豪なんだ!」
制作者の九葉真(杉江正)さんが語る『銀河の三人』開発秘話。

Ranking

Monthly

About

このブログについて



管理人:オロチ

オロチの小説
カクヨムで読める!!

Work

ファミコンコンプリートガイドデラックス ファミコン
コンプリートガイド
デラックス

オロチがコレクション提供&コラム執筆 大きなB5判 432ページの超豪華DX版

Retro Gaming Blog RSS

Counter

Google Seach

お売りください。駿河屋です。

ブログパーツ