マリオサンシャインを研究するブログ

マリオサンシャインのRTA,TASについて考察する。オタク向け

QFがズレる現象

 マリオサンシャインにはQFという概念があり、ゲーム画面としては描写されていないが地形やオブジェクトとの接触判定をおこなっているフレームが1Fにつき4個存在する。

 地形に対してはその4QFすべてで接触判定をされているが、オブジェクトに対しては1Fに1回しか判定されていない。

 デフォルトでは画像のように0QFが描写され、基本的にその状態でゲームが進行していくが、特定の行動をすると描画QFがズレる現象が発生する。具体的には以下が該当する。

・ポーズ画面を閉じる(1QFズレ)

メモリーカードがない時に、ポーズ画面でセーブを選びメッセージウインドウを閉じる(2QFズレ)

メモリーカードがある時に「セーブしないで続ける」を選ぶ(3QFズレ)

・マップを閉じた直後、最速で開き直す(1QFズレ)

ドルピックタウンヨッシーに初めて乗った時に出るセーブ画面の表示(ヨッシーに乗った時のQF番号に依存する)

・QFがズレている時に青コインを取得する(デフォルトの状態に戻る)

 

 これらは、ゲームが一時停止する事によって結果的に描画QFがズレてしまう。

例としてポーズ画面を開いて閉じた時を考えてみる。

 デフォルトの0QFが描画されている時、スタートボタンを押すのも当然0QFであり、ポーズ画面を開くとその0QFが描画されている状態でゲームが一時停止する。

しかしポーズ画面の解除にかかるQF数が4nではないため、解除してゲームが再開し始めるQFが違うところになってしまう

 メモカなしでポーズ画面のセーブを選ぶ、メモカ有で青コインなどのセーブウインドウでセーブしないで続けるを選ぶ、によるQFのズレも同じ原理となる。

 ヨッシーも同じであるが、ヨッシーはオブジェクトと違い1Fに4回判定されているタイプなので、乗った時のQF番号でゲームが停止し、メモカ有の場合はセーブしないで続けるを選ぶと更に3QFズレる。

 例えばメモカ有の状態で2QF目でヨッシーに乗ったとしたら、セーブ画面では2QFが描画され続け、セーブ画面を閉じた時に3QFずれて、最終的に1QFが描画QFとなる。

 

 では青コインを取得でデフォルトの状態に戻るとは何か。先ほどの図を見てもらえば分かる通り、描画QFがズレてもオブジェクト接触判定のQF番号は変わらず3QFのまま。

 青コインはオブジェクトであるため、描画QFに関わらず常に3QFで接触判定される。実際にセーブ画面によってゲーム画面が停止するのはその1QF後の4QF(=0QF)からであるため、青コインを取得するとデフォルトの0QFが描画されるという事になる。

 メモカなしの時にセーブ画面を閉じる場合は、閉じるのにかかるQF数が4nのため図のようにそのまま0QF描画に戻る。

 

 以上がQFがズレる現象の解説となる。これを利用したTASがイカサーフィンであるので、理解してから見るとまた面白いかもしれない。

【ゆっくり解説】マリオサンシャイン講義「イカサマサーフィン」 - ニコニコ動画

120枚TAS制作の振り返り

 足かけ5年弱、とうとう120枚TASを完成させてしまいました。

ニコニコ動画のエンディングで少しだけ感想や制作中の新発見なんかを振り返っていましたが、あまりにも尺が短いのでブログにでも書き残しておきます、めちゃくちゃ量が多いです。

120枚TAS以前のTAS活動

 私がTASerになったのは2013年の11月頃でした。この半年くらい前、2013年5月頃にも120枚TASプロジェクトと言うのは存在していて、ビアンコ5に入ったところまで公開されていました。ルートは今とは少し違い、ヒミツ赤コインを取っていたり砂浜やスライダーを取っていたり、ビアンコ4で青コインを取得していました。動画は恐らくネット上に残っておらず見る事はできないものの、その動きの洗練具合は私を含めた多くのサンシャインプレイヤーに衝撃を与えました。この時のプロジェクトには私は関わっていないので詳細は分かりませんが、サンシャインはまだまだ研究の余地があるという事で凍結したと推測します。

 このTASを見たおかげでサンシャインは突き詰めるとこんな動きができるんだ、と少なからず私がTASをやってみたいと考えるきっかけになったと思います。

 

 TASerになってドルフィンの使い方を少し理解した頃、なんとなーくany%をなぞってみようかと挑戦してみました。まだヤシ抜けが発見されてない時代だったのでチュウハナどうしようという懸念はあったものの、まぁ初代49枚TASと当時のRTAより速くなればいいかとあまり深刻には考えていませんでした。

 

 ビアンコ5まで作り終えた後、ドルフィンの設定ミスによりdesyncが発生しやすくなってる事に気づき、なくなく最初から作り直していた時、ヤシ抜けが発見されました。

 これによりチュウハナを回避する事ができるようになり、だったらちゃんとany%を作ろうと本腰を入れる事にしました。この頃の自分のモチべと体力は恐ろしく、なんとたった2か月で44枚TASを完成させました。1日でシャイン3枚作ってる時もあり、制作速くない?と別ゲーのTASさんに驚かれていたのを覚えています。

 any%を作った後はニコ生配信環境を整えた事でしばらくRTA、特にホバ禁に取り組んでいました。2015年になり20枚TASを制作。この頃から動きが今のTASに近付きつつあります。

 20枚TAS後はホバ禁TASに挑戦していましたが、リコ4辺りまで作り終えたところでEYGが見つかり5分以上戻る必要が生まれた事、ワンワンでも鎖掴みキャンセルによって更新が可能と指摘された事、その他最適化できるシャインがあった事から最初から作り直し濃厚となり自分としては初めてモチべが消失して制作を中断したTASとなっています。

 ただホバ禁TASで得たものは大きく、ホバーが使えない事で必然的にマリオに慣性を乗せる必要があり、ビアンコ5の山登り、モンテ5の橋滑りからの慣性ジャンプで、金網ではなくキノコに着地するというルート、ピンナ3の最速ルートの原型を開発する事ができました(数年後にピンナ3は改良を加え更に速いルートを作りましたが)。

 

 2017年9月になるとany%更新版の制作をおこないました。確かany% WR history的な動画を海外勢が上げていたのを見てそろそろ更新するかとなった気がします。

 丁度同じ時期にGoldfire氏がビアンコ3のアプローチ案をyoutubeに投稿しており、協力をお願いしました。氏に直接制作を頼んだのはビアンコ3のみですが、ビアンコ5のアプローチも入力を拝借しています。

 この更新版any%も半年というかなり速いペースで完成しました。動きも極まり大幅な更新はできないようなクオリティに仕上げたつもりでいたのですが、海外勢のTASerに何か所か更新案を指摘されました。それでも2秒行かないくらいだったので自分としてはもう技術レベルに関しては頭打ちになったかなと。多分any%に限界が見えたのが120枚に手を出すきっかけになったんだと思います。

