スーファミのスーパーマリオを人力でプレイしてFlappy Bird化した猛者が登場


モバイル向けアプリとして世界中で大ヒットしたゲーム「Flappy Bird」のコードをスーパーファミコンの「スーパーマリオワールド 」に手動で組み込み、なんとマリオの世界でFlappy Birdをプレイできるようにした猛者が登場しました。制作者のSethblingさんが、どのようにしてマリオでFlappy Birdをプレイ可能にしたのかを説明するムービーを公開しており、理屈はわからなくとも何だかすごいと感じる内容になっています。

SNES Code Injection -- Flappy Bird in SMW - YouTube


SethblingはマリオのTASやマインクラフトの創作ムービーを作っている人物で、今回はスーパーファミコンのスーパーマリオワールドにFlappy Birdのソースコードを組み込むことに挑戦しました。


通常の場合、コードを書き込むという複雑な操作が必要なときはエミュレータの機能を使って全自動で行うことが多いのですが、Sethblingさんは実際のスーパーファミコンを操作して完遂してしまいました。


まずは、ゲームを通常通りに始めてヨースター島のコース2と3をクリアし、ファイアーマリオでヨッシーに乗った状態にします。


次にバグ技の「Powerup Incrementation」を3回実行。Powerup Incrementationを使うと、マリオが変身する際の変数を増加させることが可能になります。


マリオがパワーアップアイテムをゲットしたとき、ゲームはメモリーアドレスから入手したアイテムのコードを実行します。しかし、変数を6にした場合にパワーアップアイテムを入手すると、ゲーム本体以外からコードを入力しさせることが可能になるとのこと。通常は「3」までのところをPowerup Incrementationで「6」にまで増加させると……


X座標のスプライトの位置からヨッシーに赤こうらを飲ませて炎を吐くことで、命令プロセッサを書き込むことができ、1UPキノコをとると命令を実行できるようになります。


さらに、命令プロセッサにマリオのパワーアップ変数を22に変更させると、1UPキノコではなくスーパーキノコをゲットするだけで命令を実行できるようになり、これでコード入力が劇的にスピードアップ。その後は何回も同じことを繰り返しながらコードを入力し実行していきます。


次は「Bootloader」というバグ技を実行。Bootloaderを行うことで、ヨッシーをPスイッチの周りで動かしてからスーパーキノコをゲットすると、任意のデータを1バイトずつ連続したメモリの位置に書き込むことができるようになります。


Bootloaderが終わるとスピンジャンプするだけでシステムメモリの使用されていない領域にコードを書き込むこと可能になるとのこと。ゲーム序盤のコードが書き換えられたことで画面の色がおかしくなっています。


移動してスピンジャンプ、移動してスピンジャンプという動作を何と331回も繰り返してコードを書き込むSethblingさん。1回でも座標を間違えたりすると、動作不能になり最初からやり直す必要があるため、慎重な操作が求められます。この書き込まれたコードがFlappy Birdのソースコードになっていて、331回目のスピンジャンプをおこなうと……


ゲーム画面が変わって、Flappy Bird化したマリオをプレイできるようになりました。以前にもスーパーマリオワールドにFlappy Birdを組み込んだ人がいましたが、そのときはエミュレーターが使用され、人力でやりきったのはSethblingが世界で初めてとのことです。

・関連記事
スーパーマリオワールドをクッパを倒さず謎のミニゲーム経由で爆速クリア - GIGAZINE

マリオが大量発生して画面を埋め尽くしマリオ地獄に陥る「The Mario Maker」 - GIGAZINE

日本が誇る変態的芸術作品の「マリオメーカー計算機」熱がついに海外にも到来 - GIGAZINE

マリオをある意味スーパープレイな遺伝的アルゴリズムとニューラルネットワーク学習のみで全自動クリアしてしまう「MarI/O」 - GIGAZINE

何度やってもマリオの幻の「-1面」に突入できない女性が力業で再現 - GIGAZINE

184

in 動画,  ゲーム, Posted by darkhorse_log