忍者ブログ
TAS以外のことも書いていきたい。
Posted by - 2024.11.23,Sat
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Posted by ISMin(いずみん) - 2012.02.27,Mon
きっかけがあって調べたので公開。

・ファイアボールのx速度は3ピクセル毎フレームで固定。これはマリオの速度48に相当する。

・ファイアボールのy速度は発射時は48。また、これが最高速度でもある。

・ファイアボールのy方向の加速度は4。つまり速度が毎フレーム4ずつ上昇していく。

・ファイアボールが地面や坂に当たると跳ねるが、このときのy速度の初速は表1のようになる。x速度は変わらない。

表1. ファイアボールが跳ねるときのy速度の初速
地面の種類 初速 最大高さ(pixel)
平地・壁 -48 19.5
ゆるやかな坂(上り) -56 26.25
普通の坂(上り) -64 34
急な坂(上り) -72 42.75
とても急な坂(上り) 0 0
ゆるやかな坂(下り) -40 13.75
普通の坂(下り) -32 9
急な坂(下り) -24 5.25
とても急な坂(下り) -16 2.5

・急な坂(下り)やとても急な坂(下り)は坂の裏からファイアを撃たない限り当たらない。多分。
Posted by ISMin(いずみん) - 2012.02.23,Thu
食べキャンセル
難易度C

◯概要
ヨッシーが舌で掴んだスプライトを解放してあげるテクニック。通称食べキャン。現象自体は仕様のような気もするけど意外と不具合が多い。

◯使える場所・タイミング
ヨッシーに乗っていて、ヨッシーを逃がす手段があるとき。

◯方法
舌を出してスプライトを舌で掴んだ後、頬張るor飲み込む前に敵にぶつかってヨッシーを逃がすと、食べる動作がキャンセルされ、敵が解放されます。

◯効果
ヨッシーが逃げた時点で敵がヨッシーの舌から解放されます。このとき敵の座標が元の場所に戻ったりはしないので、動かない敵を無理やり動かしたり敵を壁にめり込ませたりパックンを土管から出したりできます。

また、解放されたスプライトは他のスプライトやオブジェクトとの接触判定がおかしくなります。具体的には以下のようになります。
(1) 解放されたスプライトよりIDの大きいスプライトと接触しない(すり抜ける)。
(2) 乗っているヨッシーと接触しない(ヨッシーが逃げない)。ただし踏むことはできる。ちなみにマリオのみだと普通にダメージを受ける。
(3) マントアタック、ファイア、跳ね上げが効かない。ファイアマリオ+水中でも安心してファイアを打てます。
(4) ブロックによる座標補正を受けなくなる(多分)。ただし壁、地面、天井による跳ね返りの影響は受けます。これによって持ち物が壁にめり込んだり、蹴った甲羅など一部のスプライトは地面に沈んだり、横方向のブロック増殖ができなくなったりします。応用すれば、本来叩けない位置のブロックを叩くこともできます。

これらは一度敵を頬張って吐き出すことで治ります。

◯原理
舌に掴まれたスプライトは、舌が動くとき(多分)に座標補正を受け舌の上に移動しますが、敵にぶつかってヨッシーが逃げると、舌が消えてしまうので座標補正を受けなくなって、解放されると考えられます。

また、接触判定がおかしくなるのはスプライトの食べられているフラグ(アドレス(7E15D0+スプライトのID))がリセットされないためと考えられます。このため本来は食べたスプライトでヨッシーが逃げたり、ブロックの座標補正で位置が狂ってしまうのを防ぐための仕様が、解放されたあとも残ってしまうのでしょう。

◯応用
・甲羅持ち乗り
アイテム持ち乗りによって甲羅、メット、クリボン、ボム兵、メカクッパ、ブルブルブロックを運ぼうとしてもすぐにヨッシーが逃げてしまいますが、食べキャンセルをすることでヨッシーが逃げなくなり、これらのアイテムを運ぶことができます。(参考:アイテム持ち乗り)

・アイテム取り寄せ
食べキャンセルを行うと、ヨッシーが舌で掴んでいるスプライトのIDがリセットされないので、何らかの方法で頬張っている状態に出来れば、食べキャンセルしたスプライトのIDのスプライトを取り寄せることができます。(参考:アイテム取り寄せ(無を頬張る利用))