120枚に着手してから

 動画でも書いた通りany%と同じ動きをするシャインが多い序盤ですが、入力をそのまま使わずに更新できないか探りながら進めました。というより入力をコピペするような機能は備わってないので、使いまわす場合は全フレームの入力をメモするか、ドルフィンを2つ起動して片方で入力を表示しながらもう片方で真似していくみたいな作業が必要になります。一応有志が作成したコピペできるツールは持っているのですが、入力数が膨大なサンシャインではコピペ元を探すだけでも苦労するので上手く活用はできていません。

 このメモなりドルフィン2つ使うなりといった方法はかなり面倒なので、ある区間ごとの到達フレームだけメモしてて新たに作り直し、ロスが発生したらどこでロスしたか見比べて確認する、という手法で作成した結果any%のシャインのほとんどを更新したという感じです。

 序盤の制作は2018年と相当古いにも関わらず、最適化に関しては今と遜色ない部分もあり今作っても同じタイムしか出ない事がちょくちょくあります。風車壁キックとかビアンコ3ヒミツ内部とか。

 とはいえまだ制作が楽しいと感じるほどではなかったのか結構モチベにばらつきがあり、最初のボスパックン戦を作るのに数か月要していたりします。なおその数か月のおかげでボスパックンの水の飲ませ方の改善案を思いついたので結果的にはプラスに働きました。

 ビアンコ3のアメンボルートの更なる改善、ビアンコ5で予定より2枚多く青コイン取りつつボスパックンに最速ルートを取らせるなどができた辺りから、120枚は私にしか作れないのではと思い始めました。後でも触れますがこういう自信が長期制作のモチベーションに繋がっています。

 

 マンマビーチ解放パートでは砂浜シャインを取らないのかと海外勢に言われることが多くありました。当時から既にそういうルートがあるのは知っていましたが、ドルピック前~マンマまでの移動が発生する事や、警察署青コインを今取る事で寄り道がなくなる事を加味した結果不採用にしています。しかし、今となってはフルーツなしで警察署侵入もできるので青コインを取りながら砂浜シャインをロスなく取る事も可能だと思います。

 マンマ偽ではRTAと同じ青コインだとかなり時間が余るので、何か他に取れないかの調査をおこないました。まぁこの調査自体は120に着手する数日前に既にやっていたので本走では追加調査はしていません。この調査の成果が出るのは4年後。

 

 モンテ村ではanyの最適化の甘さを感じる場面が特に多かったです。速度や座標をちゃんと見ながら作っていれば回避できたロスがキャンキャンで1か所、モンテマンで1か所、ワンワンで2か所、村裏で1か所、救出で1か所もありました。

 最適化の面で言うと救出で立ち止まる技術が向上しました。会話するためには速度0の直立状態でいる必要があるのだから当然です。これは主にニュートラルで減速する技術で、地味にシレナ100でも役立ちました。ちなみに救出はニコニコ生放送でTAS制作を垂れ流していたりしましたね。TAS制作放送は珍しいだけに需要はそれなりにありそうですが、数十分数時間似たような光景が続くだけでなく、今なんの入力をしているのか、何の調整をしているのかなど制作者にしか分からない情報が多いので大多数の人にとっては面白くはないと思います。あとPCスペック的にフルスピードで動かせないドルフィンの動作速度が、配信による負荷で更に遅くなるという作業効率の面でやりたくないという事情も大きいです。

 話が逸れましたが、モンテのニセマリオでは青コイン回収部分でベイブレードによる短縮が可能で、120枚で最初に諦めた更新余地となっています。ベイブレード発見時はピンナ5まで進んでおり、同じくベイブレードで更新できるピンナ3には戻って作り直しましたが、それ以上の引き返しは断念しています。それほどまでにピンナ2のキラー調整と大砲抜けは面倒で、数か月モチべが折られていた場所でもあったのでもう1度作る気力はありませんでした。今は斜面抜けの座標位置が計算可能なので多少マシになってますね。

 ピンナ2外部自体もフルーツでの直角抜けで速くなることが判明しています。もはやフルーツでのすり抜けがなくなったサンシャインTASで新しくフルーツ抜けが出てくるのも面白いですね。

 ピンナ3も金網抜けで更新できますが、動き自体は制作者の私ですら最初に等速で見た時は目が追い付きませんでした。TASer視点のない一般視聴者やRTA走者にはどのように見えているのか結構気になります。

 

 ピンナ6は外部では青コインのルートの研究をしました。RTA勢が何通りかルート案を出していたのですが、最終的にはオリジナルルートとなっていますね。ここではヨッシーの歩きでニュートラル維持をまだ使ってなかったり、蝶を食べる時にB連打の短縮を使ってなかったり、ヒミツ入る時に他のヨッシーオブジェクトに押してもらってなかったりと細かい更新余地が新たに見つかっています。

 内部では反転慣性スピンという新技術を開発していました。ポンプが使えない状況下では基本的に最も慣性を残せる方法で、ダイブ復帰の着地の瞬間スティックを引いて反転モーションを出すだけです。通常の復帰慣性スピンが速度36くらいだとしたら反転慣性では39くらい出ます。あと後半のルートも氷ブロック側ではなく左側を壁キックする新ルートになりました。以前から改良したいと思っていた部分だったので実現できたのは良かったです。

 

 ニセマリオではマーレ同様上から近づくと反応を遅らせられる事に気づきました。マーレ偽の瞬殺を発見したany%制作後にピンナで検証した際は厳しそうという結論だったのでその検証は何が悪かったのか地味に気になります。そして復帰ショットガンではどうやっても倒せなかった事が当時は心残りではあったんですが、後日ピンナ偽だけ体力が1.5倍くらい多い事が判明してようやく安心する事ができました。

 

 リコ1は調査量が膨大でこれも数か月停滞しました。ボスゲッソーに向かいながら限定青コインを集めるRTA式と、ボスゲッソーに1ダメージ与えた直後の若干の空き時間で双子をやりつつ限定青コインを集めるアイデアの2つは、そもそもストーリー開始直後の動き方から異なるというめちゃくちゃ比較範囲が広いものとなります。それだけでなくRTA式は双子青コインを100枚コインで取っているので、100枚コインでのタイム差も調べる必要がありました。結果はTAS式の方が数秒単位で速かったので調査を頑張った甲斐はあったと思います。

 リコ1を終えてからはモチベが急加速したもののマンタでまたも足止めを食らいました。あれは綿毛、チュウハナクラスとまではいかないもののそれに準ずる難易度です。何とかマンタを突破した後は2か月弱でコロナマウンテンの1回目まで到達しました。

 とはいえシレナ2外部が1F更新できると分かっていながら赤テレサの乱数調整が上手くいかずに諦めていたり、マーレ1→2でのステージ再突入でも1F更新を諦めていたりと、ハイペース過ぎたがゆえの妥協もあったのは反省点です。今はシレナ外部もマーレ再突入も更に1Fずつ更新できると判明しているので結局更新余地が残る事に変わりはありません。

 それでもシレナ2ヒミツ最後の坂滑り法の改善や、シレナ3で後ろを向かずにバナナ抜けが可能という事、ボステレサで床の下にショットガンを撃ってルーレットを短縮するといったアイデアを新たに生み出しているので総合的に見れば良い出来ではありました。

 

 マーレはボスパックンスキップを除けば120枚の中で最も更新余地があるステージになってしまいました。斜面抜け、L字抜け、ウナギ7本抜きの3つだけですがこれだけで10秒近いです。ウナギは人力でもできるという事で唯一TASに勝てる区間となってしまいました。

 7本抜きが見つかったのはドルピックタウンのシャイン集めの最中で、流石に作り直す気にはなりませんでした。とはいえあれだけ過去の地点に更新案が見つかってもまぁしょうがないと流していた自分にしてはかなり長い間引きずっていたと思います。

 動画ではこれ以上の事は語りませんでしたが、どうしてこれだけウナギを引きずったのか思い返してみました。仮に斜面抜けやL字抜けで人力に負けたとかだったらダメージは全然なかったと思うので、やはり"制作中に気付けていたかもしれない"というのが1番の理由だと思います。ウナギの奥歯を抜いた後に発生する、他の歯を磨けなくなる制約が口閉じでリセットされる理由をちゃんと考えていれば自力で到達できていた可能性は高く、6本抜きが限界という先入観のみで作っていた事を悔いていたのは間違いないです。これに対して斜面抜けは大砲抜けと同じ原理なものの、床の厚さ30ユニットとか床の三角形の頂点座標とかを確認する術を当時持っていなかったので自力での発見は不可能でしょう。L字抜けに関しては座標はそこまで厳しくないものの、壁の判定や床の判定を理解していないと応用ができないのでこれも自力で見つける事はまず無理と言えます。

 

 コロナマウンテン1回目は後半の青コイン回収部分はなんか雑だなと今見ると感じます。特に空中速度は80で上限とか、滑る速度も上限があるとかを理解せずに作っていたので岩渡りの軌道はもっと最適化できると思います。まぁそもそも水面抜けで更新できそうではあるんですが、奥の方は水面の境界が壁際ギリギリみたいなとこにあったと思うので、泥船より奥のエリアでは水面抜けは実用的ではなさそうです。

 ドルピックタウン編においてはワンシャインRTAを参考にしていたのですが、通しの状況と比べると暗転明け直後の動き出しが異なるため、これに気付くまではRTAやたら速くねって思いながら作っていました。確か鐘の下ターボルートを検証してた時に、もっと差がつくはずなのにおかしいなと思ってノズル取得時点でのタイムを見た事で気付きました。

 ドルピックではフルーツ運搬がめちゃめちゃ多いのがしんどかったです。特に毒川はヤシの木の葉っぱにフルーツが引っかかって勢いが殺されるので、なんとか回避するためにフルーツを空中固定する高さやショットガンを当てる高さを工夫する必要がありました。そういえば毒川は当初シレナ解放直後ヨッシーで入る予定だったんですが、フルーツ抜けで入れる事が制作中に発見されていました。ちょくちょく数か月単位で停滞していた事さえもプラスになっていたのはひたすら運が良かったと思います。まぁ今はフルーツすらいらなくなったのですが。

 シャインを取る順番としてはフルーツすり抜け系→海側系→ロケット系→その他みたいなコンセプトで取っていました。警察署に関しては火モンテと両立して取るのが良いのかの調査をしていたためにアルバイトより後での取得になっています。

 アルバイトではパイナップルバイトで話しかける直前に3つのパイナップルが綺麗に集まるところが特に気に入っています。乱数もそうですがマリオの座標の僅かなズレでも飛び方が変わってしまうので次回以降作ろうと思ったらしんどいと思います。その点ドリアンは蹴る瞬間のスティック入力で軌道がある程度調整できるので親切です。

 エアポートではアルバイトしながら集めていたコインのおかげでルートを改良する事ができました。海外勢にルート案を募っていくつかアイデアはあったのですが、その中には改良ルートの逆回り版みたいなのもありました。あとターボジャンプ中にターボをいったん解除して軽押し状態で維持するっていう技術もこの辺りで教えてもらった記憶があります。

 

 ビアンコ2周目(訪れるの自体は3回目ですが)は乱数調整に苦心しました。ビアンコ3赤は元から覚悟していましたが、当初予定になかったビアンコ8とビアンコ1でもアメンボを使うアイデアが浮かんでしまったので急遽Noki doki氏にアメンボの座標アドレスを教えてもらいました。この時はまだObject Viewerが開発されていないので情報が知りたい敵は毎回調査してもらっています。

 ビアンコ8で橋の下の青コインを取るのが良いんじゃないかと言うのは結構前から考えていて、その分100枚コインで取れなくなる黄色コインを他の場所で補てんできるか検証した結果、全然余裕だという事で採用しました。
 しかし復帰ロケットを多用したら水が足りなくなる事件が発生して、何とか水を確保するためにロケットの噴射を弱めるテクニックを2か所で使ってギリギリ大風車の屋根に届かせる事ができました。ロケット水足りない問題は2018年のanyにおけるクッパ戦でも起きていたので、ここで節水の知識を得ていたのが功を奏しました。
 ボスパックンスキップをするとビアンコ8で風車のM字を取ると思うので、これはもう流石に給水を挟まないと水が足りないですね。もしくはビアンコ6でヒミツに向かう道中で取るのもありかもしれません、いずれ2回目を作ろうとなった時にちゃんと検証したいと思います。

 

 ビアンコ1では初動右のアプローチが完成し、これはいろんなストーリーで使いまわせることが後で分かりました。どろパックン撃破後の強制ワープを何とかする方法はないのかを考えていた際、同じく強制ワープのあるチュウハナで調査していたらそのままチュウハナの調査に発展して、ロープバグ、チュウハナ押し出し、鏡の端でチュウハナに水を当てると落ちる、何もせず放置してるだけで落ちるなど様々な発見が起こりました。肝心のどろパックンの強制ワープには何も発見はなく、ロープで速度を保存しておけばムービーで解放される事を思いついたくらいです。

 

 ビアンコ100は自分の想定より30秒も速く蝶に辿りついたせいでヤシ飛ばしやハチ処理含め1万追記以上かけたのがやり直しになったのが懐かしいですね。ここから自分の試作や予測が全く当てにならない事が増え、自分の技量が自分で思っている以上だという自覚が生まれました。2022年に試作したシレナ100でもリコ100でも同じような事が起きているので本気で作った時のクオリティの高さは推し量れないです。

 ビアンコ100の話に戻ってここは実質最多追記となっています。追記数だけで言えばチュウハナの方が多いですが、あれは水面抜けの練習とか斜面抜け計算ツールをいろんな場所で試していた時の追記も含んでいるので、純粋なシャイン1枚だけのものならビアンコ100が最多です。4万8000のうち1万追記はさっきも書いた通りやり直しになったやつで、やり直し後はハチ処理終了時点でトータル3万追記くらいでした。ビアンコ村エリアだけで2万弱もかかってるの結構おかしくて未だに信じられないのですが、ハチ処理前に木からコインを1枚取っておいた方がロスが少ない事に気づいてハチのやり直しが起きているので多分そのせいだと思います。

 このシャインは追記数も相まってかなり自信作だったのですが、ヨッシー水滑りが木の葉にヒップする事で発動できる事が発見されて更新余地となってしまいました。ヨッシー水滑りは研究していたのですが木の葉は思いつかなかったので残念です。他にはマンマ100でヨッシー誕生時にどこを向くかの調査をして、反応したフルーツがあった方向と分かった事でこれも更新余地になると思います。具体的には、ヨッシーの向きを事前に進行方向へ調整していれば、ダイブ復帰でヨッシーに乗って即慣性スピンを出す事で歩きよりも速く移動ができるはずです。

 

 ビアンコ6赤は通常のヒミツの時にターボを解放しておき、ボスパックン寝床の青コインからの壁抜けでターボを使うルートも調査していたりしますが、10秒くらい遅くなります。この壁抜けも海外勢に教えてもらいましたが、ヨッシーで寝床青コインの山に向かうべきか、6赤の時にロケットで向かいその後めっちゃ遠回りして湖に行くのかどっちにするかというジレンマを解決してくれる神掛かったルートだと思います。ちなみに壁抜けの理屈は単純に三角形の設置忘れだと思います。

 

 実はビアンコのステージロードで変化するメモリにはドルピックタウンのホバーの値と同じアドレスのものがあり、シャイン取得順を変えればビアンコ終了後にハイパーホバーを起動する事が可能でした。短縮になるのかは実際分かりませんが鐘の下に使える可能性はあります。

 バナナアルバイトは空中固定をふんだんに使っているので初期版以外で作ろうとするとしんどいです。バナナはショットガンを当てても大して浮き上がらないのでドルピックの建物を越す事がまずできません。アルバイト後はシレナ、マーレが近いですが、マーレに行く方が速いです。

 

 マーレ2回目ではコインフィッシュをやっている最中にみかんさんが海底ホバーがアナログ入力すると違う挙動になる事を発見しました。この発見によってスイッチ版の海底ホバーの出始めが弱い理由も分かりました。スイッチ版はボタン入力しかできないために、Rボタンを押し続けるにつれてアナログ入力を深めるという事をやっているようです。ノーマルノズルも同じなので同じく出始めが弱いというわけですね。対して地上仕様のホバーノズルはアナログ入力による違いはないためスイッチ版でも挙動が一緒になります。

 脱線はこのくらいにして、海底仕様のアナログホバーのすごいところは通常ホバーを使うと上昇してしまうところを、むしろ沈みながらホバーができる事です。そしてここに移動速度(より正確にはフレームあたりのマリオの移動距離)の上限は80であると知った事で、速度80を保てるギリギリのアナログ入力をすると最速移動をしながら沈めるという理想的な動きができあがります。多分ウナギの青コイン回収でも使えますが、ビン赤は使っても短縮になりませんでした。ちなみにこの時はまだノーマルノズルのアナログ入力の有用さには気付いていません。

 コインフィッシュは青2枚チャートだと合体後にマリオが到着するので最適化が難しいです。8枚一気取りをするにはホバーの時間がかなり必要だという事で、分裂後に低い位置を通る赤コインがないか調べました。こういう作業はホバ禁コインフィッシュ研究でもやっていたので懐かしかったです。結果1枚だけ丁度良い位置を通るのが見つかり、TASっぽさに拍車をかけられたと思います。海外勢のリアクション動画でも、コインフィッシュは退屈になるだろうと言っていたのが分割取りをした事で手の平返ししていたのが面白かったです。

 マーレ100枚は全ノズルを駆使するダイナミックな内容でした(RTAも同じと言われれば返す言葉もありませんが)。OatがTAS専用の青コイン回収ルートを作ってくれて、RTAよりもロケットパートで回収するのが2枚多くなっています。水面抜けおよび水面生成の条件が分かった後は、ターボ取得後に空中で水面生成をやれば即真下の水面までワープできてターボの水上速度にすぐ到達できるため速いんじゃないかと思いましたが、マンマ100での水面生成の経験からヒップドロップなしでは生成した水面を利用できないので不可能となりました。

 マーレ100までは2020年の制作でした。アニメラブライブの虹ヶ咲1期が最終回を迎えたあたりで作っていたのが印象深いです。そしてここからサンシャインTASに革命が起こり続ける、サンシャインの長い歴史の中でも1番と言って良いレベルの変革を迎えましたね。タイム短縮だけで言うならGBSには敵いませんが。

 

 2021年は綿毛の制作から入りました。当時の戦略としては、初期配置の段階で近い位置にありマリオが近づいたタイミングで上手い事消えてくれる綿毛を見つけられれば妥協しようという感じでした。正直ツールなしでこれをクリアしたのは褒めて良いと思います。ワープ先も綿毛の掴み状態を即解除できる葉っぱの上に調整できていたので妥協しても文句は出なかったなと。そしてまさに妥協できる綿毛を見つけたタイミングでGoldfire氏が綿毛ツールを使ったワンシャインTASを上げていました。そのワープ先は葉っぱではなくシャインの足場の真下という明らかに最適だと感じられるものでした。

 そして氏の動画は入力表示があり、よーく見たら開幕の水滑りでR:○○と表示されているのが見えました。ドルフィンではRの深押しでは単に「R」とだけ表示されるので、「R:」と表示されるのはアナログ入力が使われている事を意味します。ここでようやくどうやってショットガンを使わず足元を濡らしているのかの答えを得てアナログ放水の有用さに気付かされました。ちなみにツールにはスピン入力可視化ツールが付属しており、更には「カメラを動かしていると1Fで2方向の判定を得られる」という情報も教えてもらいました。この2つの情報でTASの進化は更に進みます。

 ちなみにツールの開発は数か月前から取り組まれていたと聞いたので、恐らくはビアンコ100突破辺りから行われていたと思われます。

 ツールの説明を受けて制作にチャレンジしましたが、綿毛は知らなかった情報が多く苦戦しました。まず風の抵抗値、いわば風に流されやすいかどうかの値です。これは隠しシャインではなく赤コインの方で重要となりました。次に綿毛がリスポーンする時のブレ。これは同じ乱数から綿毛がリスポーンしてもその位置にズレを生じさせます。と言ってもツールがなければこのブレというのを感じる事は不可能です。最後に雲へ飛んでいくために使われる綿毛の選ばれ方。これも赤コインで重要になります。

 ツールを得た私は乱数を片っ端から試してみて、それまでは正面左側にあるキノコでワープを起こすのが最速だったのを、右側のキノコで起こす方が速い事を突き止めました。正確にはワープ自体の速さはやや劣るのですが、その分高さを稼げるので総合的には右側の方が速いといった感じです。

 まず綿毛に掴まった直後は硬直が発生するのでワープは硬直が切れるタイミングとピッタリ合うようにしています。これが1番調査に時間がかかり、ほぼ総当たりで探していたと思います。

 綿毛がワープした際、スティックを上に倒しているとマリオが勝手にジャンプします。この時のジャンプは綿毛の出現時のブレには影響されないので、ブレた後の位置でジャンプをする時は1F遅らせます。このジャンプで足場に乗り、そのままスピンジャンプを出しているのがTASのやり方です。

 綿毛の出現する高さには上限があるので、足場への着地を早めるには綿毛の高い位置に掴まった状態でワープしなければなりません。そのために右側のキノコの崖つかまりで角度調整と高さ稼ぎを同時にやっています。

 

 赤コインでは最初の綿毛ワープで風の抵抗値と出現時のブレの両方が都合のいい綿毛が見つからずに乱数の総当たりをしていました。多分ここでメモリ監視ツールの乱数を手動で書き換えるという効率の悪い総当たり法をしていたのを知って、後の乱数調整ツールでは1クリックで乱数をずらせる機能を搭載してくれていたんだと思います。配慮がすごい。

 このシャインではホバーの下降バグという、今までに何件か観測していたものの条件の全く分からないバグを利用しました。というか制作した時も動かない床では反転モーションが必要と言う事しか突き止められていません。後の検証でなぜか反転モーションの切れた直後は床の判定がない部分を歩く事ができる事が分かりそれがバグのトリガーだと判明しました。このバグは使える場所はほぼありませんが、高低差さえあれば床の判定を突き抜けるポテンシャルはあるので、なぜ反転モーション直後は床認識がおかしいのか詳細な解析が行われて欲しいです。

 ちなみにこの赤コインの制作時にハイパーホバーが発見されていました。水平方向の速度でぶっ壊れる事はなかったサンシャインであまりにも大きな発見でしたね。今後のフルゲームランでも必ず考慮しなければいけないので厄介です。

 

 モンテ100では昔からザチキンに言われていた、蝶が1匹残っているのに青コインが出てくるバグの調査を本格的にしました。なんか適当に入力してたら偶然発動して、それをフレームごとに見てたらなんか虚空で食べてる判定出てるように見えたため、もしかしたら同じ蝶を2回食べているのかもしれないとヨッシーが食べた蝶をカウントするアドレスを探して裏取りを得ました。ハチでもできるのかもしれませんが、その場合は多分黄色コインが出てこないので100枚コインと両立する種目では意味はなさそうです。

 

 村裏赤は内部の真上投げのモンテ族が手前で止まってくれる確率が低いため、Nokidokiにタイマーアドレスを教えてもらいました。通常時のヒミツと違いポンプ使えるので内部でも乱数調整ができるのはありがたいですね。

 

 ピンナ2回目はまず大砲抜けで入る必要があったのが頭を悩ませました。この時はまだ斜面抜けも出てきていないので適当入力ですり抜けるまで粘りました。1度すり抜けさえすればその座標が目印となるので再現するのはそこまで難しくなかったです。

 

 ピンナ6赤は理想周期に間に合わせる事ができたのが満足感高かったです。7枚目の赤コイン取得後グリッチキック崖つかまり→反転ダイブとしていますが、ただの壁キックからだと最後の上昇リフトに掴まる事ができません。そのくらいギリギリの周期でした。この辺りからは試作で課題としていた部分を本走で解決できた事例が多くてより一層自分のTASが好きになっていきました。

 

 ピンナ100はクリンを食べた際にコインが散らばらずに出現する条件を突き止めました。ポンプの水で落下してる時に食べ、クリンが地面の下で消滅するとコインも地面の下で出現し、床である砂浜に即着地するという仕組みです。なのでところどころヨッシーから降りてクリンに水を当てているわけですね。ヨッシーから降りるロスよりもコインが散らばらない短縮の方が大きいです。

 そしてここでは2つ目の専用ツールである砂浜コインのマップを今度は依頼しました。実は完成したツールを貰ってから制作に取りかかるまで少し日が開いていたりします。後半シャインでちょっとモチべの停滞が見られた唯一のシャインですね。むしろ難易度がエグい後半でここ以外高いモチべ維持してたのすごすぎるというべきか。

 

 そして風船割り、自分が最も個別TASを作ったシャインです。作る度に課題が残るシャインで、1番新しく作った個別は遂にカウント重複も使う領域でした。その時に残った課題は、「最初の上り坂を上りきってから先のボトルを取得し、3連風船を割って20にするのは待ち時間あるなぁ」という事でした。要は上りきった段階で終わらせたかったんですね。しかしこれを達成するには2つ多く風船を割る必要があり、割り方も洗練され重複も使っていたTASからそれ以上多く割る手段は思いつかず、本走でも改善は無理かなと思っていた部分でした。

 これを解決したのは、2つの風船に2つのロケットを同時に当てて4つ分のカウントを得ていたのを、3つのロケットを同時に当てて6つ分のカウントを得る事でした。しかしその3つ目のロケットを得るためにはリスポーンを早くさせる必要があり、それがボトルロケット同士の衝突になります。まぁこれは画像とか出して解説しないと伝わらないと思うのでこれ以上深堀するのは止めておきましょう。

 何はともあれ課題の残らない風船割りを作ることができて最もお気に入りのシャインの1つになりました。

 そういえばニコニコの解説では風船割りに向かう時の開幕Y視点でメモリを調整しているとか書いていて、実際あれでメモリを調整しているのは事実なのですがシャインキャッチ時のカメラの動きでメモリが上書きされているので実質意味はないです。ここに関しては今でも何のオブジェクトが映るとメモリが変わっているのか突き止めることはできていません。

 

 草原は残念ながら語る事はほぼないですね。一応初手に正面のサンボヘッドから処理しに行くルートは調査しています。

 

 マンマビーチ2回目入った辺りでsuさんによって水面抜けが発見されてしまいました。この1か月くらい前に私がyoutubeのカジュアルプレイでマンマの水面を泳いでいたら突如OoBして死ぬ切り抜き動画を見つけて、こういうのコロナにもないのかなとツイートしていたのがコロナで調査をされたきっかけなんじゃないかなと想像しています。

 当初は自分ですり抜け座標を特定できず絶望感が強かったですが、サポミクさんが解明を進めてくれて遂にはツールも提供してくださりました。ただこの時にはまだ水面抜けできる場所とできない場所の違いまでは調べておらず、マンマで使えるかどうかは未知数でした。こういう解析は自分にはできない分野だという事で、裏ではチュウハナツールの制作を依頼しつつ、その間水面抜けを使わないシャインから取り組んでいきました。

 隠しシャインのハイパーホバーはピンナ8から起動した場合、バグの発動は海の家2号館辺りの方向です。そのため、2号館側に背を向けて出来る限りのマイナス速度を得た後、Y視点でシャイン絵側に転換するというアイデアで対処しています。グリッチキックの要領ですね。

 

 S1では木の芽に水を当てる方法を改善しました。以前は復帰の着地までしてから反転と同時にショットガンするなどで起動していましたが、復帰を少し遅らせて滞空中にショットガンを撃ちこんでいます。この方が単純に速いだけでなく水滑りの時間が増えて距離も稼げるので赤ポイハナをムービー中にギリギリ踏むことができます。

 ヒミツ内部では丁度twitterで砂ブロックワープの動画が流れてきたのもあって、それをちゃんと調べてみる事にしました。バグ自体は昔からAボタンチャレンジの個別TASでも使われていたので知っていましたが、発動方法とかワープ距離に関しては深く知りませんでした。

 調査した結果、砂ブロックの復活のQFによってワープ距離が変わると分かり、ついでにAボタン0回のTASを作ってみました。本当はこのワープを通常ヒミツでも使いたかったのですが、シャインの位置が高すぎて届きません。

 シャイン足場への上り方もIL式はなんか遅そうというのを前から感じていたので新たに模索する事にしました。これが予想外に時間がかかりましたが、人力にも影響を与えるルートを開発できたので嬉しかったです。

 

 ヒミツ赤ではスイッチを押した直後の動きは通常のヒミツのように崖復帰を軸にしています。これは短距離なら水滑りよりも即復帰の方が速度の面で速いからです。実は通常ヒミツの最適化が上手すぎてなかなかタイが出せず苦労していたりもして、そのたびにスイッチを押す角度とかを調整し直したりしていました。後半では砂ブロックワープ使えないかなと復活周期の確認ついでに新ルートを作っていたところ、ピタリと一致してしまったので採用できました。このルートもお気に入りの1つです。

 

 モンテマンは以前の検証の課題を解決する事を目標としていました。というのもその検証は120TASに着手する前、2018年5月中旬頃にしていたのでベイブレードなどの新技術が使われていなかったからです。課題自体は、中途半端に余るモンテマンのゴール待ち時間で一直線上コインの上の青コイン、または青ポイハナの青コインを取る事と、青い鳥2匹の青いコインを重ねる事でした。

 これが技術の進歩した2021年であっても結構難しく、まずロケットと青コインの同時取得の最適化から必要でした。ちなみにこの同時取得はみかんさん発見です。同時取得後は地形的にベイブレードが使えるかもと思ったので試したら普通に成功したので、これなら青ポイハナに間に合いそうだと少し余裕が生まれます。鳥のコイン重ねは2匹の飛び立つ方向の乱数を調整したうえで倒すタイミングもかなりシビアです。

 青ポイハナは踏んだ時のマリオの位置に依存して青コインを出す方向が変わるため、この調整が最も大変でした。葉っぱでバウンドさせないと取得判定が出る前に落ちてしまうのでかなり最適化しないと綺麗には取れないと思います。

 ここまでやってモンテマンに2F差で勝利。Y視点保存でシャインの方を向く余裕がなく、1度は妥協しかけましたが青い鳥の処理でタイム稼げるか検証してみる事にしました。ただ普通にやっても無理だったので柱の青コインを取るところから変えました。当初は柱青コインを取ったらダイブ復帰を出してY視点とアナログ放水で青い鳥を処理していましたが、復帰を出さずにする方がだいぶ速い事に気づいてこれが決め手となりました。時間が逆に余るようになったので、ハナチャンでハイパーホバーが使えるようについでにメモリ調整をしています。これは何がメモリを書き換えているのか特定する事に成功していて、特定の緑の鳥を映す事でした。この鳥がシャインキャッチ後に画面に映り込んで更にメモリを上書きしてしまうのでゴール直前に倒しています。

 

 ハナチャンはハイパーホバーを使える関係で3つのルートを調べました。RTAルート、青なしワンシャインRTAルート、TASで実際に採用したルート。双子を消すタイミングもいろいろ検証しています。この調査でハナチャンの移動ルートの決定タイミングなんかも少し分かってきて、オブジェクトビューワーを見ていれば何となく把握できるようになりました。ちなみにTASのルートは2手目で転ばすのがめちゃくちゃ難しいです。木の芽を起動させるタイミングを恐らくQF単位で調整しないと転んでくれない事が多く、転ぶ条件だけは最後まで掴めなかったのでいずれ解析される事を望みます。

 

 ハナチャンまで終えたタイミングで一旦120TASは1年間の休止期間に入ります。ハナチャン撃破後の待ち時間でチュウハナの乱数調整をしようと考えていたからですね。残っているシャイン、サンゴ赤も100枚も大砂鳥もあまり乱数調整には適しておらず、まだ水面抜けにも慣れていない頃だったので大砂鳥以外には取り組む気はありませんでした。ちなみに大砂鳥は見映え的に最後にしようと前から構想していました。

 

 休止期間中、2021年内は青なしピンナ3の改良とか2021年末に完成したACEのLOTADの最適化案なんかを検証していました。休止は2021年10月からなのですぐに2022年になりましたが、年明け早々サンシャイン界に衝撃をもたらす発見がありましたね。ホバ禁ヤシ抜けです。ホバ禁走者じゃない人にもめちゃくちゃ知れ渡っていましたが、最初は教えてもらった座標を再現してもすり抜けず、自分の心が割と本気で折れた数少ない事件です。少しの間進展がなかったものの、サポミクさんがQFをズラせばすり抜けられると教えてくれた事で再現に成功します。これがきっかけでようやくQFとフルーツの接触判定を理解する事ができました。今までも壁床は1Fに4回、フルーツは1Fに1回という情報までは知っていたのですが、フルーツに限らずオブジェクト判定に対しては特定のQFにのみ接触判定が存在するという事までは知りませんでした。ちなみにこの時のヤシは筒にめり込むような位置だったので、目の前が壁であってもフルーツを置けるという大昔に自分が発見したテクニックが活きた唯一の場面でした。

 その後すぐにポーズをせずにすり抜けるヤシ、マリオの位置が発見されました。これでTASは従来のヤシ抜けより速くなりホバ禁式が最速という事になりましたが、やはり位置が厳しすぎてとてもRTAでは使えそうにありませんでした。この時の自分は、セットアップを見つけたら革命だが、見つけるとそれはそれで自分のRTAで最も頑張ったホバ禁anyの記録が埋もれてしまうというジレンマを抱えていました。

 それでも好奇心には勝てなかったのでヤシを置くのセットアップを取りあえず探求していました。なんやかんやあって作れてしまいました。モンテ族の位置があまりにも丁度良すぎて任天堂狙ったんか?と思う程に。

 ただこのすり抜けはヤシだけでなくマリオの位置も座標猶予1くらいしかないシビアなものなので、ヤシを置いただけではまだ革命にはなりません。マリオの位置のセットアップは自分には作れませんでしたが、みかんさんとshadowmarioによってセットアップが作られていました。shadowmarioは実際に通しでも1発成功させていましたが、最後の位置調整だけは手作業で合わせるというもので、これでは本人はできても自分には安定しなさそうだという事で座標書き換えを駆使して目印を探しました。これでポンプの青い丸枠と杭で合わせる方法が見つかり、GC版でのホバ禁は一気に変わりました。スイッチ版は画面比率が違うのでこの目印は使えず別の目印が必要です。

 しばらくは私もRTAに復帰し、GBSなしのホバ禁の自己べを30秒程度更新したとこで終わります。非分配環境でプレイしているので配信や録画の負荷でサンシャインの画面がカクカクすると碌にプレイできないからですね。

 

 そして1月末には斜面抜けが発見されてしまいます。初見で「これは大砲抜けと同じ原理なのでは」と予想はついたのですが、だとしたらすり抜け座標が特定できないと自分には再現できないなと割とすぐに諦めていました。これもサポミク氏が床の交点座標なんかの解析をしてくれていましたが、まだ判定オタクじゃなかった自分には交点座標の数字以外の部分は理解しきれず、やはり再現ができませんでした。

 ここでなおさんが私のすり抜け失敗した時の速度の状態で、どの座標にいればすり抜けるかをグラフ化してくれた事で光明が差しました。目標座標に合わせる事は一応水面抜けでもやっていたので、その技術が活きています。それでも斜面抜けの理解は進まなかったものの、座標を計算してくれさえすれば再現できるというところまでは進展しました。ここから一気にハニスキ改良、ヤシなしGBS、バネなしマーレ2と連日TASを投稿していたのはまさにサンシャインTASに革命が起きたと知らしめていた事でしょう。

 

 2月にはフルーツなしで毒川に侵入が発見されます。ただ今までのすり抜けと違い自分でも座標の計算ができたため、こちらは解説をもらってすぐに再現ができました。同時期にヤシアルバイト向かう道中での水面抜けにも挑戦していましたが、まだターボ状態で座標調整する技術を身に着けられておらず、自力で発動させる事はできていません。

 

 少し飛んで6月、L字抜けが見つかります。この時には自分も壁床判定の理解が進んでいたため、動画を見ただけで何をしているかが分かりました。120後半では使う場所がなかった斜面抜けとは違い、こちらは利用できる地形が多そうだったので調べるのが楽しかったです。

 そして理解した壁床判定の知識を使って、シレナのガラス床抜け、天井と3階を繋いでいる穴の壁抜け、ひび割れ床のL字抜けを自分で見つけていきました。この辺りからリアルでも平行四辺形が壁判定に見えたり、L字型を見つけるとすり抜けたくなる病気が出始めました。

 

 6月後半~7月は流石にそろそろ120の研究もしておこうかとシレナ100、リコ100の試作をしてみました。リコ100は主にクレーンとゲッソーの周期の確認目的で、シレナ100はみかんさん提案のルートの検証と各部屋での動き方、コインの取得コストの調査で、最適化は全然できていなかったものの本走は最適化だけに集中できました。

 

 8月はビアンコ2で泥慣性ジャンプが発動した動画を見て、存在を知っていながら今まで何で思いつかなかったんだと過去の自分を呪ったりしていました。その更新によってanyの更新余地合計が1分近くなったので、他の更新余地もいろいろ探していました。ビアンコ5で綺麗なルートが作れたのが自分としては1番お気に入りですね。

 

 そして10月、遂にチュウハナツールが完成して120TASが再開します。鏡バグで速攻落とすのは厳しそうだという事で自分から落ちてもらう方を採用しましたが、落ちる時と落ちない時の差がイマイチ分からなかったところで歩き速度がランダムなのではないかという疑問をもらって解決しました。歩き速度と方向転換速度の情報は元々ツールになく、チュウハナのためだけに追加してもらいましたがこの値は他の敵でも使える事が分かったのは嬉しい誤算でした。

 チュウハナは1匹鏡のやつが結構厄介で、マリオのワープ位置の関係上1番最後に消滅させる必要があるので他のチュウハナの処理をしながら適宜足止めしなければなりません。この足止めがズレると他のチュウハナより先に落ちてしまったり、鏡の端っこで踏ん張りモーションを出したりしてしまいます。

 3匹鏡が難しいのは当然で、ここがもっと良い配置が見つかれば水当て回数が減らせて短縮できる可能性があります。ただ6匹の歩き速度が全て速いという前提の上で最初の長いムービーを終えた直後にそれぞれ都合の良い位置にいる乱数がどれだけあるのかは未知数です。

 チュウハナをやっとの事で10月中に終えた事で、ワンチャン年内に120完成するかもとこの時は思っていました。

 

 マンマ100は前から初手正面に行くルートが速いと思っていて、それでも一応RTAルート、RTAルートでターボ取得、正面ルートで先にロケット取得など思いつく分岐ルートは全て作りました。パイナップル運搬はやる前は難しそうと思っていましたが、実際やってみると運搬の中ではトップクラスに簡単でした。ロケット取得後ベイブレードで戻る案はお気に入りで、見た目がかなりかっこよくなったと感じています。

 ターボに切り替えた後、地味に最適化難しいのはターボダッシュでヤシの木を走る部分で、これは斜面を走ると1F辺りの移動距離が落ちてしまうからです。ちゃんと平らな部分を走らないと2Fとか3Fとか余裕でロスります。それからヤシの木の葉っぱの判定も曲者ですね。坂道ダッシュを発動させるのはまず無理ですがただのジャンプで移動するよりはダイブを組み合わせる方が速いです。

 ヨッシーパートではターボの速度を乗せて移動を短縮していますが、西ベルを作った時にもっとヨッシーに速度残せる可能性に気づきました。まだ調べてはいないので何とも言えませんが、更新余地にもしなったら結構ショックです。砂の芽の水かけの最適化はかなり難しく、カニ歩きの際にヨッシーの縦方向の向きも調整していたと思います。

 黄色スイッチコインの回収はRTAと同じにするつもりでしたが、意外と理想動線があっさり成功しました。Y視点で引き返すとこはクールです。ここからもう1度滑る部分は地味にテクニカルな事をしていて、マンマの丘のような「ジャンプの出せる滑る斜面」で滑りに移行する時、マリオの向きによって体勢が変わります。滑る方向側を向いている時は尻滑りの体勢で、逆側を向いていると腹滑りになります。この2つは違う性質を持ち、まず尻滑り状態はスピンジャンプに繋がります。モンテマンレースで青ポイハナに向かう時にやっていますね。対して腹滑りではスピンジャンプをしてもただの1段ジャンプスピンになります。

 もう1つは、滑り状態で落ちた時のモーションの違いですね。尻滑りから落ちると少しの間操作不能状態になりますが、腹滑りでは起こりません。なのでTASでは腹滑りで落ちる事で落ちながらターボを溜める事ができています。腹滑り状態を作るために、坂の上の方を少しだけ向いている間にスティックを引いています。

 ロープ上りはRTA式で1番上まで行ってそこでターボ大車輪だとすぐに飛べる事に気づき、twitterで報告する用に適当に後ろ向いて大車輪したのがロープ上りの改善を思い付いたきっかけです。大車輪だと速度40以上でも壁に激突しないのを以前みかんさんが発見していたので、これを組み合わせればいけると思いました。ちなみに大車輪状態だとロープに直接乗れずに掴まってしまうので、ギリギリでスピン入力をして回避しています。

 問題の空中水面ですね。床のタイプが特定の状態で水面抜けをすると生成されてしまう水面で、リコハーバーの無限水面と原理自体は同じ。

 泳ぎ状態で普通の床の上に移動した場合、毎QF80くらいの下降が発動し、これで床を抜けます。120全体を通してもこの発想が1番天才的だと思っています。Y視点状態での水面抜けは正直できる気がしなかったのですが、根気でなんとかなりました。

 床抜けをした後も水面抜けを2通り試していて、1つ目は床抜け直後に水面抜けから海底歩行に繋げる事です。2つ目は実際のTASで採用した、最後の方で水面抜けする案で、1つ目の案はこれに僅差で負けてしまったので没になりました。

 ちなみにメモリーカードでターボを保存するのはこれ自体はタイですが、副産物(というよりこれを目的にしたのですが)としてシャイン出現ムービーでもターボが途切れなくなります。結果チャージ時間を削る事ができ、10Fくらい変わります。そしてこの連続水面抜けを乗り越えた事で一気に水面抜けの調整技術が向上したと思います。

 

 マンマ6はsu氏が青なしではありますが水面抜け使用ルートを公開していたので、まずはそのルートで作っていました。しかし青コインを取っている間に周期がズレて、かなり無理な動きをしないと取れなかったので遅そうだという事で没にしています。

 赤コインのルートを変えようとしましたが、青コインも乱数で位置が微妙に変わる事が判明。この厳選作業がやたら時間がかかりました。100枚コインのシャインキャッチはあまり乱数調整に時間が取れないのでベストな乱数に出会えるかの不安も大きかったです。

 

 マンマ4は予想外に追記が増えた事が印象的です。想定の3倍くらいになってしまいました。原因は翼の羽ばたきにダイブが引っかからなかったのとその理由の研究をしていたせい。大砂鳥自身が動いてるのもあいまってなかなかQF単位の分析が難しかったです。大砂鳥で水滑り移動は結構短縮になりましたが、人力では採用される事はあるのでしょうか。青コインありだと結局1枚目の雲で待ちそうなのでリターンがなさそうなので青なしでワンチャンと言ったところでしょう‥。

 

 スライダーは本当に大昔からタイムが変わっていませんが、やはり移動距離から考えるに更新は無理だと思います。

 

 シレナ2赤コインではオブジェクトビューワーのおかげで赤テレサの厳選が捗りました。TASが使った赤テレサは座標が結構高い位置にいてくれないとその後のスピンジャンプで入口まで届きません。ちなみにあの入り方は天井判定をすり抜ける事で発生していますが、そもそも入口判定が像を若干飛び出しているのも原因ですね。

 内部はやはり最初の水滑り慣性が気持ちいいですね。ここも昔通常ヒミツシャインでポンプを使うTASというのを作った事があるのですが、その時は慣性が今ほど残せていなかったので技術の進歩を感じました。

 スイッチ直前の壁上りもなかなか最適化に苦労したとこで、特に壁キックショットガンでY速度を少し稼がないと崖つかまりできないくらいギリギリの高さを攻めています。壁キックショットガンはRを事前に何フレーム押してからショットガンしたかでY速度の変化量も変わります。そこまで調整したショットガンはここくらいしかないですね。

 赤コインパートはワンシャインRTAと大体同じです。昔海外TASerが個別でシレナ2赤を作ったのを私が無慈悲に更新した時のルートが初出で、後にワンシャインでも使われるようになったが正しいですね。

 5枚目~6枚目で水の出ないホバーをしていますが、これは直前にショットガンを撃っているせいで表示できる水滴の上限に達し、それ以上水滴が出なくなったからです。この水滴制限は掃除とかのTASを作ればまず考慮する部分で2014年から私は知っていたのでもはや常識だったのですが、海外のリアクション動画とかtwitterでもちょくちょく謎現象みたいな扱いを受けていてギャップを感じてしまいました。ヒミツに限らず、高いとこでショットガンホバーをすれば簡単に再現できるのでやってみましょう。

 

 シレナ4赤、ここの目標は試作で46秒00残し以上ができなかったのでそれ以上残す事でした。特に7枚目~8枚目でただダイブ復帰スピンダイブするのが改善したいとこだったのですが、その前にネックとなるのは3枚目~4枚目のとこに存在する回転キューブです。速く行きすぎると周期が合わず着地できないのでほどほどにロスらせて調整しています。キューブで出すスピンができるだけ速度が残るような周期に調整する作業が1番大変で、QF単位でタイミング調整をしていました。

 ここで試作よりもスピードを残せたことで7枚目までで0.2秒程アドバンテージが得られたので課題自体は達成しました。がやはり8枚目の取り方は納得が行きませんでした。そこで7枚目の時にアナログホバーで濡らしておくのはどうかと思いつき、これも乱数が相当厳しかったですが、これで偶然角材が滑る角度になっている事に気づきます。滑る角度ならベイブレードでどうにかなってしまうのでこれで更に0.2秒更新し、さらにその後のキューブの起動も短縮しています。

 

 シレナ8は2018年からの制作中に何回かルート変更の起きたシャインです。Y視点ドア抜け自体はそれより前に発見していたので変わっていませんが、当初はRTAと同じルートでした。それが初手2階左の部屋から行くルートが海外勢に作られ、これはゲーム内タイマーこそ遅くなるもののシャインキャッチまで含めると20F速いという事が分かり、L字抜けが発見されるまではこのルートの予定でした。L字抜け発見で一旦は初期のルートに戻りますが、シレナの部屋を見て回る中でもう1か所L字を見つけた事で初手2階正面に行くルートと比較したところ、見事に速くなったという感じです。シレナ3の個別でL字抜け、縦に短い壁のすり抜けを思いついていた事でこれも採用できました。

 スイッチ押して開幕の初動から細かい短縮をしていて、試作ではスピンジャンプを出すのは段差のもっと奥側でした。これを手前側で出すようにした事でより速く高さが稼げるので短縮になりました。

 2階のY視点ドア抜けはTASのやり方はかなり難しく、Yを押す時のマリオの角度やカメラの角度を調整しないと壁の埋まりが中途半端になるせいで部屋の内部に押してもらえない事が多いです。

 3階でロビー側へ出る時は、Y視点状態でドアを掴む事で斜めに開けています。最初はヒップドロップで開ける予定でしたが、ダイブで開けられたので変えています。ここもカメラ角度なんかを調整しないとマリオの向きがズレてしまいその後のダイブ復帰で柵に激突します。

 プール部屋への侵入ですが、速度の付いたスピンジャンプじゃないと高さが足りません。なので見た目以上に難しく人力で再現するのは困難じゃないかなと思いますね。ちなみに壁の端っこを擦るような動線にしないとすり抜け前に壁判定が出て失敗します。

 プール部屋ではdesyncが厄介でした。ステートセーブを行うと必ず発生するdesyncで、どのドルフィンでも同じく発生するようでした。なのでdesync確認の度にヒヤヒヤです。6枚目を取った後は階段の段差に反転ダイブを引っかける事で方向転換しつつ即水滑りに繋げています。これは100枚でも使うテクニックとなります。

 ここでのL字抜けはY速度の条件が付いてくるため他の場所よりも難易度は高めです。試作では泳ぎ状態の下降で床に着地してホバスラをしていましたが、天井に頭をぶつけて即ダイブを出す方が1Fくらい速かったです。

 2階→1階のL字抜けはY速度の条件はありませんが、50ユニットの壁判定を越えてからすり抜け座標に到達しなければならないため高さギリギリを攻めると難しいです(図を用いて説明しないとチンプンカンプンだと思われますが)。

 

 100枚コインはあまりにも内容が濃いですね。やってる動き自体に特殊な技はほとんどないのですが、基礎動作が速すぎて目が追い付かない視聴者が多かったのではないかと思います。こういうシャインは自分基準ではピンナ3以来ですかね。

 外部ではやはり燭台が強敵となりました。水を当てて出てくるコインは、「水ヒットコイン」というオブジェクトに水が当たると出現するのですが、このオブジェクトは縦の有効範囲がやたら狭く、更にはオブジェクトなので1Fに1回しか判定がないと思われるなど厄介な要素盛りだくさんです。

 ホテル裏から戻ってきた時に崖つかまりジャンプをしていますが、グリッチキックの応用をしつつついでにショットガンで手前側の燭台4つ全てからコインを出しています。ここはコインをいかに少ない時間で出現させられるかが肝となるので手前側を1発でクリアできたのは幸いでした。しかし、奥側の4つを全て出すのは非常に厳しく、2発のショットガンで奥側の内、手前の方にある3つから出してその後復帰ショットガンで1番奥のものから出しています。マリオの座標がちょっとずれるだけで出てこないとかザラなのでシレナ100全体を通してもここが最難関なのではと思います。

 内部の燭台は1番最初に取る事になる、すぐ近くの2つの燭台にいかに早く当てられるか勝負です。スティック操作があまり効かない状態なので乱数が良くないとロスとなります。

 2階ではドアコインが地味に厄介です。右側の部屋の方は全然問題ではありませんが、双子の近くにあるドアコインは、壁キックを出すためになるべく速く壁に近付くためすぐにダイブを出す必要があり、そのせいで操作可能時間が短いので厳しいです。前述のとおり水ヒットコインは縦の有効範囲が狭いのでほぼ当たりません。あとムービー中に倒しているテレサは、右側の部屋から出てきた直後のダイブ復帰中にアナログ放水を当てて起こし、もう1滴水を当てて進路を逆にしています。このテレサは移動速度がある程度速くないとマリオの方に十分近寄ってこず、倒す事ができません。

 2階→3階に行くときはポールで崖引っかけスピンジャンプを出しています。試作では崖つかまりキャンセルからしていましたが、崖つかまりは10ユニットだけ内側に移動してしまうためにホバーでかなり下がらないと失敗するので、反転から崖引っかけに変えました。またスピンダイブY視点でテレサを踏みに行っていましたが、これもただのスピンジャンプからホバーでの方向転換に変えた方が2Fくらい速くなりました。Y視点の減速は侮れません。ついでにテレサを踏む時の復帰中に後ろにショットガンを撃って天井の青コインを出しています。

 3階はポスターを通るところが最適化しすぎたせいで結構難しいです。通りつつアナログ放水で棚から2枚コインを出していますが、テレサを起こすと、天井裏から戻ってきた時に激突するのでテレサには当てないようにしています。これもアナログ放水の値を細かく変える必要があって見た目以上に大変な部分です。

 天井裏へ行くときの青コインの出現タイミングもベストなものにしています。これは天井裏から戻ってきた時に青コインが最も高い位置でマリオが取れるタイミングの事ですね。

 プール部屋隣のテレサ処理は水滑りの動線をかなり詰めないと1Fロスしました。テレサを倒した直後の復帰ホバーで青コインを出したら即ノーマルに戻してショットガンで後ろのドアからコインを出しています。ドアが遠く画面外であるため、コインが出なかった時に縦がずれているのか横がずれているのか判別できないのがかなり厄介です。

 中央柱の青コインから再び天井裏へ行くところは試作で課題としていた部分で、手すりからスピンジャンプを出してそのまま壁キックに繋げるのは相当難しいです。大抵は先に天井判定に捕まってしまうので、手すりから降りた位置でスピンジャンプをする事になります。これを解決したのは、手すりギリギリの位置に着地してかつカメラ回転を利用したスピン入力によって減速を抑えたスピンです。また中央柱からの復帰中にショットガンでY速度を調整して最速のQF着地に調整する必要もあります。

 天井裏から再び戻ってきてテレサを踏みながらスピンをしてM字を消しています。試作では水滑りでテレサを倒して復帰ショットガンでM字を消していましたが、スピン利用の方が水滑りを曲げる必要がなくなるので速いです。

 プール部屋も綺麗な動きが作れて好きなところです。コイン回収→階段引っかけ反転ダイブ水滑り→段差引っかけスピンジャンプ→壁キックという流れは美しさがあります。

 天井裏ではL字抜けの角度をどこまで攻められるかが難しいですね。角度が緩いと右側の壁判定に押し戻されてしまい、深すぎると方向転換で減速して青コインへの到達が遅くなるので、かなり細かく調整しています。

 青コイン回収後は直線は水滑り、折れ曲がった部分は歩かずに斜めにダイブ復帰が僅かに速いです。このダイブ復帰の滞空時間を削るためにショットガン連射しているので水が本当にギリギリとなってしまいました。

 問題の天井裏テレサ、こいつは天井裏が映っている時のみ動きますが、その速度はホテル突入時に決まります。試作より短縮して来たのに試作より奥にいたのでおかしいと思い、オブジェクトビューワーで確認したら移動速度がランダムだという事を知りました。ここまで1万追記以上かけていたので、いつかのビアンコ100のように妥協するか迷いましたね。ただ最終パートにまで来て露骨な妥協は残したくなかったので取りあえず作り直しました。この作り直しで1階、2階、3階全てで更新が発生したので結果的にはテレサに救われたと思います。

 3階に戻ってガラス床抜け、これは判定オタクになった事で青コインの判定の広さからどのタイミングで取ると最速でガラスを抜けられるか簡単に計算しました。試作では雑に作っていたので5Fくらい変わったと思います。

 2階→1階のすり抜けはダイブ復帰の落下速度をカニ歩きで保存して短縮しましたが、最後のトイレの花瓶からコインを出すのがまたも水ヒットコインの判定の狭さのせいで苦戦しました。これもマリオの座標の僅かなズレで当たらなくなったりします。

 シレナ100を完成した辺りで2023年に入っています。シレナ100の語り長かったですね‥内容が濃いだけに仕方ないですが。このシャインは2階から3階の双子を消してからのルート、天井裏でL字抜け、2階→1階の床抜けがみかんさん提案のものとなります。あと次の鐘シャインでヨッシー抜けするのもみかんさんだった気がしますが、初出が2019年なので記憶が曖昧です。

 

 バナナを飛ばした後、昔はグリッチキック復帰でヨッシーに乗っていましたが、これだとY視点解除硬直のせいでヨッシーにあまり速度が乗らないためホバーの上昇で屋根に乗る方法に変えました。また時間としては一瞬ですが、ヒップドロップで高さを稼ぐ事で踏ん張りジャンプを削ってこれは15Fくらい速くなりました。

 ヨッシー床抜けから降りる時は高さをめちゃくちゃ調整しています。ヨッシーから降りる瞬間にショットガンをしたり、落下中のヨッシーでショットガンや踏ん張りをしたりして壁ドンしないギリギリの高さになっています。

 

 ヤシアルバイトに向かう際の地下青コインは水面抜けで革命が起こりました。それまではターボでドルピックの屋根をすり抜けて地下から侵入していましたが、水面の境界を見ていたらギリギリ青コインの上に重なってると言うこれまた任天堂想定してたんか案件。

 ここまで来ると水面抜けも手慣れてきて、3日あれば大体できるようになっています。座標調整をどうやっているかは説明が難しいですが、大体根性ですね。あれは1度にまとめてやらないとどの入力を試したか忘れるので2度手間になりがちです。

 ちなみにただ水面抜けするだけだと床をすり抜けたところで普通の落下に切り替わってしまい着地が遅れますが、潜るアクションをすると落下にならずにすり抜けられます。これはマンマ100の空中水面からの床抜けでもやっていますね。あと地味に潜る事でY保存を発動してその後すぐに移動できるようにしています。

 

 ヤシバイトに取りかかっていた辺りで私が胃腸炎を発症してしまい1週間ほど休止してしまいました。歩くのもしんどいレベルの腹痛を味わったのは初めてでした。そんな話はさておき、ヤシ運搬は理想を言えばドリアンのように話しかけ直後にヤシが入るようになるのがベストですが、どう頑張ってもマリオの移動が間に合わないので先に話しかけています。

 ここではカメラワークがめんどくさくて、最初は話しかけた後、Lで直していた状態で作っていたために籠が見えずにかなり苦戦していましたが、動画の通りLを使わずにそのままの視点でヤシ落としをする事で解決。3つのヤシを同時に運搬するのはヤシ同士が衝突する事が多いので骨が折れました。また籠が微妙に高く。ヤシは水を当てるとバウンドが弱まってしまう事が多いので籠の縁で跳ねないようにするのが特に大変です。3つ目のヤシに関しては通常放水だけでは無理だったのでショットガンで飛ばした後、ショットガンの水滴で跳ね返ってきたところをアナログ放水で押し返すという力技で入れています。こういう水滴で軌道を変えるのはビアンコ100、ピンナ6でもやっているので慣れたものですね。

 

 リコ100はひたすらクレーンとゲッソーの乱数調整に苦戦してました。試作から更新しすぎて周期が合わない事件何回目だって感じですが。試作も適当に作ってるわけじゃなくて、更新余地ほぼないかもって自分で言ってたんですけどねぇ。

 序盤は細かい更新ばっかりですが、クモの位置を試作より更に奥にしたのが1番の改善点です。これで壁のコインを一直線上に取る事ができて綺麗ですね。試作ではクモ青→壁青→黄色コインを歩きで取って反転ホバスラというZ字型の動線でした。ちなみにこの後のホバスラで木箱に向かってますが、青コイン取得直後の目の前にある丸っこいやつで壁ドン判定を出さないようにするのは超絶難しいです。2つの壁判定を避けるために、壁が変わるQFでマリオの角度がある値をまたぐようにする必要があります。

 クレーンは手前の1枚は無視するのが1番効率的です。ベイブレードであのコインを取るのは相当いろんなものが犠牲になるので1秒どころではないロスになります。このクレーンの速度はこれ以上ないくらい理想的なので、乱数を2000通りくらい探した甲斐がありました。

 クレーンの支柱の青コインと黄色コインの回収も地味に最適化難しいですね。クレーンが斜め向いてるので、黄色コインとの距離がやや遠いので試作とのタイム比較があまり参考になりませんでした。

 クレーンからスピンジャンプ後の壁キックコイン回収では、RTAのように初動を壁キックにするよりもスピンジャンプにする方が2Fくらい速いですが、崖つかまりする位置を結構頑張って調整しないと1枚目の黄色コインが取れなかったり、壁との距離が開きすぎて1Fロスったりします。

 この壁キックコイン回収後、鉄骨で崖利用の水滑りをしています。ホバスラよりも1F速く水滑りに繋がるので便利です。

 ロケット取得後は水滑りでトランポリンを踏み、鉄骨で上昇キャンセルをしながら水滑りに繋げる部分が、試作では上昇キャンセルが上手くいかず、ダイブ復帰でトランポリンをより奥の位置で踏む事で上昇キャンセルしていました。これは反転ホバスラの初速に関する知識を得た事で解決できた典型的な事例です。

 鉄骨端の青コインは復帰の落下速度を保存しながらY視点で向きを変えています。youtubeのプレミア公開でNokidokiがすぐに気付いていて流石だと思いました。ロケットの弱い噴射はY速度をリセットする、いわばホバーちょん押しのようなものですが、QF単位でチャージをずらさないと無駄に飛び上がるため地味にめんどくさいです。

 水中コイン回収はいろいろ入力を変えてもタイム差が全然出ず、試作と1Fしか変わっていません。ベイブレードからの着水後、すぐに潜らず水面で平泳ぎを少しする事でこの1Fは生まれています。

 ゲッソーは倒すだけなら籠すり抜け直後に復帰を出す事でもっと早くできますが、青コインが反転金網の外に出てきてしまうのでわざと遅らせて倒す方が若干速くなります。反転金網はQF単位で反転タイミングを合わせると青コインを下に落とせて、モーションの待ち時間をついでに消費できるので都合が良いです。

 ゲッソー青コイン後はダイブ復帰ロケットの上昇中にクレーンコインを1枚取っています。実は動線上から少しズレた場所にあるのでロスはありますが、その分ベイブレードでのクレーンコイン回収パートの方が多く短縮できるので総合的に速くなります。

 ここからのダイブ復帰ロケットでは、ロケットチャージ中だとマリオの方向転換が遅くなるので方向転換の間だけロケットのチャージを止めています。

 リコタワー上のコインを取りながら地味にショットガンで落下を速めていますが、やりすぎると給水時間が増えるので適度にしています。このコイン回収からジャンプダイブY視点で取るところはもっと良い動きがないもんかと悩んだんですが、特に思いつきませんでした。

 噴水コインのとこもただ歩くだけだったのでダイブ復帰なんかも織り交ぜた動きを試してみましたが、ロケットのチャージが遅れるので逆効果です。

 マンホール内部はほぼ伝わりませんが動きを結構変えた部分で、試作ではただの歩きダイブから水滑りをやるだけでした。それをスピンジャンプで天井に頭をぶつける事で疑似的なホバスラを可能にしています。スピンジャンプじゃないとマンホールの上に復帰する大ジャンプが出てしまい、天井に引っかからずに壁キックの判定になってしまうのでスピンジャンプが必要です。それと大ジャンプする直前はR深押しで構える事でブレーキ時間を短縮しています。試作ではスティックちょん倒しで減速していたのでここだけで2Fずつくらい短縮していますね。

 最後のシャインキャッチはダイレクトで取ろうとすると実はスティック猶予がかなり狭くて難しかったりします。ともあれリコ100でILタイム2分切れたのは大満足ですね。シレナ100やマンマ100に比べると動きの派手さはあまりないですが、あれらがヤバすぎるだけです。100枚も2分を切れてないのはビアンコ、マーレ、シレナのみで、ビアンコは2分1秒台なのでヨッシー水滑りとか頑張れば切れそうな雰囲気はあります。シレナは2分5秒台、マーレは2分16秒台なので絶対に無理ですね。

 

 リコ2の2回目、外部はany%完成直後くらいに海外TASerが考案したものです。彼は他にリコ5でスロープ前で水滑り慣性ジャンプをするアイデアも出していて、これらは彼がいなかったら絶対思いつかなかったと思います。

 船水滑りはまぁ見た目通りに難しく、そもそも水で濡らす事も難しい。水滑りの角度を船の内側に向けて斜面から落ちないようにするわけですが、内側を向きすぎると逆に減速してしまう箇所があるのでここも良い角度を探りました。

 箱3段からの水滑りも以前のマンホールルートと大きく動線が異なるので最適化が難しいポイントです。試作したのは2018年ですが、それとタイしか出ませんでした。

 内部は120前半で来た時の入力を使おうとしましたが、壁キックでタイが出なかった事で原因を考察した結果、内部突入時のY視点解除硬直の影響だと考えられました。ポンプムービーやピンナ1とかでY視点で入ると硬直があるのは知っていましたが、リコ2は盲点でした。ここは暗転明け直後の初動の速さは関係ないに等しいので完全にスルーしていましたね。

 入力がそのまま使えなかったので、会話直後の角度をより壁に近くなるようにする事で距離の補完をしました。ただそうすると1か所目のチェックポイントへの距離が増えてロスなんじゃないかと思いましたが、運よくロスになりませんでした。それどころかレース開始までのタイムが謎の1F短縮になりました。

 レース部分は2F短縮ですが、それは1つ目のチェックポイントを踏んだ後の反転ホバスラで初速のロスを抑えた事で発生しています。2つ目のチェックポイントを踏んだ後は元から反転ホバスラではなかったので短縮要素はありません。ちなみにゴールタイムだけを重視した場合、15.59になります。15:56も出そうですが、速く完成させたかったので粘っていません。その割にはイカイカサマルートの検証で無駄に1日使ってたのは気のせいって事にしておいてください。

 ゴール後のシャインキャッチ案はニコニコの視聴者アイデアになります。WIP投稿していて良かったと明確に思ったところです。指摘自体もWIP投稿から1日以内にされていたのでなかなか鋭い視点を持っている視聴者ですね。その視聴者さん最終partで、役に立って良かったとコメントをくださっていました。3年経っても見てもらえてるのは嬉しい限りです。

 

 リコ4赤は外部は変更点ありません。この壁キックRTAでもできるんじゃないかと思ってましたが、TAS精度でも壁判定のほぼ下限の部分しか蹴れなかったので流石に無理でしたね。

 内部では大体の場面で坂着地慣性を利用しています。まぁ6枚目取得後の坂滑りの周期で打ち消されるのでそこまでの道中は半分魅せプだと思って作ってます。6枚目~7枚目のとこで角度をより8枚目に向かって真っすぐになるように位置と角度を調整しましたが、その結果7枚目の角材に着地する場所が悪く3段が坂で吸われる事が多かったです。着地位置を右側に調整してなんとか回避してますかね。

 7枚目~8枚目では速度が維持できていたため普通の坂道ダッシュにしています。試作ではダイブ復帰連打で上っていましたが、それよりも2Fの短縮。8枚目はできるだけ右側で取れるような位置で反転を出しています。

 

 リコ8の初動は今までのジャンプホバスラではなく、ただのジャンプの着地寸前ダイブにしています。この方が速度が少しだけ稼げて2段ジャンプの高さが出るので、今までは3段ジャンプ時に少し失速するQFの着地しか出なかったところを失速なしの着地にできるようになり、結果煙突到着まで1F短縮になっています。

 ちなみに2段ジャンプ中に船の黒い部分の壁判定に押してもらって少し座標を稼いでいたりします。これはリコ5でもやっているんですが、その事に気付いたのはリコ8制作中でした。

 ヨッシーでは再び蝶のバグを起こしていますが、狙ったのではなく偶然でした。というのも蝶の数が少ない上にそんなに近いわけでもないので2回食べられなさそうだと思っていたからです。蝶を食べたら即降りて市場の青コインを出します。これも水ヒットコインなので判定は厳しく、速く完成させたい気持ちを抑えるのに必死でした。

 ロケット取得後はM字足場に届く中で最速のタイミングで復帰を出しています。あと1Fでも復帰を早くやってしまうと、ロケットの上昇が足りず届きません。M字の消し方はいろいろ試しましたが、シンプルにジャンプショットガン連打が最速でした。

 ここから次のM字までは距離があったので、なおさんに作成してもらった角度計算ツールで算出した角度を目安に調整しました。この角度計算ツールはヤシバイトに向かう時の水面抜け座標でも役立っています。

 こっちのM字は最初ヒップショットガンで消していましたが、ヒップの着地硬直でロケットのチャージがなくなってしまうのでY視点で下を向いてショットガンにする方が9Fくらい速いです。ただ普通にショットガンしても消しきれないのでアナログ放水で事前に少し削っています。

 ロケットチャージ中はマリオの速度が速い程、方向転換速度も上がるのでその場方向転換だと向きの変更に時間がかかって先にロケットが発射してしまいます。なのでちょっと歩いているだけでなく、M字消しの際もできるだけ左側を向いてからショットガンを撃っています。

 すり抜けは最適化しすぎるとオレンジシールにぶつかるとかtwitterで言いましたが、正しくはY速度が足りないとオレンジシールにぶつかるですね。まぁ最適化しすぎると大体Y速度も足りないので結果は同じな事が多いです。ちなみにヒップショットガンで消した時は方向転換を十分するだけの時間があったのでこのY速度が足りないやつは結構起きたんですが、Y視点ショットガンで消した時は復帰を出してすぐロケットが発射したので金網に着く頃には落下速度がかなり稼げています。

 このすり抜けもみかんさん発見ですが、発見当時はTASでやっても復帰ロケットで直接抜けられず、1度崖つかまりをしてジャンプダイブですり抜けていました。その後su氏がすり抜けに必要な座標の条件を突き止めた事で無事再現できるようになりました。今は自分も判定オタクなので、120での制作時は(su氏の解説画像を保存しておらず確認できないというのもあり)自分で再度座標を調べています。

 このシャイン取得でシャイン95、青コイン240という表示を見て本当に終わってしまうんだ、と実感が湧いてきました。

 

 青コイン交換では正規の入り口ではなく屋根辺りをすり抜けて入れるかもとNokidokiが以前ツイートしてたんですが、座標書き換えで調べた感じは正規の入り口の上あたりにしか部屋を切り替える判定がなさそうだったので普通に入っています。ここの部分は2015年の20枚TASでもやっていますが、リコの入り口判定を大回りで避けてより早くホバスラ復帰を出すようにした事で4Fくらいは短縮したと思います。

 青コイン交換のタヌキは他のNPCよりもテキストが出てくるのが早かったりします。他のNPCはBアイコンが消えて最速でも25F後ですが、タヌキは21Fで出てきました。

 

 ドルピックタウン帰還からコロナインまでは右側の方が2秒以上速いですね。結構前に人力で比較されていたので120走者は大体知ってるのかと思いましたが、執筆時点で120WR保持者のSBは左ルートでした。

 

 問題のコロナマウンテン。2018年anyの面影は最初のダイブ復帰スピンダイブしかないですね。最初の水面抜けはチュウハナツール依頼中の期間に作っていた個別TASの入力そのまんまなので一瞬で終わっています。このすり抜けは水面の即死判定の厚さ10ユニットを通らない事が条件に追加されるので、Y速度が-40以上必要となり人力で実行するのは普通の水面抜けより圧倒的に難しいです。TAS的に言えばY速度の条件があっても難易度自体はさほど変わらないどころか、失敗した時は即マリオが停止するので行きすぎたのか手前すぎたのかがQF単位で座標を監視しなくても判断できる分むしろやりやすいとさえ言えます。

 次はロケット手前で床の三角形をすり抜けて水滑り慣性スピンを出しています。マグマのせいで見えないのは残念です。ちなみにただの2段ジャンプだとマグマの即死判定をすり抜けられず、またスピンであっても水平速度は100以上ないと同じく即死判定を抜けられないので、ここまでで鍛えた速度維持力が活きました。水滑り中のスピン入力は空中に比べて減速幅が大きいので、カメラ利用の短縮スピン入力(大体速度94くらいまで落ちる)→進行方向入力による加速で100まで上げる→三角形抜けという手順になっています。

 この三角形抜けでは、スティック角度を多少ずらしてもマリオのZ座標に影響を与えないマリオの角度に調整する事で、X座標を細かに調整するだけで良くなります。これが20分程度で成功した要因ですね。

 慣性スピン中のホバー時にY視点保存をおこない、ロケット箱を開けた時に開放しています。Y保存で斜めにベクトル変更しないと段差からマリオが落ちてロスになります。このアイデアはなかなか天才的だなぁと自分で思いました。

 ロケット保存はダイブ復帰を段差で引っかけてY速度を稼いでからやると普通にロケット保存するより2F速くムービーまで到達できるというアイデアのNokidokiが出していましたが、坂ジャンプロケットで更新する事ができました。坂ジャンプロケットは、着地硬直で滑る坂の速度をもらって水平速度を稼がないと2発だけでムービーまで届かせるのは難しいです。

 

 クッパ戦、ここは左初動の調査を最初にしました。右初動ではダイブに速度が乗らないのに比べて、左初動は足場の隙間で落ちる事で空中ダイブが出るので速度が乗ったダイブが出て速いです。その分復帰の着地も手前になるので壊す床は遠いですが、ニュートラル速度維持と崖復帰を使って距離を稼いでいます。この結果、右初動に比べて6F速く壊す事ができました。

 問題は壊した後です。元々はany同様復帰ロケットで足場間を移動する予定で、この場合、崩れた床で生じる段差でダイブを引っかけて滞空時間を削る必要があります。右初動では段差が良い位置に存在しないので、足場の揺れを利用してマリオを浮き上がらせていますが、この浮き上がりが発生するポイントは発生ポイントを調べるのは困難で、足場によっては簡単に発生するポイントもありますが、大体は偶然発動するまで粘るくらいしかありません。ちなみに浮き上がる原理は1QFで床が100ユニット以上下がった時ですね、これも判定オタクになると容易に推測できます。

 この偶然発動するのを待っていた時、マリオが滑るモーションになりました。私の中で完全に頭から抜けていた、崩れた床の中には滑る坂があるという事をようやく思い出します。そしてanyの時ではベイブレードが見つかっていないために滑る坂の存在を思い出したとて意味はなく、これは120でクッパ戦まで来たからこそ利用法の生まれたものでした。

 ベイブレードで右側に飛ぶと崩れた床が邪魔になったので、左に飛ぶ事にしました。後日右に飛ぶとより速く2か所目を壊す事ができると分かりますが、3か所目でお湯が邪魔になってロスになるので更新余地にはならず助かりました。

 床ごとに崩れ方は固定ですが、滑る坂が生まれる場所はそれぞれ異なるので各床の移動時間も微妙に異なります。時計回りだと後半2つの床がほぼ目の前に滑る床が生まれるので段々と速くなっていきますね。4つ目の床を壊した時にポンプのメッセージが出てこなかった時はそんなに速いのか‥と流石に驚きを隠せず、危うくtwitterで「メッセージカットできてしまった」とか呟くところでした。

 これで振り返りもやっと終わりましたね。ここまで熱心に読んでくださる方がどれだけいるかは分かりませんが、いたらありがとうございます。

