きのさんのページ

きのユーザー

6.4千文字の記事
  • 0
  • 0pt
掲示板へ

みるみるミルキィ

無限にアーカイ無料放送期間が延長されるみるミル
公式チャンネルexit_nicochannel

動画 内容
#1exit_nicovideo 東京ゲームショウ2014イカ幸、逆塩分しゃぶ
#2exit_nicovideo MVミルキアンを増やす
#3exit_nicovideo 山下公園、一番は作らない
#4exit_nicovideo 中華街、柄デザイン
#5exit_nicovideo ペット、みるみる体操
#6exit_nicovideo みるみる体操(録音)、生地完成
#7exit_nicovideo ミニ体育祭メイト池袋、手巻き寿司
#8exit_nicovideo ゴルフ卓球バグース)
#9exit_nicovideo 仙台演、ベニーランド牛タン
#10exit_nicovideo 京都演、ミルミルUP↑、ニセ
#11exit_nicovideo 福岡演、いず様誕生日School Daysもつ鍋
#12exit_nicovideo 手紙ゆるキャラ
#13exit_nicovideo 鮭子振り返り
#14exit_nicovideo 抱負、年賀状キャラ紹介
#15exit_nicovideo MVミルキィ一家
#16exit_nicovideo カレー
#17exit_nicovideo 開収録、すんずく
#18exit_nicovideo 年忘れライブ第九オーバードライブ!、HAPPY!絶好調、ミルキィくじ
#19exit_nicovideo ミルミルUP↑、みるみる体操(実践)
#20exit_nicovideo バレンタイン
#21exit_nicovideo シンガポールアナログ合成
#22exit_nicovideo 科学技術館
#23exit_nicovideo たいへんだったね
#24exit_nicovideo 横浜ウォーカー遊び、日本地図
#25exit_nicovideo コント
#26exit_nicovideo
#27exit_nicovideo いちご狩り自己紹介
#28exit_nicovideo スイーツ対決、第一印
#29exit_nicovideo 昭和うどん駄菓子
#30exit_nicovideo とろとろどんどん、正解はひとつ!じゃない!!、冒険ミルキィロード!!、ピンチパンチ
#31exit_nicovideo ペットだけ、卓球講座
#32exit_nicovideo 卓球
#33exit_nicovideo 地元、宇都宮カレー
#34exit_nicovideo ホットサンド宇都宮
#35exit_nicovideo ちぢれ麺
#36exit_nicovideo 上野T、サングラスバックパッカー
#37exit_nicovideo 上野お値段以上、祈祷
#38exit_nicovideo 振り返り
#39exit_nicovideo ドレスアップ

スーパーマリオ64

TASVideosexit からの翻訳


このページ的は、N64本体と同時発売されたゲームスーパーマリオ64』で知られている全てのバグ技を説明する事である。
このサイトの性質上、TASを作る上で有用なものを重視する。これらの多くは人間業では再現不能なので、TASエミュレータは必須である。

BLJ(Backwards Long Jump; 後ろ幅跳び、ケツワープ)

BLJできる場所の一覧exit も参照。
BLJは発見以来ずっとゲーマーバグ発見者へミステリーを残し続けてきたものであり、様々な使いがある。 BLJの原理は、マリオ速度マイナスになった時のちゃんとした限界値を設定しなかったという、プログラマ達の小さなミスにあった。 BLJは坂、階段や障害物に接して立っている場合にのみ可である。

  1. 障害物に背を向けて、後ろへ幅跳びする事でその障害物へ向かって跳ぶ。
  2. マリオ障害物にぶつかり着地して、再び後ろへ幅跳びができる。
  3. これを繰り返すと、一回のジャンプ毎に、マリオが今溜めている速度の45~50%くらいの速度増加を得られる。
  4. 欲しい速度が溜まったら、単純にジャンプを止めればマリオ高速で後ろへ遠ざかっていく。

