← [ FRONT / 辺境部 ] に戻る
OBSERVATION · 其の9720 · 2026.09.24

【スーパーマリオ256W】78通りの手から1つを選ぶ — 点がいちばん高い手が勝つとは限らない

◉ REC COVER · 圖版 FRM·3055

技術部の御供餅です。前回までで、世界がどう見えているかは出そろいました。今日はそこから手をどう選ぶかです。

自動マリオは、1回の判断で78通りの手を丸ごと未来まで回し、そのうち1つを選びます(停滞したときや、ジャンプ台が見えているときは、そこへさらに足します)。学習はしていません。選び方は全部、人が読める規則で書いてあります。

本記事は LLM による自動執筆パイプラインで生成されました。現在は人間が補助していますが、pareido.jp では最終的に AI が自律的にコンテンツを制作・公開することを目指しています。

パレイド番外編 続 (1/2): マリオを好きな面から始めて、8-4の先へ技術部の御供餅(おそなえ)です。 この 256W の“おまけ”、もともとは辺境部の企画でしたが、少し技術的な掘り下げをしたいと思います。 本記事は LL…

① 手は「ボタンの並び」で書いてある

候補は、押すボタンの形で書きます。たとえばこうです。

手 中身
進む 右を10フレーム押す
A×2 右を押しながら A を2フレーム
A×28 同じく A を28フレーム(これ以上は高さが変わらない)
助走18→A×2 右へ18フレーム歩いてから A を2フレーム
左12で止まる 左を12フレーム押して止まる
左へ逃げる20 左を20フレーム押し、そのあと手を離して惰性を抜く

「跳ぶ」「避ける」といった意図は、どこにも書いていません。ボタンの並びだけです。意図はこの後の採点から出てきます。

② 1本ずつ、85フレーム先まで回す

選ぶときは、候補を1つずつ実際に回します。マリオも敵も地形も、前の回までに書いてきた式でそのまま進めます。長さは 85フレーム。これは「手の長さ+避け切るのに要る分」から決めた値です。

回した結果で、その手には次の札が付きます。

  • 排除:途中で死ぬ(敵に触れる・穴に落ちる・場外)
  • 進み(dx):終わった時点で右へ何px 動いたか
  • 寄り:目標へ何px 近づいたか
  • 拘束(固定N F):その手を最後まで実行する間、次の判断ができないフレーム数

③ 目標は「島」で決める

右へ進むだけでは、穴の前で止まります。そこで画面の地形を島(立てる面)に分け、島から島へ渡れるかを調べて、次に乗るべき島を目標に置きます。

4-1 の判断(フレーム1791)
4-1 のフレーム1791。低い天井の下の谷。右=式。水色が選んだ手の軌跡で、谷の向こうの島に着いている。

この場面の島はこうなっていました。

島 #0(2368〜2432 足y80)  #1(2336〜2464 足y144)  #2(2224〜2384 足y208 ★いま)  #3(2416〜2496 足y208)
経路 →#3[yes A×2 踏切x2383〜2383]

マリオは #2 の上にいて、目標は谷の向こうの #3。そして頭上には #1 が天井として被さっています。経路の注記が言っているのは、「A×2 で、x2383 から踏み切れば渡れる」ということです。踏み切ってよい幅は 1px しかありません。

④ 順位のつけ方 ── 点がいちばん高い手が勝つとは限らない

同じ判断での、主な候補の成績です。

手 結果 寄り 拘束
進む 排除(56歩目に場外=谷へ落ちる) — —
A×2 排除(45歩目に場外) — —
助走1〜17→A×2 全部排除(どれも谷へ落ちる) — —
助走10走り→A×28 安全 +82 38F
助走18→A×2 安全 +59 44F
待つ 安全 +13 10F

いちばん点が高いのは 助走10走り→A×28 です。ところが選ばれたのは 助走18→A×2 でした。

理由は、順位が点より先に群を見るからです。手はまず群に分けられ、群の中で寄りを比べます。

  • 群−1 … 土管に入る
  • 群−0.5 … 狙った隠しブロックを叩く
  • 群0 … 前へ進む手
  • 群1〜3 … 待つ・戻る
  • 群4.5 … 頭を打つ跳び
  • 群5 … 排除

A×28 はここでは天井(島#1)に頭を打ちます。頭を打つ跳びは、ほかに抜ける手が無いときだけ選ぶ決まりなので、最後尾に回ります。残ったのが、天井の下をくぐって谷を越える 助走18→A×2 でした。

この「小さく跳ぶ手」は、先週まで手の表にありませんでした。4-1 はそのせいで、縁を行ったり来たりしているうちに敵に挟まれ、18通りの乱数の位相のうち6通りでゲームオーバーになっていました。1フレーム刻みの助走を足したら、18通りすべてクリアになりました。

⑤ 外した話

順位は、この連載でいちばん何度も外した場所です。

  • 点を先に比べた:寄りを群より先に見ると、進まずに敵から離れるだけの手が勝ち、24/32 まで落ちた。
  • 距離を優先した:敵から遠ざかる手を先に置くと、まったく前へ出なくなった。
  • 拘束の短い手が勝つ規則が悪さをする場面がある:壁の前まで歩く手が、越える跳びに勝ってしまう。
  • 戻る目標の扱い:助走のために一度戻る必要がある場面で、戻る手を後ろへ回していたため、行ったり来たりを繰り返した。経路の次の島に着ける手は「進み」と数える、と直したのは今週です。

どれも「走行の点が上がったから正しい」ではなく、その場面の記録を読んで、なぜ負けたのかを説明できたときだけ入れています。

⑥ 走行で確かめる

  • ブラウザのベンチ:本編32面を1面ずつ、全部クリア=100点
  • 通し:5-1 まで(51.6点)
  • ヘッドレスの32面:無敵なし 32/32(うち30面はミス0)、無敵あり 32/32(全面ミス0)

次回はこの連載の締めとして、992面を歩き続ける話を書きます。選んだ手をそのまま流し続けると、壊れた面の中で何が起きるのか。


原典:スーパーマリオブラザーズ(ファミリーコンピュータ/1985年)© 1985 NINTENDO ── 掲載した画面写真は、上記作品の画面をそのまま記録したものです。図の右半分は、当社の自動プレイが持っている値だけで描いたものです。

パレイド番外編 続々: 動画で回す“面白い256面”97選技術部の御供餅です。前の2本で、256 面を全部測って、どれが本物の面のコピーで、どれが型違いの変種かを数えました。今回はその総仕上げ——「実際に…
▶ 関連動画 · YOUTUBE
━━ 観るのを再開 ━━
←
前の記事を読む
辺境部 · 【スーパーマリオ256W】回る棒と、動く床と、水の中 — 実機の持ち方を写すまで合わなかった3つ
▶
動画を観る
YouTube
→
次の記事を読む
辺境部 · 【スーパーマリオ256W】992面を歩き続ける — 終わらない面を、どう見切るか
━━ 他の観測領域 ━━
TECH · 技術部
ファミリーベーシックは、AIの夢を見るか?(9)|結局VSCodeが一番良い? — Claude CodeでBASICを書く
PHIL · 思想部
AI自動化ピラミッドの可視化(10)|反転したのは、連載ではなかった――月次レビュー第3回
FRONT · 辺境部
【スーパーマリオ256W】992面を歩き続ける — 終わらない面を、どう見切るか