あとがき

 1年くらい前までは、完走してエンディングを見たら流石に感極まって泣くんじゃないかと思っていましたが、全然そんな事はなかったです。みかんさんがこっそり集めていたというサンシャイン勢からのメッセージ集は泣きました。

 一般的に120枚TASは苦行というイメージしかないと思いますが、制作中は楽しい事がほとんどでした。苦行と感じるのは乱数調整と、コツを掴めていない時の水面抜けと、初期の方の闇雲にやっていた大砲抜けくらいですね。終わりの見えない作業や、時間をかけても進展がない作業はガチで苦行です。それ以外はチュウハナであっても綿毛であっても本当に楽しく、全体的にanyでは得られない新発見、新技術にたくさん巡り合えて、新しいアプローチや最適化案が浮かんで更新した時の気持ち良さはanyを作ったからこそ味わえたものです。2020年後半くらいから、どんどんと成長する自分のTASが好きになって、大福の1番のファンは大福という状態でした。

 2021年からの革命でサンシャインTASが本格的に数学化してしまった時は自信をなくしていましたが、ツールサポート班がいてくれた事で救われたと思います。斜面抜けの時には特にサポミク氏、なおさんのおかげで乗りきれました。ここで折れて判定オタクにならなかったら水面抜けも同じく乗りきれなかった事でしょう。数学は元から好きな方ではありましたが、水面抜けに必要な知識は勉強した事のない分野だったので久しぶりにガッツリ勉学に励んでいました。頑張って付いて行った自分を褒めたいです。

 

 twitterでも書きましたが、120TASのモチベーションは自分のTASが好きだった事です。仮に視聴者が全然いなかったとしても、作り直せ作り直せと言われ続けたとしても、この部分さえ生きていれば完走まで漕ぎつけた自信はあります。他のTASerがどういうモチベーションの保ち方をしているかは分かりませんが、自分の作るTASは好きでいて欲しいなと思うばかりです。

 

 ここまでコンスタントに長編TASを作れる人は他のゲームを見てもそうはいない、とある人から言ってもらえたんですが、自分でもそう思いますね。更に言うならば、解析もプログラミングもツールを自作する事もできず、ただ最適化の技術のみで成り立っているTASerは私くらいではないかなと。それを補える豊富なサポート班、しかも日本人に恵まれたのは運が良かったです。いつかはそういった知識も身につけられたらとは思いますが、何から手を付けて良いのかサッパリです。PCも流石に限界ですし。

 

 最後に今後の活動について。

 TAS制作中は、完成したらRTA復帰したいと何回か言っていましたが、今はあまりRTAモチベーションがないですね。やはりゲーム画面がカクついて集中できないという事や、無駄に知識がついて自分のミスを分析できるものの、それを改善できないプレイの下手さで自信をなくしそうだからです。ブランクが空いても知識さえ残っていればTASは実力が衰えませんが、RTAではそうは行きませんからね。RTAをしっかりやるなら、周辺環境から変えないとどうにもならんといった感じです。

 TAS活動は辞める気はありません。個別TASは不定期に作っていくと思いますし、RTA勢の疑問を見かけたら検証なり裏取りなりで結局ドルフィン起動しているんじゃないかなと。フルゲームランとしては、ACEを最適化するのはありですが、こちらはまだ勉強してない分野でNokidokiにいろいろ教えてもらわないといけないので水面抜けとは違うハードルがあります。それに日本語初期版でもACE実行可能な方法を作ってもらわないと、それ以外のROMを持っていない自分にはそもそも作れませんね。

 まぁいろいろ書きましたが、特にチュウハナツール完成後はTAS制作を最優先し他の趣味を封印していた事が多かったので、そういった事に時間を使うつもりです。ポケモンとかぼっちざろっく、ゆるキャンの最新巻読むとか。今後の予定としてはこんなところですかね。

 

 最後に動画見てくれた方、この記事読んでくれた方、TAS完成報告にリプくれた方(返事してなくてすみません、量が多くて諦めました)、ほしいものリストからいろいろ贈ってくれた方、ルート案くれた方、ツール制作してくれた方、勉強手伝ってくれた方、5年分の感謝を、ありがとうございました。

