闇鍋RTAの大トリについて

タイトル通りです。全編を観ることは出来なかったものの、自分が普段走っているゲームは視聴できました。あくまで外野ですが、思ったことを書き連ねるスタイルで臨みます。

 

イベント発表〜本番直前期

応募で通った時は驚きでした。国内イベでようやく日の目を浴びれるスケジュール調整の結果、解説に空きが出てチャンスだと思いました。うしゅ〜さんに声かけてもらえないかな〜(淡い期待)、なんて。

 

怠惰な私/解説枠の後任

かせきさんの参加レポートを読んで知ったのですが、彼は空いた解説枠に入れるかどうかを運営に尋ねていたようです。いや、この速さだと負ける。行動の速さよ。

ちなみに、自分も連絡を入れようか少し迷いました。ただ、自分がいきなり押しかけるのはどうなんだろう… Twitchで配信したことあるけどニコニコは無縁だしと尻込んで何もせずに終わりました。自分の性格の問題でしたね。結果オムが解説に入ることになりましたが、本番のパフォーマンスからして適任だったと言えます。ありがとうございました。

 

オムとの相違点: 解説はどうあるべきか納得

ターゲット層をどう捉えるか。この一点だけでも解説の内容が大きく分岐します。今回の場合、このゲームはおろか、2Dマリオシリーズに触れたことの無い方を想定した上での解説は非常にウケが良かったと思います(主観)。ただ、2Dマリオのゲーム性ぐらいは一般常識なんじゃないかな?とも思ったものです。DSのゲームの中でも12を争うほどよく売れてるし、35周年という節目を迎えるほどの有名なフランチャイズ。知らない人ってそんなにいるのかな? 知らない人はそもそも観ないんじゃないの?と。Twitchのアナリティクスを見ても同世代の視聴者が多そうだったので、ここまで配慮する必要はあるのだろうか。少なくとも最初はそう思ってました。

しかし終わって蓋を開けてみると、解説の方向性は正しいと気付きました。視聴者層に関しては、Twitchに比べてニコニコの年齢層は少し上にブレている。また、RTAという語の浸透度は、海外で言うSpeedrunほどではない。この2つを鑑みるに、闇鍋RTAを視聴していた大多数が初代ニューマリRTAの両方をよく知ってるかどうかは微妙なラインでしょう。また、知らない前提で一から解説してくれるというのは他に変えがたいメリットです。今までそれほど考えてなかったのですが、触ったことも聞いたこともないゲームを効率化の切り口だけで喋られても興味を持つのは難しいということです。イベントが密集していた時期に視聴していてようやく実感できました(どこどこのゲームの解説が悪かった、という訳ではなく序盤にあるゲームの趣旨の解説を逃すと途中から観ても分からない、という意味合いです)

RTAイベントで扱われる対象の共通項はゲームですが、当然ながらそれらの根底にある「面白さの追求」「誰でも楽しめる」の2点が視聴者を呼び込むのに必須でしょう。「一般受けを狙うのはサムい」という偏屈な考えもありますが、初見を引き込める要素を取りまとめた結果一般に受けているのとは完全な別物です。因果関係が真逆に捉えられがちです。

 

 

経験談など

今年の7月、海外運営によるニュースーパーマリオシリーズのリレーイベントでDSの解説枠に入りました。過去に何度もドタキャンしていたものの、ようやく参加できたのは光栄です。

解説するにあたって、SGDQ2016の走り2本を参考にさせてもらいました。どのようなペースでどのような内容を喋ればいいかを概ね把握できた上で本番を迎え、特に問題なく内容をカバーできたと思います。事前の話し合いで相方の解説役は実況メイン、私は仕様説明という具合で役割を分担していたので、無理なく運べたと思います。2走者のレベルも具体的に把握できていたので、採用されている技の説明もするするこなすことができました。

翻ってかせきはどうだ!と言うわけではなく、むしろ真逆です。解説に関しては、「語り手」「聞き手」という分担になっていたため(事前の綿密な打ち合わせがない限り)準備していた内容を全て話しきれるかどうかは微妙なラインです。それでも必要最低限の内容をカバーできており、視聴者側にとっても納得のいく仕上がりだったと思います。走者さんの完成度に至っては、直前期の配信を観ていた私も全く予測できていませんでした。その場で乱数の一連の説明を捻り出した機転は評価ポイントだと思っています。

 

 

今後について

先日のニンダイで発表された件のゲームも好評()で、マリオシリーズに対する注目が高まりつつあるのではないでしょうか。RiJへの応募が通った暁には、全視聴者にさらなる魅力が伝わるような解説を目指したいと思っております。今年の年末に通るかは怪しいですが、来年はニュースーパーマリオブラザーズ発売15周年記念の年です。祈りましょう。

