• スーパーマリオ64の並行宇宙バグ

    2016-10-02 11:4049


    昨日、勉強会真っ最中だったにも関わらず、なかなかの衝撃で見入っていたわけですが。スーパーマリオ64のTAS (ツールを使ってのスピードラン)記録が30秒以上更新されました。

    スピードランって、もうこのレベルに至ると更新ってなかなか難しく、何かとんでもない発見でもない限り、せいぜいフレーム(マリオ64は30fpsなのかな。1フレーム30分の1秒)単位の更新しか起きないものです。5分の記録に対して30秒(約1割)更新されたというのは、結構革新的な発見があったということになります。それが、並行宇宙バグ(parallel universe glitch)って言われるもの。

    5分切り記録

    まあ、実は、この並行宇宙バグの実用化は今回が初めてでもなくて、去年の7月には実用化されています。去年、「歴史的記録が速攻で削除された…」ってボヤキをブログに書いてますけど、その時から使われています。ニコ動からは削除されているので、以下のYouTubeの投稿をご覧ください。

    https://www.youtube.com/watch?v=4_N3LWaoCEg

    要するに、並行宇宙バグを使って2か所短縮できそうな場所があったわけですが、そのうち片方だけでも5分の壁を越えれた、もう片方も実現できればさらに30秒は縮みそうという状態でした。案外その「もう片方」が難しくて1年以上間が開きましたが、このたび実現に至ったみたいです。

    並行宇宙バグ

    で、このバグがなかなか見事なんで、ついうっかり、軽く説明書きたくて、自分も約1年ぶりにニコニコのブロマガを書き出したと。

    並行宇宙

    マリオ64って、マリオの今いる座標は32ビット浮動小数点数(float)で管理しているっぽいんですが、床とかのヒット判定は16ビット整数(short)で計算しているそうです。なので、以下のような現象が起きる。
    • 移動自体はfloat管理なので、±32768を超える範囲にも移動できる
    • shortをオーバーフローさせることで、65536 (short 1周分)ごとに同じ床判定が存在する
    • これを「並行宇宙」(parallel univers)と呼ぶ
    • マリオ64にはBLJ(いわゆる「ケツワープ」)とか、この距離を一気に飛び越える速度を得られるバグがいくつかあるので、それを使って隣の並行宇宙に飛び乗れる
    • 並行宇宙には、床はあるけども、水とか壁とか敵とかはいない
    並行宇宙に行くには実際にはいくつか課題があって、以下のような工夫が必要だそうです。
    • N64実機だと、あんまり遠い座標に飛ぶとゲームがクラッシュする。ただ、視点を固定した状態でならクラッシュしないので、固定が必要
    • 床とのヒット判定は4フレームに1回しかしてない。その判定してない3フレームの間にも、ちゃんと床のある範囲に乗っていないと死ぬので、並行宇宙4つ分(quadraple parallel universeで、QPUっていう呼び方してる。1 QPU = 4×65536 = 262144)をほぼ等速運動で移動する必要がある
    で、並行宇宙に水とか壁とかがないことを利用して、本来壁に阻まれてはいれない場所とか、水抜きしてからでないと入れない場所に水抜きなしで入ったりとかができると。

    解説は、まあ、大体英語しかないんですが、以下の辺りにあります。
    こんなもん、よく調べたなぁ。それに、仕組みが分かったところでよく座標とか速度の管理できるなぁ…

    並行宇宙を使ったTAS更新

    このバグを使っての記録更新、0 star TASの場合、該当するのが以下の2か所。
    1. 炎の海のクッパ(2度目のクッパ)のステージ内を、後半をすっ飛ばしてクリアする(クッパがいる入り口に入る)
    2. 堀の水を抜かずに城の地下に強制侵入する(鍵が要らなくなる)ことで、闇の世界のクッパ(1度目のクッパ)を丸ごとスキップする
    1個目を実現して5分を切ったのが去年7月の更新で、2個目が実現したことで今回の30秒短縮を達成しています。

    2個目の補足ですが、扉は、ただ単にBLJの超スピードですり抜けるだけじゃダメ(裏に何もない)で、扉を開けて初めて場内のマップがロードされます。本来、水中では扉を開けませんが、並行宇宙(水がない)で扉に近づいて、1 QPUピッタリ飛んで元の世界に戻ってくれば、着水の瞬間に一瞬だけ扉を開けるフレームがあるので、そこで扉を開いてしまえるというものです。

    そして、この2個目が難しかったのにはさらに以下のような理由があったみたいです。
    • 城の外で並行宇宙に行く(1QPU飛べる)速度を得ることはできない(リフトが必要)
    • お堀の透明スイッチに入れれば、その中のリフトでBLJして、その速度を保ったまま外に出てこれる(いわゆる「ケツ量保存」)。その速度を使えば目的の強制侵入ができる
    • ただ、まず最初に城の外から、水を抜かずに、お堀の透明スイッチに侵入する手段が必要で、これがなかなかできなかった
    つまるところ、今回の4′21″67記録は、冒頭の、いきなりケツワープしてお堀の透明スイッチに侵入しているところにすべてが掛かっています。

    1 key記録

    ちなみに、今回の記録は「1 key」記録と呼ばれています。本来必須とされるものをバグを使ってすり抜けるわけですが、どこまですり抜けたかを指して、「16 stars」とか「0 star」とか呼んでいます。今回、「0 star」よりもさらにすり抜けたものが多くて、「1 key」という新しい呼び名が生まれました。

    本来、マリオ64はスターを70個以上集めないと最終ステージ前の無限階段が抜けられず、クリアできないはずです。それを、ループ判定を強制突破する方法が見つかったり、ミップ(場内にいるウサギ)を使った扉抜けが見つかったりで、必要スター数が16個に減りました(ミップを出すのに必要な枚数が15枚 + ミップを捕まえたときの1枚)。これが「16 stars」。

    その後、いわゆるケツワープの発見で、ミップなんて使わなくても扉を抜け放題になったので、スターなしでもどこにでも行けるようになりました。が、炎の海のクッパに直接行く手段がまだなかったので、ウォーターランドの1枚だけはスターを取る必要があって、「1 star」という状態に。ウォーターランドもケツワープですり抜けられることが発覚してからは「0 star」となりました。

    この辺りの流れはnaverまとめになっていたり。


    そして今回、その「0 star」からさらにすり抜けが増えたわけです。これまで「0 star」でも、クッパはちゃんと倒して2本の鍵を入手する必要がありました。それに対して、今回、1回目のクッパのスキップが実現したので、鍵すら1本で済むということで「1 key」と呼ばれることに。
  • 広告
  • マリオメーカー

    2015-10-18 12:41
    マリオメーカーを出すにあたって、マリオ関連動画を権利者削除しまくった恨みは一生引きずるぞ。
    という話、書き残しておこうかと。

    消された動画

    TAS(エミュレーター上で、どこでもセーブ、コマ送り、メモリの内容確認とかを使って理論上の最速を目指すプレイ)系動画とか、改造マリオ系の動画が全滅。
    例えば、有名なのだと、マリオ64なんかはTASが大変に熱かったのに。

    スーパーマリオ64TAS

    一時期、TASの一番人気だったと言っても過言ではないくらい投稿頻度が高かったのがスーパーマリオ64。
    絵面的に面白いバグがいろいろあって、それを駆使した超スピード移動、壁抜けなどがインパクトあるプレイ動画でした。

    120スター

    まず120スターTAS。


    120枚のスターを80分ほどで集めてて、1枚当たり1分切ってたりします。昔は1:50なTASがあったのを、一気に30分とか短縮したことでも有名。この動画が投稿された後も、なおいくつかのステージは更新され続けています。
    作ってるそばから新技術が発見されて、どんどん更新されて「完成しない」とまで言われてるスピードラン。ステージ更新の動画が上がるたびに「120スターが完成しない理由」タグが付いて盛り上がったものでした。
    今は、当然見る影もありません。消されるんだから誰も投稿しなくなり…

    0スター5分切り

    そして5分未満クリア動画。

    昔からマリオ64のTASクリア時間は5分ちょっとで、「5分を切りたい」「でも、画期的なバグでも見つからない限りなかなか厳しい」というような状態でした。
    5:28:87の記録がニコ動への最初の投稿なのかな?たぶん。この記録は2008年のもので、そこから7年の歳月をかけて、ようやく5分を切ったのがこの動画。5分切りの発端となった新技術(マリオの速度を2の18乗とかキリのいい数字にすると、地形の衝突判定を無視して出入り口とかの判定に突っ込める)がまた見事で、TAS愛好家も感動する逸品。
    割かしTAS史上に残る記念的な大記録なわけですが、見てのとおり、速攻で消されています。TASコミュニティ全体に水を差されたような状態です。

    改造マリオ系動画

    マリオ3(ファミコン後期のゲーム)とか、スーパーマリオワールド(SFCローンチタイトル)とかは、ゲーム自体を改造して作った別マリオなんかも結構あったりします。そのプレイ動画の類も軒並み消されています。
    海外のゲームなんかだと、こういう改造ものはMOD(modificationから来た単語)とか言われて、結構文化として根付いていたり。
    ゲームメーカー的にも、MODが宣伝になってオリジナルのゲームが売れたとかもあり、公認しているところとか、極端なのだと推奨(公式にMODの作り方を解説)しているメーカーもあったりします。というか、MODを買い取って次回作に反映させたりとかいう例すら。
    とかいうのもあり、個人的には「マリオに対してマリオメーカーを出す」とかいうの自体がなんか違うという気持ちもあったり。上記のMOD文化は主にPCゲームの話なので必ずしも同じくくりにできるものではないんですが…

    タイミングがまた

    任天堂は昔から厳しいは厳しいんですが、それがより一層顕著に消されるようになったのが、マリオメーカーのプレスリリース出した前後なんですよ。ほんとに。見事に。
    「マリオメーカーで公式にやりたいから、非公式のものは消すね」と言わんばかり。

    若さが足りないんじゃないか

    もっとも、権利者が正当な権利を行使しているだけではあるんですが。任天堂ハードウェアに参入してくれるソフトウェアメーカーを保護するためにも、コピーとかエミュレーターに対して厳しく当たらないといけないというのも当然の話。権利者削除を行使した方がビジネスになるのなら、削除されて当然だと思います。
    なのでここで書いてる恨み節は、やっぱ旧態依然というかトラディショナルな会社よなぁ、新しい(動画を消さない方が有利と思える)ビジネスモデルにチャレンジするところまではやってくれないよなぁ。というような、若さが足りないところへの懸念という感じになります。
    若さが足りないと言ってしまうと、任天堂に限らずというか、ゲーム業界に限らずというか、この国全体の問題っぽくも思ってしまいますが…

  • 真を写すと書きますが

    2013-04-20 01:47

    仕事関係でパンフレットやら求人ページやらに写真掲載されたりすることもあるわけですが、今までぼやけた残念な写真を載せたりしておりました。「ちゃんとしたの撮ってもらいなよ」と言われ続けていたのを、ようやく実現。

    プロに撮ってきてもらいました。歌舞伎町で

    単に活動圏からの距離的な選択だったりもしますが、せっかくの新宿なので、つい。

    「何でもブログのネタにする」と言われてかれこれ10年は経ったかもなぁ。まあ、何でもネタですが。今日のもネタにしますし。

    過程

    ぼやけた写真をパンフに載せる程度に何もわかってないので、とりあえずいろいろ試したのを見比べさせてもらうなど。

    「陰影弱くしますか?強くしますか?」みたいな。

    上着の有無とかも変えてみたり。

    「ちょっと緩い感じで行ってみます?」みたいな。

    そしてもちろんフォトショ加工。

    注文内容: 「ああ、いいですよ、人から『何年前の写真?』とか聞かれるくらいにやっちゃってください。」

    昔、この手の画像編集アプリも使ったことあるんで、コピースタンプ機能でしみ取りくらい出来ることくらいは知ってたものの。プロの手際は違う。

    美肌フィルター的なプラグインも通してる状態。このプラグイン、やろうと思えば目とか口のサイズまでいじれるみたいですねぇ。さすがに控えましたが。

    あと、首の色を修正してる。さすが4月までマフラー巻きっぱなしの自分。顔しか日焼けしてない。(普通、厚化粧で顔だけ白い女の人の首を白くするのの逆をやってた。)

    ちなみに、17枚撮って、そのうち2枚フォトショ修正かけてもらって5,000円。

    反省

    もうちょっとやらかしてもよかった。

    トルネードマート(いつも着てる服)のパンフ持ってって「これのノリで」くらいの注文してもよかったのではないかと。すっかりステマに定評がある(エンボディチェア、2台売れました)ので。

    1万円出してデザイン名刺(当然、歌舞伎町仕様)作ってもらうかどうか迷って辞めたのも、やればよかったかもなぁ。ネタに。