チュウハナの性質

 120枚TASでチュウハナの制作が終わったので、その性質を備忘録のためにまとめる。

情報提供元はgoldfire氏。

 

乱数を消費する要素

 チュウハナは以下の3つの関数で乱数が使われている。

・鏡ごとに設定された多角形頂点にターゲットを設定する「willFall」

・ターゲットの100ユニット以内に入ると、チュウハナの向きを変更する「setGoal」

・チュウハナ同士が接触している時、idの低い方のチュウハナがターゲットの再設定などをする「isCollidMove」

 

性質

・チュウハナに水を当て怯ませると、その鏡にいる通常の歩き状態のチュウハナのターゲットが水を当てた時点でのマリオの位置に向く。硬直したチュウハナのターゲットもそこを向いているが、歩き出す際はターゲットの方ではなくマリオの現在位置に向かってくる。

・チュウハナ各個体の歩く速度は、ステージロード時に乱数で「1.0」~「3.0」の範囲でランダムで決定する。方向転換速度も「2.2」~「2.5」の範囲で決定する。

・チュウハナが鏡の端っこにいるかどうか判別されており、端にいると判定されている時に水を当てると踏ん張り状態になる。踏ん張り状態が終わった後、マリオに向かってくるかどうかがまだ把握しきれていない。