ニューマリDSの乱数調整について(青甲羅乱数+α): part 2

結果を報告します、などと言っておいて一年以上間が空いてしまいました。情勢がガラッと変わったので、前回から更新された点などをピックアップし、自分の考察も交えて現状報告します。また、20205月あたりから少しずつ解析が進んでいるので、それについても少し触れておきます。

 

・世界記録の更新: 前回の22:52からさらに22:37まで短縮。8-2空中二段が組み込まれたのが大きい。それ以外の箇所は動作の細かい最適化、基礎動作の見直し、細かいテクの応用と言ったところでしょうか。一方、後半のマップ運は相変わらずで、依然として理論値+9秒を彷徨いています。

 

1-2での青甲羅装備以降の乱数(Extended Manipulation, EM)の検証を行う予定ではありましたが、代わりに別の走者が裏で進めています。ワールド1のマップ挙動はそこそこ固定できている一方、ワールド5は不安定だそうです。おそらく考慮されていない消費があるのでしょう。ワールド1の調整がある程度利くのは、(知られている範囲では)効果音が消費要因だと統一的に説明できていることも併せると、 1-2サブエリア消費の発生する間隔が人力でもどうにかなる程度の猶予(510f?)だからだと考えても差し支えないでしょう。(100%を走る際、1-1地底を経由しても青甲羅乱数は可能であるということからも安易に推定できます。)

 

・前述した走者の組んだEMチャートは、前回紹介した旧TASとは異なった内容になっています。具体的にいうと、

5-2に来るパタパタで甲羅ストックをゲット→ 5-GHにくるブロスを倒してマメキノコを回収 → GHの半強制スクロール終盤でストックの甲羅を装備

といった具合です。安定性、確率面からすれば妥当な選択でしょう(必要な調整がワールド5で完結している = ワールドを跨いだ際の消費を考える必要がない、マメでワールド8序盤を通過する必要がない、など)。マップでの動きは以下の通り。

パタパタ(5-T スタート): 5-T → 5-2

ブロス(5-4 スタート): 5-4 → ? → ? → ? →5-GH

(最小ロスのマップ調整を考慮しない限り)ブロスの経路は多数存在し、どうしても煩雑になるので割愛しました。「意図したステージに移動させるだけならば」TASのチャートと比べてだいぶ手間が省けるはずでしょう。(それでも確率は低いですが…)

 

ここで、パタパタの復活とその影響についても考えておく必要もあります。通常、スコアカウンターが50,000の倍数を跨ぐたびにマップ上の動点が1つ復活する仕様となっており、すでに2点存在する場合は復活判定が入りません(繰り越しもないハズ)追記: 復活時の初期位置は複数用意されており、他方の点の位置等に影響を受ける模様。要検証。個人差はあれど、1-T撃破後と5-2撃破後にそれぞれ50,000100,000を超えて復活判定を受ける場合がほとんどだと思われます。これを逆手に利用できるケースを2つ挙げておきます(あくまで仮説と捉えてください)

 

(i) パタパタ復活の判定をスキップ…… 正確には、ワールド1の時点で少しずつスコアを多めに貯めておき、5-1撃破時に100,000点以上持ってクリアすることが目標です。こうしておくことで、ワールド5プレイ中に起こりうる復活判定が一回減り、ロスを減らせる可能性が生じます。さらに応用的に、ワールド5後半でスコアを節約することで、5-GH撃破後に起こりうる復活判定も避けられる可能性があります(実際、過去に5-GH撃破時のスコアが惜しくも150,070点になった経験があります)。デメリットは、EMが上手くいっているかを判別しにくい・そもそも判定をスキップできるだけスコアを貯めれるかが怪しい、などです。ただ、EMを行なっていない場合でも恩恵に与れるのは美味しい。

 

(ii) ブロスとの相対的位置で運を操作…… ワールド5のパタパタ復活判定をスキップする代わりに、パタパタとの位置関係を利用する応用的なケースを考えます。2動点が同じステージに移動/存在するのは不可能なので、2動点が2マス離れている場合、ステージ撃破後の動きは離れ合うか同方向に移動するかの3択(分岐を無視する場合)に減ってしまいます。これを踏まえると、ブロスを一定区画に「閉じ込める」ことも可能だと思われます(直線形のマップだとイメージしやすいでしょう)。ワールド5は直線形ではありませんが、長方形状のエリアを上手く利用して調整を探せるのではないでしょうか。最大の難点は、移動確率計算の処理が未だに不明だという点。ただ、移動パターンを制限できる可能性を考えると魅力的です。