BLJを死ぬ程やると、floatに収納されているマリオ速度は -229399772256808620000000000000000000000 に到達して、 その後は -1.#INF になりもう加速されなくなる。
(訳註:「float型」はコンピュータの中での実数の表現方法の一つで、±(1.xxx...)2 × 2y - 127 という感じ。 ( )2はそこだけ二進数だよって意味で、xxx... は0か1が23桁で、yは0~255整数。 「-1.#INF」は要するに - のこと。 -229399772256808620000000000000000000000 ≒ -1.01011001001010011001010 × 2^127 は1.5倍すると負の限界値 1.11111111111111111111111 × 2^127えるので -1.#INF になる。)
BLJの使いどころ:

BLJの種類

BLJの原理は全て同じなのだが、実際のやり方は色々とある。 ゲーム中でBLJができる場所はかなりの数で(ど全てのステージで少なくとも一ヶ所はある)、その全てが発見されているとは考えにくい。

Slope BLJ

マリオが滑らない全ての急な坂で可屋根にあるどの斜面はこのBLJに適している。

Elevator BLJ

多分一番簡単。 上昇するエレベータージャンプしたマリオにすぐ追いついて次のジャンプを可とするので、連続でBLJができる。 練習場所としては「やみにとけるどうくつ」や「ボムへいのせんじょう」がよい。

Low Ceiling BLJ

見えなかったり地味で見過ごしやすかったりする場所もあり、見つけるのが難しいタイプ。 (上下に)狭い場所では再びBLJになる前にマリオ速度が元に戻ることがないので、マリオはちゃんと挟まってなくてもよい。 例としては1階の柱の下がある。

Stair BLJ

BLJの中で一番初めに発見された。 Stair BLJでは小さな段差を使い、マリオが内側に閉じ込められ(?)、BLJする。 するとマリオが段の上に現れるのだが、それはマリオ速度が溜まるまで先延ばしされなければならない。 これは段差をいくつも使う事で階段を上りながら速度を溜めるか、一段だけを横に使うかで解決できる。 一段だけでやる場合、マリオはまずど階段と行になってBLJし、着地して低い段へスライドする。 (訳註:これについては この回答exit を見ると解りやすい。つまり一段上にBLJを当てる事でジャンプを殺し、一段下に降りる事で段を再利用する。) 一部の階段は内部的には坂になっているのでBLJ不能である。 古典的な使いどころとしては50スタードアへ続く階段や、「てんくうのたたかい!」への無限階段がある。

Pause BLJ

マリオが1間に15回ではなく30回BLJする事を可にする。 BLJしている間、ひたすら次の操作をする:

  1. 1フレームStart、Z、A
  2. 2フレーム:Z
  3. 3フレームStart、Z、A
  4. 4フレーム:Z
  5. 以下同様……

大まかに言って、スタートボタンフレームバッファの様に働き、1Fをセーブしている間にもう一回BLJを加えられる。 (訳註:正直よくわからないポーズの間のAが押されていないフレームはどうなるのか?) slope BLJstair BLJevebabtor BLJには有効だが、side BLJやlow ceiling BLJでは使えない。

BLJで坂を「歩く」

カメラマリオに寄せてどこかでBLJし、高速移動中にC^を押す。 するとマリオは、「」に当たるか速度尽きるまで背中の方向へ動く。 これによりマリオは「」や急勾配をスルーしたり、ランダムな(?)坂を飛び上がったりできる。 一部のスター取得やフリーランに有効かもしれない。

Grinding

マリオが落ちてはすぐ元の地面に戻るのを連続してやると、その端に沿ってボディアタックを繰り返したり二重ジャンプができる。 一部の坂を最速で上れたり、ホルへいを持っている時の「みずびたシティー」のダウンタウンなど、通常は入れない場所へ行けたりする。 あまり外側を向いていると戻れなくなるので、微妙に内側(地面のある方)を向いている必要がある。 着地したら継ぎ(?)の方へ動く事で、衝突判定が起こりマリオが再びジャンプやボディアタックとなる。

Wind Hyperspeed Glitch

ちびでかアイランド」と「たかいたかいマウンテン」で可速度を上げるのに時間が掛かるので有用ではない。 このバグをやるには、単にマリオを上のへ押しつけるような場所へ行けばよい。

Dust frames

ボディアタックが可な最初のフレームでボディアタックをしないと、ゴミフレームが発生しマリオが大きく減速する。 このフレームはボディアタックを上手くやれば発生しない。 つまり、地面に着地してボディアタックになる最初のフレームでAかBを入力すれば、マリオは最速で復帰して駄はなくなる。

MIPS (The Rabbit)

今は使われていないが、かつてMIPSは低%TASにおいて必須であった。 MIPS(ミップ)はスターを15個集めると(また50個でもう一度)地下に現れるで、通常マリオMIPSを掴むとスターを獲得し、ゲームを続行する。 マリオMIPSを運びつつドアを開ける事はできないので、このは地下の「の」部分の外に出る事を想定されていない。 しかし、MIPSをあらゆる「通常サイズの」ドア融合するバグが発見された。 これはMIPSドアの両側に置き、マリオは跳び出して「誤った」側からMIPSを掴む事を可とする。 地下の30スタードアのある部分へ入る時に使うと、MIPSは実際そこまで連れて行く事ができる。 そして30スタードアと通るのにも同じバグが使えて、ドアの側までMIPSを持って行き、Zを押しながらMIPSを放すとマリオが押されるような感じになり、ドアの反対側へすり抜けられる。 (もう一つの、より難しく遅い方法はドアの前でMIPSを手放し、MIPSドアの間にジャンプするものだった。これも同じくマリオを押し通す。) この発見はスター16個のみでのゲームクリアを可とした。

HSWK (Hyper Speed Wall Kicks)

これはBLJに似ているが、負の速度に制限がない点ではなく、壁キックの際の前方への速度に制限がないという今一つのプログラマミスを利用する。 壁キックができる最初のフレームでの壁キックを繰り返す事で、マリオ速度が増加する。 長時間にわたり壁キックを繰り返すと、スタードア無限階段さえもすり抜けるほどの速度を得る事ができるのだ!

PU(Parallel Universes)

しているドアに入るテクニックは、ずっと知られていたもののあまりよく理解されていなかったバグを用いている。 多くのプレイヤー特定地点、例えばエレベーターの上でBLJすると奇妙な挙動を示す事に気付いていた。 実機では大抵フリーズするが、エミュレータバーチャルコンソール上ではマリオが奇妙な見えない場所にワープする。 これはよくマリオコースの外側に出たのだと勘違いされるが、実際にはそうではない。 実は衝突判定マップは、そのコースに存在するものに加えて、無限の見えないコピーが一定の間隔で並べられている。 並行宇宙PUParallel Universe)と呼ばれているこのコピーは、実際のマップと正確に一致する床と天井の配置を持っているが、それ以外はど何も含まれない。 何も見えないだけでなくどのロードされるオブジェクトもまた消失するが、内の絵など一部の物はやはり存在する。
ドアを開けなくしているのはなのだから、ここでは消失が特に重要である。 さて、単にPUに行くだけではだけでなくドアくなってしまうので不十分である。 代わりにでは単に走っていく事で、実際のマップドアへ近付く事ができる。 通常のマップでの問題はによりマリオが十分下へ行けないところにある。 水中ではマリオが泳ぐ状態に移る前の1Fだけドアを開ける猶予があるが、中からの着地では硬直により3Fの間ドアが開けなくなるので、マリオドアへ地上を走っていく必要がある。 PU内のではそれが可になるが、簡単にはいかない。
PUに入ってその中でマリオの位置を調節するには、マリオ速度が 2^18 = 1QPU(2^18 はPUが4つ分の距離に等しいので、quadruple PUでQPUと呼ぶ)の整数倍になっている事が重要である。 残念の外にはいい感じのBLJスポットがいので、この速度をすぐに得るのは難しい。 高速歩行(hyperspeed walking)と呼ばれるテクニックもあるが、スピードランで使うには時間が掛かり過ぎる。 そこで々は「おほりのとうめいスイッチ」でのマイナーバグを用いる。 マリオが「おほりのとうめいスイッチ」のステージの底にある死亡ラインまで落ちると、の外にあるの底にマリオが現れる。 この時マリオ速度が保たれ、から出る時にZを押しているとそれが回復する(TASでよく使われるテクニック)のが重要である。 「おほりのとうめいスイッチ」にはエレベーターがあるので速度を溜める事ができ、そしてそれをの外で使う事ができる! 「おほりのとうめいスイッチ」との外の両方で使える速度の獲得は非常にトリッキーなのだが、ここではあまり詳しくは立ち入らない。
PUへの移行は大体実機をフリーズさせる事が知られているが、々はその回避方法を発見した(実機で試してくれたKymanに圧倒的感謝)! クラッシュを避けるには、単にRでカメラを固定モードにし、Rを押したままでPUへ移ればよい。 これ(すぐ明らかになるもう一つのバグ)によって随所で劇的な改善が見込めるだろう。 の引けていないから「おほりのとうめいスイッチ」へ入る実済みの方法は今のところ高速飛行(はねぼうしの為に10スターが必要)のみだが、々は0スターTASで使えるようなより速い方法を模索中である。 これが出来ないにしても、「ほのおのうみのクッパexit」でPUを使う事によって0スターTAS記録は0.5短縮できる!
最後に、一体何故PUが存在するのか気になる人の為に、整数オーバーフローバグの話をしよう。 マリオの位置は整数ではなく浮動小数点数なのだが、 床や天井との衝突判定に際してゲームコードはそれをsigned short16ビット整数変換(キャスト)する。 short整数は-32768~32767の範囲の値しか表現できない。 よって元の数がこの範囲をえると「オーバーフロー」して範囲の逆端へ戻る。 例えばマリオのX座標が40000.0であったとすると、これは32767よりも大きいのでマイナス側へ行き、shortへの変換で-25536となる。 (訳註: 浮動小数点数→整数の変換では小数点以下は無視されるので気にしなくてよい。 40000 - 32767 = 7233 なので40000はshortの最大値から7232だけはみ出している。最小値へ戻ってその分を進めると -32768 + 7232 = -25536 となる。もこうしたオーバーフローの処理は慣例的なもので、Cの仕様上は未定義動作である。) よって床や天井との衝突判定に関しては、2^16の倍数を座標値から足し引きしてもしないのだ!


記事編集

背景色をなるべく広く

縦書き

横の列を並べる

もほおそひみゆと
やふきらんよめり
のねついかあさな
うむへろしけまく
ちれにはをわせこ
 ゐ え た ゑ
 ぬ て る す

一文字ずつセルに入れる

       
       

改行で縦の行を作る









































【スポンサーリンク】

  • 0
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

浅倉大介 (単) 記事と一緒に動画もおすすめ!
提供: ヨハン
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

きの

1 ななしのよっしん
2015/09/21(月) 21:51:08 ID: M8+HSMwkcw
dot drawing
test
タイトル:test
Xで紹介する

急上昇ワード改

2025/12/25(木)22時00分 現在

おすすめトレンド

ニコニコニューストピックス