willFall

 willFallはチュウハナの移動の制御でかなり重要な部分となる。この関数が呼び出されるまではチュウハナはターゲットに向かって歩き続ける。

 willFallが呼び出されるには「鏡ごとに設定された球状の範囲の外側にチュウハナがいる」「OnPanelTimeが21以上である」の2つの条件が満たされる必要がある。

 OnPanelTimeはQFごとに1ずつ増加し21を超えると正の範囲をループするもので、チュウハナが歩いている時のみカウントされる。willFallの適用によって-100に設定され、setGoalの適用によって400に設定される。

 

setGoal

 setGoalは適用されるとチュウハナの向きを「-30.0」~「30.0」の範囲で進行角度を変更する。重要度は低いものの、最適化する場合はちゃんと調整する場面も出てくる。

 

isCollidMove

 この関数が最も重要で、チュウハナ同士が接触していると毎フレーム呼び出される。

3/4の確率で何も起きず、1/4の確率で2回目の乱数が呼び出され、ターゲットを再設定する。この再設定でもOnPanelTimeは400になる。

 3匹鏡では接触の頻度が多すぎるため、ほぼ毎フレーム発生している。ターゲットの向きによっては離れて行ってしまうため調整が必須。

 

鏡から落とす方法

 チュウハナを鏡から落とす方法は意外と多い。