擬似乱数について

初期シード生成は、起動時間・起動時のボタン入力・GPUステータス等々の要素をかき集めて行われます。初期シードをもとに初期値が与えられ、残りの乱数列はLCG関数を用いて生成されますが、その性質上(ある種)致命的な欠点があります。多様されているLCG関数(通称”ranqd1”)はとりうる全ての値を取ってからループする(=最大周期をもち、全ての数が単一の周期に属する)という性質を持つのに対し、ニューマリでは同じ演算に少し手を加えたことによって1653種類に増えているのです。循環列が増えること自体はさほど問題とは言えませんが、さまざまな長さの周期のうち、長さ=1 (=定点)の物が存在するのがプログラム上よろしくないと言えます。アクションゲームであること、32ビットという分母の途方も無い大きさからするに、実際プレイしていて引く可能性は低いです。ただ、万が一定点となるシードを振り分けられた場合に所謂「ランダム性」が失われ、さまざまな副作用が現れるそうです。RTA的観点から見てあまりメリットはありませんが、定点におけるマップの振る舞い方は気になりますね。

ニューマリDSの乱数調整について(青甲羅乱数+α): part 1

まずは青甲羅乱数の説明をお読みください。

 青甲羅乱数を導入してからおよそ一年経ち、その間に世界記録は大幅に更新されました(23:14 → 22:52.133)。序盤リセットの回数を最小限まで抑え、動きの最適化に目を向けやすくなったのも乱数のお陰と言っても過言ではないぐらいです。 

 

最適化が進むあまり、any%の限界が見えつつあるのも事実です。様々な運が絡むのにも関わらず、現世界記録はたかだか理論値+7秒くらいに収まっており、唯一RTAに組み込められていない技といえば8-2の空中二段甲羅ジャンプぐらいです。

 

大幅更新を狙うためとは言え、フレーム技を開始9分地点で一発で決める自信のある走者はそうそういないでしょう。そこで、青甲羅乱数を延長できないだろうか?と考えました。旧TASを見てみると、5-屋でハンマーブロスからマメキノコを回収して半強制スクロールをスキップし、8-2で再び甲羅を回収するという荒技で時間短縮しています。人力プレイで5-GHをどれほど短縮できるかはさておき、行われていることは青甲羅乱数とは本質的に同じです。毎回同じようにプレイすることでマップ上のブロス・パタパタを操作し、思った通りのアイテムを出す。理論上、人力でも可能ではないでしょうか?…と言いたいところですが、課題は山積み。

 

・地底レベルでの乱数消費は不定じゃないの?

TASVideos / Front Pageによると、地底レベルのBGMによって勝手に(しかもランダムに)乱数が消費されてしまうとのこと。ただ、これはあくまでエミュレーターを使った時の場合で、実機・VCを用いた厳密な検証は行われていません。とあるVC走者の生放送を視聴していた時のことですが、地底に滞在している時間によらずマップのパタパタの動きが一定であったという事例がありました。これをみる限り、エミュレーターと実機は互換性がないと思われます。したがって、1-2以降の乱数は十分可能ではないか?と考えています。

→訂正: 「地底に滞在している時間によらず」ではなく、正しくは「地底に滞在している時間を一定に揃えさせすればパタパタの動きは調整できる」です。地底滞在時の消費契機は完全にランダムではありません。

 

・どうやってブロス・パタパタを思ったように操作するつもり?

→完全に試行錯誤です。一旦ワールド1までの動きを固定しておいて、そこから各レベルの二段ジャンプの回数(+崩すブロックの個数、壁キックの回数)を変化させて実験します。ポケモンの乱数とは違って「こうすればこう振る舞う」といった情報は一切得られないため、こうする他にありません。単純確率で挑む時とは違って、狙ったアイテムを回収するのは多少簡単になってると思います。

 

ちょうどブログを書いている現在、ワールド1の挙動を固定できるかどうかをノロノロ試しています。結果が出たら報告します。

次回は結果報告、および青甲羅乱数に残ってる謎について触れたいと思います。

 

ニューマリDSの乱数調整について(青甲羅乱数+α): part 0

内容はタイトルの通りです。根気が続く限り、不定期でも更新する予定。

 

今まで断片的な情報を主にツイッターで垂れ流しにしてきましたが、そろそろまとめた方が良いと思って立ち上げました。RTA走者向けの記事なのでご了承を。(マニアックな用語の使用を避ける、あるいは説明を添えるなどの配慮はします)