◯その他
魅力的な効果が多く用途が広そうに思えますが、単体では意外と使う機会が無いです。
Posted by ISMin(いずみん) - 2012.02.23,Thu
プラットフォームブースト
難易度D

◯概要
リフトで加速するテクニック。これだけで全て表している気がしなくもない。場合によっては慣性移動をやめてでも行ったほうがいいこともあります。

◯使える場所・タイミング
進行方向に進むリフトがあるとき。

◯方法
進行方向に進むリフトに乗るだけ。

◯効果
マリオがリフトに乗っている間にリフトが動いた距離分だけ距離を稼げます。乗ってすぐにジャンプしたとしても1F分のリフトの移動距離分は稼げるので慣性移動中でも少しは効果あります。リフトの上を走れば多くの距離を稼げますが、慣性移動ができなくなるので、その分のロスもあわせて考えなければなりません。

◯原理
マリオがリフトに乗っている間にリフトが動くと、マリオも座標補正を受けますが、この補正はマリオの速度に関係なく行われるので、距離が稼げます。

◯その他
逆方向に進むリフトに乗ると、当然マイナス方向の座標補正を受けてロスしてしまいます。
Posted by ISMin(いずみん) - 2012.02.22,Wed
アイテム取り寄せ(無を頬張る利用)
難易度B

◯概要
各種スプライトをヨッシーの口の中に移動させるテクニック。他にも「上書き利用」、「二度食い利用」の方法があります。口内変化しか出来ませんが、汎用性は非常に高いです。スーパーマリオアドバンス2では成功しません。

◯使える場所・タイミング
無を頬張るを使うことができ、さらに頬張るスプライトがもう一つと、ヨッシーを逃がす手段がある場合。

◯方法
まず無を頬張るの時間停止を利用する方法の要領で、口を閉じた状態で舌を出してスプライトを頬張ります。するとスプライトを頬張った直後にもう一度舌を出しますが、このときに別のスプライトを掴み、食べてしまう前に敵にぶつかって食べキャンをします。まだ何かを頬張っている状態になっているので、吐き出しを行うと先程食べようとしたスプライトが口から出てきます。

◯効果
食べようとしたスプライトが口から出てきます。吐き出したスプライトは上書き利用の時と同じく、グラフィックや挙動がおかしくなります。

他のアイテム取り寄せと同じく、消滅させたスプライトを再出現させたり、同じIDに別のスプライトを出現させることで、そのスプライトを取り寄せたりもできます。

◯原理
ヨッシーがスプライトを舌で掴むと、アドレス(0x7E160E+ヨッシーID)にスプライトのIDがセットされます。またそのままスプライトを頬張ると、セットされたIDのスプライトの状態(0x7E148C+ID)が7(ヨッシーが頬張っている)になり、飲み込みタイマー(0x7E18AC)が255になります。
無を頬張るの手順で2回目に舌を出した段階で、頬張り状態はそのままで食べようとしているスプライトのIDが初期化されます。この2回目に出した舌でスプライトを掴むと、そのスプライトのIDが新たにセットされます。このままほおっておくとただそのスプライトを食べてしまうだけですが、食べキャンをすることでセットしたスプライトのIDを維持したまま、食べることを中断できます。
この状態はセットされているスプライトのIDも正常で頬張り状態なので一見普通にスプライトを頬張っているだけに思えますが、スプライト状態が7でないため、画面内にスプライトが残っています。なので口内のものを吐き出すと残ったスプライトが座標補正を受けますし、スプライトを消滅させて他のスプライトを出現させることもできます。

◯応用
・広範囲のスプライトでスプライト産卵(スタンバグ)
スプライト産卵(スタンバグ)の記事にまとめます。いつか。

◯その他
無といってもアイテム取り寄せ(無を取得)の無とは性質が違いますとかいいつつアイテム取り寄せも出来てしまうという。無いのにいろいろあってやっぱり無いとかややこしい!
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
[02/15 NONAME]
[05/01 NONAME]
[11/03 Mr.]
[02/28 IT志望者]
[02/28 NONAME]
プロフィール
HN:
ISMin(いずみん)
性別:
男性
自己紹介:
別名ISMさん。なぜHPのタイトルといっしょになったのだろうか。荒島博久さんは旅に出ました。
ブログ内検索
最新トラックバック
Template by mavericyard*
Powered by "Samurai Factory"
忍者ブログ [PR]