・普通にヒップドロップ

・怯み状態のカウントを7回以上重ねて踏ん張れないようにしてから水で押し出す

・鏡の傾き速度をバグらせて落とす

・ターゲットをマリオに向かせ続けて落ちてもらう

 

 TASで選んだ方法は4番目の方法。普通にヒップドロップと、7回怯ませるのは明らかに手間がかかる。鏡バグも発動にはある程度時間が必要な可能性が高く現実的ではない事から消去法的に選んだ。

 この方法ではチュウハナの歩き速度が最も重要で、これが遅いと必要な水当て回数が増える。そのため初期厳選では全員の歩き速度が大体1.7以上になるパターンを選んだ。

 

 手順は単純で、willFallが適用された直後に水を当てるのを繰り返す。2匹鏡、3匹鏡ではisCollidMoveによってターゲットが変更されないように随時調整したり、あえて変更させる事でチュウハナ同士押し合ってもらいわずかな距離を稼いだりもする。この辺りの話はTASを公開したら別で記事にするか、講義動画にすると思う。

 鏡の端っこ判定されてる時は踏ん張ってしまうため、それを避けるように水当てタイミングを微調整する事もある。ただしめちゃくちゃ端っこなら踏ん張り体制のまま落ちたりする上に、歩いて落ちるよりも落下が速い。

 

 人力は1匹鏡でも狙ってやるのは結構難しい、歩き速度の運ゲーもあるのでタイムアタックという観点からは狙えたものではない。

マリオサンシャインの記録をSRCに申請する際のマニュアル

 筆者はspeedrun.comでマリオサンシャインのモデレーターを務めているのだが、記入ミスのある申請が多いと感じている。

 そこで今回は記録を申請する際、各項目はどのように記入するのかについて解説していく。

 

ゲームとしてのルール

 まずはマリオサンシャインRTA全般におけるルールについて。

これらはリーダーボードの右上にある[View rules]から確認する事ができるが、全て英語で書かれており読むのに抵抗のある方もいると思われるので、要約してまとめておく。

 

 ・記録は実時間による計測で行う(走りの最中に電話がかかってきた等のトラブルが起きたとしても、途中でタイマーを止める行為の禁止)

 ・実機で走る場合は正規のディスクを使う(NintendontはUSBやSDカードからゲームデータを読み込んでいるため不可)

 ・エミュレーターはカテゴリごとに定められたタイムより速い記録は無効

 ・カテゴリごとに定められたタイムより速い記録(Any%では1時間25分より速い)では、動画が必須

 ・動画はゲーム音や映像がちゃんと入ったものでなければ無効

 

各申請項目について

 ここからは各項目の埋め方について説明する。

(you areはモデレーター用の項目)

 

[Category]

自分の走った競技を選ぶ項目。

 

[Time]

左から○時間○分○秒と埋めていく。基本的にmsの部分に記入する必要はない(000ではなく、空欄のままにする)。

小数点以下は、同タイムの走者がいた際に必要に応じてモデレーター側が精査して加えるため、申請段階では無記入で良い。

 

 

[Timing Method]

計測法を選ぶ項目。new file、peach file、hacked fileの3つがある。

これはタイムに関わらず、無記入の場合はモデレーター側から確認が入る事が多いため、記入しておくことが望ましい。

 

[Game Version]

GC版ソフトで走ったか、スイッチ版ソフトで走ったかを選ぶ項目。

GC版の場合は[GCN]、スイッチ版の場合は[3DAS]を選ぶ。

 

[Region]

どの言語のソフトで走ったかを選ぶ項目(GC版でのみ必要)。

スイッチ版では[None]を選ぶ

これは、スイッチ版ではゲーム側で言語を設定できるためどの走者も同じ条件で走る事ができるからである。

 

[Platform]

どのハードでプレイしたかを選ぶ項目。

ゲームキューブでプレイした場合は[GameCube]、wiiでプレイしていれば[Wii]、スイッチ版の場合は[Switch]を選ぶ。

Game Versionと項目が似ているため混同しないようにしよう。

 

[Date]

記録の達成日を記入する。

 

[Video link]

動画を添付する際にURLを載せる項目。

twitchの場合、過去の配信は見られる期限が決まっているため、必ずハイライト等のURLにする。

 

[splits i/o]

記録のラップタイムを載せることができるサイトがあり、そこに投稿したラップデータのURLを記載する項目。任意項目であるので無記入でも問題はない。

 

[Description]

走りについての説明を書く項目。

ボスパックンの運が悪かった」「○回死んだ」「全体的に良い走りだった」など、自由に書いてよい。これも任意項目。

 

記入しておいた方が良い項目まとめ

Timing methodの部分にも書いたが、記入されていなかった場合にモデレーターが確認する項目がある。

[Video link] [splits i/o] [Description]以外の項目については出来るだけ記入しておく事が望ましい。

もちろんタイムが速い場合は[video link]も確認が入る場合がある(初申請で1時間30分切りなど、これはその人が普段から配信しているかによっても変わるためケースバイケース)。

 

よくありそうな質問

Q:数秒しか更新してないけど申請して良い?

A:OKです。

 

Q:1時間20分切ったら申請しようと思ったけど、初申請で1時間19分だと疑われる?

A:普段から練習や通しを配信したり動画として残している人であれば、それらを確認するので心配する必要はないです。全くそういった形跡が見つからなかった場合はモデレーター側で協議されます。

 

Q:タイムを間違えて申請してしまった、どうすれば良い?

A:モデレーターに申請ミスである事と正しいタイムを伝えれば申請を修正してもらう事ができます。

 

Q:申請が全然承認されないのだけど

A:モデレーターが時間が取れず申請をチェックできなかったと考えられます。今はモデレーターが多いのであまりありませんが、5日経っても申請が放置されているようなら確認を取ってみるのが良いでしょう。

 

Q:スイッチ版で掃除バグが起きた記録は申請しても良い?

A:OKです。開始直後にバグが起きて即シャインを取ったものでも大丈夫です。

斜面抜けについての話

まえがき

 2022年1月30日、日本のサンシャインTASerであるsu氏が1つの動画を公開した。

 画面から見切れるギリギリで起きているため分かりにくいが、本来モンテに1コイン払って投げてもらい窓を突き破るか、フルーツすり抜けを使うかで侵入するシャイン部屋の建物の屋根をマリオ単体のみですり抜けて侵入している。これが新発見となる斜面抜けで、今回はこの技の解説をする。

同じ原理の技は4年前から既にあった?

 実は斜面抜け自体は2018年に制作したAny%TASのピンナパークストーリー2で大砲に侵入する際に使っている。この時は同TAS制作中に、RTAで偶然起きた事例がマリオサンシャインの総合discordサーバーにて報告され、原理は分からないながらもスティックをほぼ総当たりに近い数だけ行ってTASでも再現を得られた。

 その後Nokidoki氏によって、斜面が別の斜面に接続している時、その境目は判定が薄くなるという情報が寄せられ原理は判明したわけだが、それ以上の発展は起こらなかった。ゆえにAny%TAS、そして現在制作中の120枚TASでも大砲抜け以外でこの技は使われていない。

クォーターフレーム

 斜面抜けの原理を解説するには避けて通れないのがクォーターフレーム(以下QF)という概念。

マリオサンシャインは1秒間に30フレーム描画される30FPSで動いているが、各フレームは内部的には更に4分割されており、これをQFと呼んでいる。この4分割ではマリオと壁との接触や床との接触の判定を行っている。通常は4分割全てを見る事はできないが、Zボタンのマップやポーズ画面の開閉を最速で繰り返す事でQFごとに画面を進めることができる。

 スイッチ版のサンシャインはマップボタンを押し続けるだけで最速の開閉ができるため、QFを簡単に確認可能である。

床と壁の判定のチェック

 サンシャインにおける床の判定、壁の判定がどのように行われているか具体的に見ていく。まず斜面抜けに関わる床の判定について。

 

 まずゲーム内の物の長さの単位をここでは[unit]と呼ぶ事にする。例えば、マリオの水平方向の速度(XZ速度)が48であるならば、それは1Fで48unit移動する事を意味する。ちなみにこの速度48はマリオがダイブをしている時の速度である。

 

 床の判定は以下の通りである。

三角形の1番低い位置では厚さが30unit、最大で厚さが108unit

 三角形という新たな要素が出てきたため、順番に解説する。

これはサンシャインに限らずだが、壁、床、天井、水面などあらゆるものは複数の三角形を組み合わせて作られており、その三角形がマリオとの接触を判定している。

 画像では、青く描写されているのが床の判定を作っている三角形、緑で描写されているのが壁の判定を作っている三角形である。

 

 床を構成する場合、平らな床では三角形が全て1番低い位置にある事になり、その厚さはどこをとっても30unitである。つまりは床のY座標が300だとすると、Y座標270までは床として認識され、その範囲にマリオがいる場合は強制的にY座標300に押し上げる処理が働く

 斜面では三角形の頂点が異なる高さにあるため、それぞれの場所ごとに厚さが変わってしまう。

 ちなみにマリオが地面にいるか空中にいるかで判定の範囲が違い、地面にいる時は床の上100unitも床判定され、これによって階段や斜面を下ってもマリオが空中に飛び出す事がないようになっている。

 

 次に壁の判定のチェック

これは床よりも複雑なため一律に説明できるものではないが、ほぼ全てで共通するのは壁の前後50unitがマリオを押し返す判定になっている事。

 例えばハニスキで立ち位置を合わせようとカニ歩きをしていたら急に建物の外へ押し出される事があるのは、この前後50unitの範囲に入ってしまったからである。

壁の前後にマリオを動かす判定(緑の矢印)がそれぞれ50unitずつついているイメージ図。この範囲に入るとマリオが強制的に外に押し返される。分かりやすさ重視なので実際の矢印はもっと狭い。

 

 壁についてもマリオが地面にいるか空中にいるかでその判定が異なるが、斜面抜けで関係があるのは空中にいる時のみなので読み飛ばしてもらっても構わない。

 

 マリオが地面にいる場合、まず三角形の頂点から30unitの範囲のY座標では壁としての判定はない。そしてそこから更に30unitの範囲では壁の押し返す判定は前後25unitずつである。そこから下は前後50unitずつの壁判定があり、三角形の最も低い位置より更に下の60unitの範囲までは壁判定が存在する。

 

 空中にいる場合、三角形の頂点から30unitに判定がないのは地上と同じだが、空中ではその下からすぐに前後50unitの壁判定になる。そして三角形の最も低い位置より下は150unitまで壁の判定が存在する。

 

 これは地上では壁の三角形を水平方向に前後25unitずつ伸ばしたものを真下に30unitずらした壁と、前後50unitずつ伸ばしたものを真下に60unitずらした壁の2つの判定が存在するからである。

 同様に空中では三角形を前後50unitずつ伸ばしたものを下に30unitずらした壁前後50unitずつ伸ばした壁を下に150unitずらした壁の2つの判定が存在する。

 

 補足すると、この壁はX軸、Z軸のどちらかに垂直なものの場合で、斜めを向いている場合は前後25unit、50unitずつ伸ばすという表現は正しくはない。ただし斜面抜けに置いて壁はほとんど関係ないため、これはまた別の機会に解説する。

 これだけではとても分かりにくいと思われるので、なおさんが作成した判定図を引用する。

画像

引用元[

https://twitter.com/naosan_RTA2/status/1490198481860186113

]

 

 この2つの壁が存在する仕様により、壁が非常に短い場合は30unitずらした壁150unitずらした壁との間に隙間が出来てしまい、ホバー等ですり抜ける事ができてしまう。

すり抜けに必要な要素は?

 ここまで床と壁の判定について説明した。ここからはそれらをすり抜けるとはどういう状態なのかについて解説していく。

 サンシャインは30FPS、パラパラ漫画で例えるなら1秒間に30コマ存在するわけなので、単純に考えればこの1コマと1コマの間に壁や床の接触判定の広さ以上の距離の移動が起きればすり抜ける事になる。

 ただしそれだと床は簡単にすり抜けてしまう事になる。なぜならサンシャインでは落下スピードは最高-75、ヒップドロップ時のみ-80まで出るため、厚さ30unitしかない床では薄すぎる、しかし実際はそう簡単に床をすり抜けない。

 

 QFの項でも述べたとおり、壁と床の接触判定は毎QF行われている。なのでQF毎の移動でそれらの判定の範囲を超えればすり抜ける事ができる。速度を付けて抜ける場合、単純計算、地形の厚さの4倍より上のスピードが必要となる。

 床であれば-120より上、壁の場合は前後50unit、計100unitの判定を超える必要があるため、400より上の速度が必要となる。

 このゲームでは通常そのレベルの速度は出せないのだが、斜面が他の床に繋がっている場合は話が変わってくる。

斜面抜け

 ここまでだいぶ前提知識の話が続いてしまったが、ようやく本題である。

斜面が別の床に繋がっている時、その判定は下のようになる。

(図はサポミクさんのツイートから引用)

 床の判定はあくまで三角形のY軸方向に伸びているため、2つの三角形の交点では片方は1番低い点の30unitの厚さ、もう片方は1番高い点の108unitの厚さを持っている。

 そして30unitより下は床の判定はないため、斜めの方向で侵入する際は床の厚さが非常に薄い領域が出てきてしまう。

赤のラインは30unitよりも遥かに薄く、これの4倍の速度であれば現実的な速度になるため、それを行うのが斜面抜けとなる。

斜面抜けができる条件

 斜面抜けは全ての斜面でできるわけではなく、一定の条件がある。

1つ目は、斜面の傾き具合。

 斜面は傾いているほど、すり抜けに最低限必要な速度が低下し、速度が付けばつくほどすり抜ける範囲が増える。

 逆にある角度からはゲームの速度の仕様上すり抜ける事が不可能になる。

 

 では斜面の傾きとすり抜ける範囲がどのように求められるか、図を用いて説明する。

①斜面が急な場合(70°)

青い線が床の三角形、水色が床の判定が発生している範囲である。

 まず床の判定がなくなる最初の地点(2つの床の交点からY座標を30unit下げた地点)、ここがすり抜け後のマリオの座標になる。この場所を基準点としてマリオのXZ速度の1/4倍したものを横Y速度を1/4倍したものを縦とした四角形を考える。

 今回は分かりやすくするため、Y速度は仕様上の最高速度-75を1/4倍した18.75XZ速度はダイブでの速度48を1/4倍した12とした四角形を作った。この四角形が意味するものは、基準点にマリオが1QFで到達できる範囲である。

 図の通り、この四角形は一部床の三角形より上に飛び出ている。この飛び出た範囲がそのまますり抜けが成功する範囲となる。この範囲内であれば、1QFでXZ方向に12、Y方向へ18.75動かせば水色の領域に入る事なく基準点へ通過する。

 

 同じ斜面でもXZ速度を下げた場合は四角形の横が短く、Y速度を下げた場合は縦が短くなるのですり抜け可能な範囲が狭まる。

 

②斜面が中くらいの場合(50°)

 マリオの速度は①の急斜面と同じだが、見ての通り斜面が緩やかになると青線より上に飛び出た領域が少なくなってしまう。Y速度(縦線)はこれが限界のため、これ以上範囲を増やすにはXZ速度(横線)を大きくする必要がある。

③斜面が緩やかな場合(30°)

 傾きが30度の場合では四角形が完全に床判定の中に埋まってしまい、すり抜ける事が不可能になる。XZ速度は空中では80が上限であるため、QF毎の移動距離も20が上限でこれ以上範囲を広げる事はできない。

 以上がすり抜ける条件1つ目、斜面の傾きとなる。

 

 条件2つ目は、斜面が下り坂や壁に繋がっていない事である。

斜面が平らな床に繋がっている場合には、元々平らな床の厚さが30unitであるため、既に出した画像(上り坂への接続)と同じ結果になるのだが、これが下り坂への接続になると結果が変わる。

 下り坂に面した場合、交点はどちらの斜面も1番低い点ではないため、厚さが30unitではなくなってしまう。

 この時、四角形の位置は斜面が下り坂になるにつれてどんどんと下がっていく状態と言え、凸上の地形では基本的に斜面抜けはできない。

 

 次に斜面が壁に面した場合


前述した通り壁は前後50unitに判定があるだけでなく、150unit下にずれた位置にもう1つの壁判定が存在する。そのため斜面に近付く前に壁の判定に阻まれることになり、すり抜ける事ができない。

 

 まとめると、斜面抜けは

①傾いているほど必要速度が小さくなり、よりすり抜けやすくなる

②斜面の傾きは充分でも、それが下り坂や壁に繋がっているとすり抜けない

 

 これをなおさんが画像でまとめているので引用する。

画像

 

スピードランへの影響

 以上で斜面抜けの原理、解説は終了とし、ここからは実戦で使う事ができるのかについての話をする。

 

 結論から言えばRTAでは位置調整がシビアすぎるので使えない。急斜面であってもY座標の猶予は10程度、XZの猶予は5程度でありセットアップでも開発しない限りは到底安定する幅ではない。

 ワンシャインにおいては既に採用されており、秒単位の短縮が起きている。

SMS - Delfino Chuckster - 9.23 [WR] - YouTube

 

 ではTASではどうかというと、もはや革命と言っても良いレベルに短縮ができる

su氏が発見した屋根抜けに触発されてサポミク氏、なおさん氏が三角形の座標とマリオの速度を入力するだけですり抜け可能範囲を計算するツールを開発した事で他の場所でも検証が容易にできるようになった。

 これによって更新できたシャインは以下の通り。

大福 on Twitter: "120TASから70F更新
found by @ykpin64
調査協力 @sup39x1207 @naosan_RTA2… "

大福 on Twitter: "GBS fruit less!
サポみくさんにすり抜けに必要な情報を見る方法を教えてもらい、なおさんに目標座標を計算してもらう事で実現しました… "

大福 on Twitter: "ハニスキTAS、Any%から59F更新… "

大福 on Twitter: "マーレ2のTASもまた壊れてしまいました
anyから101F更新で当然120も更新可能… "

大福 on Twitter: "今日は新規のすり抜けが思いつかなかったので、昨日のやつ28F更新しました… "

大福 on Twitter: "マーレ2昨日8時間くらいかけて10F更新しました… "

大福 on Twitter: "120TASでもハニスキは斜面抜けした方が速かった(編集めんどかったので音はない)… "

 特にフルーツなどのオブジェクトを使ってすり抜けていた場所の多くが自力ですり抜け可能になった事で大きな短縮になっている。

 残念ながら現在制作中の120枚TASは、既に作り終わったところで起きた更新はその地点まで戻って作り直す事はしない方針のため更新余地として残ってしまうが、もしこれから作るシャインで採用できそうな場所があれば使う予定だ(現状の残りシャインでは使えそうな場所はないが、他の新発見技は採用確定のものがある)。

おわりに

 今回は今までの記事以上に専門的な内容だったためどれだけ伝わったかは怪しいが、実を言うと私でさえこの記事を執筆段階では完全には理解できていないものがあった(壁の判定など)。しかし今後のサンシャインTASでは間違いなく重要技となるため、何かの形でまとめておきたいと思い情報を集めながら書いた次第である。

 

 発見者のsu氏は他にも2021年から現在にかけて様々な発見をしており、ほぼ全てがTASの記録を更新するレベルのものなので紹介したい事はたくさんあるのだが、斜面抜け以外は難解なものが多く、私も他人に上手く説明する事ができない現状である。

 

 今回は執筆の際に一部なおさん氏に図の作成を引き受けてもらった。

また、解説の内容の大部分はサポミクさんの解析結果に基づいている。

 

ウナギ解説-RTA編-

まえがき

 前回記事からかなり日が経ってしまったが、今回はウナギ戦におけるRTAの戦法を解説していく。

zelpiku.hatenablog.com

 文字による解説のみのため、実戦でどのような動き方をしているか等は各プレイヤーの記録動画や、他の人が作った解説動画を見てもらいたい。

沈みパート

 ここではY視点で上を向きショットガンを数発撃つ→Y視点で上を向きショットガン…を繰り返す事でほんの少しだけ沈むスピードが上がる。

 ただしTAS精度であってもショットガンを9発くらい撃たなければ1Fの更新にならないため、無理にやる必要はない。

ウナギ起こしパート

 沈みパートからウナギに近付いて反応させるフェーズ。

ステージの中央は上昇水流が発生しているため、ウナギの真上で待機して沈むと最大0.5秒ほどロスが発生する。故にウナギが反応する高さギリギリで中央に移動する方が理論上は良い。

 ウナギが反応したら回転の方向を見て金歯の位置を把握し、それに合わせてマリオの向きを整える。特に6本抜き以上を狙う場合、金歯の位置を固定化しないとムービーカットの際にぶつかる歯が変わってしまうため意識する事が重要。

 

 金歯の位置については、マリオの向きを初期状態から変えなかった場合、

ウナギが時計回り→手前側に金歯

反時計回り→奥側に金歯

となっている。

歯磨きパート

 口を開けてから吸い込みを始めるまでの間に何本の歯を磨くかでタイムが大きく変わる部分。

5本抜き

 5本抜きでは歯を磨く順番は3通りで、

①前歯2→金歯→前歯2

②前歯4→金歯

③前歯4→奥歯

という順で磨く。

③については、6本抜きレベルの精度で行った場合、ウナギのフェーズ切り替えより先に奥歯を抜いてしまい沈んでしまう事があるため注意が必要。

①と②は6本抜きで使う順番でもあるため、6本抜きを意識するならばこの2つを習得すると良いだろう。

 5本目を磨き終わるとウナギが吸い込みを始める。ここでマリオの高さを落としてウナギの喉元付近まで沈む事で、口閉じ行動をさせ、吸い込みをキャンセルする。

 口閉じで食われる前に脱出し、再度吸い込みを始める前に歯を1本磨き、再度口を閉じさせるという繰り返しで8本磨くという手順になる。

 

 ムービーカットの時にぶつかる歯は低い位置のものの方がホバーでの浮上が少なく難易度が低いため、どの歯を残すかが重要。

 ただし、ウナギが口閉じを始めると歯でダメージを受けることができないため、マリオの位置が低すぎると失敗する事もある。

6本抜き

 ベースは5本抜きと同じだが6本抜きは時間がシビアで、高い操作精度が要求される。

歯を磨く順番は5本抜きの①か②のどちらかの後に奥歯を1本追加で磨く事になる。

 6本目の歯を磨き終わった段階で残っている歯が①では対角線上にあり、②では同じ側にある。そのため、両者では7本目からの動き方が異なる場合がある(口閉じ回避の際、脱出する方向を変える事で8本目の位置を固定化する事はできる)。

 

 上位層は7本目を磨く際に口閉じをさせる位置に陣取り、口が閉じている最中に7本目を磨き更に短縮を狙う事もある。

7本抜き

 理論上最も多く磨けるパターンとなる。

比較的最近見つかった方法であり難易度も最も高く、採用している人も非常に少ない。

 

 7本抜きは猶予が狭いため、5本抜き、6本抜きとは異なる手順で磨いていく。なお、TASに匹敵する操作精度で磨いた場合は6本抜きと同じ手順で最後に追加でもう1本という形にもできるが、難易度に対し短縮が少なすぎるため失敗しても6本抜きにリカバリする必要がない点以外はメリットは薄い。

 7本抜きは前歯4本の内1本を中途半端な状態で残しておき、それで空いた時間を奥歯に回す事で成立させる。

  前歯2本→金歯→前歯1本→奥歯→口閉じ→脱出前に奥歯を磨き、磨ききれなかった場合でも脱出直後に放水して磨ききる→口閉じ→残った前歯を磨きつつ最後の奥歯

 という手順になる。ポイントとなるのは、8本目の歯に近い前歯を残しておけば8本目を磨く直前についでに磨ける事。

 そして吸い込み予備動作に入る直前に奥歯を磨く事。

 この予備動作直前の猶予が少なく、タイミングが早すぎるとウナギが沈み大幅ロス、遅すぎると次の歯を磨けるようになるまでに時間がかかってしまい、通常の6本抜き並みのタイムになる(前歯を磨く分少しロス)。

 また前歯の位置の関係上最後に磨く歯は高い側に生えてるものになるため、低い方の歯でムービーカットをしていた人はこれも新たに習得する必要がある。

 

 文章では分かりづらいと思うが、7本抜きは以上のように6本抜きとは違う操作を必要とする。ただし短縮も大きいため難易度に見合ったものであると感じるならば練習する価値はあるだろう。

おわりに

 ウナギ解説RTA編は以上となる。当初はこのタイミングで歯が磨けなくなる制約がリセットされているから次の歯がすぐ磨ける、などの解説もそれぞれ書くつもりだったが、仕様編と併せて読めば分かるだろうと思ったため省略した。

 ウナギに関しては知識の有無は特にリカバリ方面やホバ禁では大事であるが、知識だけあっても操作やエイムに慣れなければどうしようもないため(事実、筆者である私がウナギのRTAは上手くはない)、まずは操作面を安定化させていくのが最優先だろう。

サンシャインAny%(ACE)用ルートメモ

  1. エアポート
  2. 警察署
  3. 灯台
    どろパックンで残機消費
  4. ニセマリオで青コイン取りつつ鐘の下
  5. リコ解放しつつ投げおっさん+M字青
  6. マンマ解放しつつ砂浜
  7. モンテ1+青4枚
  8. モンテ2+青5枚
  9. モンテ3+青2枚
  10. 大シャイン
    ハニスキ+屋根青、M字、青い鳥
  11. 木箱
  12. 木箱
  13. 左ベル
  14. マンマ8+青2枚
  15. マンマ7+青2枚
  16. スライダー(残機消費)
  17. 金の鳥
  18. パチンコ
  19. 青交換
  20. 青交換
  21. マーレ1
  22. マーレ2
  23. マーレ3
  24. マーレ4でゲームオーバー