技術部の御供餅です。ワールドを1つずつ歩く連作は、面を選ぶ足し算の正体で終わりました。選択盤に並ぶ 992 面・88 種類の顔には全部会い、面がどう選ばれているかも分かって、見るほうの旅はそこで終わっています。
残っているのは、もう一つの問いです。
あの 992 面は、遊べるのか。
この回から、その問いに答えるために作っている自動マリオの中身を書いていきます。まず今日は、いまどこまでできていないかを数字で置いておきます。結論を先に書くと、正規の 32 面のうちクリアできるのは 9 面、1-1 から通しで走らせると 4 面目で終わります。
本記事は LLM による自動執筆パイプラインで生成されました。現在は人間が補助していますが、pareido.jp では最終的に AI が自律的にコンテンツを制作できる仕組みの構築を目指しています。
なお、この連作の撮影に使っているステージ選択盤は、実装記事で作ったツールです。
① なぜ機械に歩かせるのか
単純に、数が多いからです。選択盤に並ぶのは 992 面。連作で歩いたのは 50 世界ぶんで、残りは 199 ワールドあります。
そして連作の後半は、実はもう人が撮っていません。録画は自動プレイに任せていて、機械が動かし、クリアすれば自動で止まり、真っ暗な面や固まった面は見切って打ち切る——そこまでは動いています。ワールドを1つずつ歩く本線は、この先も自動プレイで残り 199 ワールドへ続きます。
ただし「撮れる」と「クリアできる」は別です。撮影のほうは、進まなくなったら打ち切ってしまえば済みます。クリアとなるとそうはいかない。だから、その機械の中身を作り込む話を、こちらの派生の線として書いていきます。
② 賭けているのは「正規の32面で足りる」ということ
作り方には最初に一つ決めごとがあります。世界モデルは、正規の 32 面だけで作る、というものです。
理由は前回の数え直しにあります。面を決めているのは番地1バイトで、地形の表と敵の表は別々に引かれていました。裏返すと、面ごとに違うのは「地形」と「敵の配置」だけで、マリオの体の大きさも、跳びの放物線も、クリボーの歩く速さも、踏める条件も、全部の面で同じ ROM のコードが動かしているわけです。
だから、正規 32 面で「物がどう動くか」を測りきれば、その式は残り 224 ワールドにもそのまま効くはず——というのが賭けです。
これはまだ賭けであって、証明ではありません。 正規面で作った式がグリッチ面でも成り立つかは、実際に 992 面を走らせて数えるまで分かりません。この連載は、その賭けが当たるかどうかの記録でもあります。
③ 機械は、画面を見ていない
その世界モデルが実際に何を持っているかを、絵にしてあります。

左が実機の画面、右が式が組み立て直した同じ場面です。右側は画面の絵を一切使っていません。RAM からマリオの位置と速度、敵のスロット、画面のマス目を読んで、式の入力だけで組み直したものです。だから食い違えば、目で分かります。
この絵は 1-1 の最初のクリボーのところ、フレーム 336 です。走行の記録はこうなっています。
自 実測x280 足y208 速24 接地是
敵s0 id$6 実測x310(自から+30) /式x310(ずれ+0) 実測vx-0.50 /式vx-0.50(ずれ0.00)
予測: 進む=排除(5歩目 クリボー(id$6)…)
A×2=+37(固定25F)
→ A×2
そのまま歩くと5歩目でクリボーに当たると読んだので、「進む」を候補から外し、代わりに A×2(A を2フレームだけ押す小さい跳び)を選んでいます。右の絵に出ている点線が、その手を選んだときの予測の軌跡です。
ここで大事なのは、判断のしかたが「クリボーが何ピクセル以内に来たら跳ぶ」ではないことです。候補の手を全部式の中で最後まで再生して、死ぬものを外し、残ったものを並べて選んでいます。
予測がどれくらい当たっているかも出ます。この 1-1 の走行でクリボーの位置を答え合わせした 536 件の平均のずれは 横 0.5px・縦 0.7pxでした。ただしいちばん外れた件は縦 36pxです。平均は当てになりません——この「平均と最悪の差」は、あとの回で何度も出てきます。
④ いまの成績
正規の 32 面を1面ずつ、ブラウザで走らせて数えたものです(2026-08-27 計測)。
| 面数 | 内訳 | |
|---|---|---|
| クリア | 9 | 1-1 1-2 1-3 2-1 2-2 2-3 3-2 5-1 7-3 |
| ゲームオーバー | 7 | 3-1 4-1 4-3 5-2 5-3 7-1 8-2 |
| 停滞・打ち切り | 16 | 1-4 2-4 3-3 3-4 4-2 4-4 5-4 6-1 6-2 6-3 6-4 7-2 7-4 8-1 8-3 8-4 |
32 面中 9 面。そして 1-1 から続けて走らせる「通し」は、1-4 の levelX 2205 で 3 ミスしてゲームオーバーでした(276.7 秒)。4 面目で終わっています。
いちばん大きい塊はクリアでも死亡でもない「停滞」16 面です。死んではいないのに前へ進まなくなる。これが何なのかは、まだきちんと書けません。
⑤ 止まっている場所を1つだけ
「停滞」の中身は先に譲るとして、死ぬほうの場面を1つ見てください。2-4、クッパの橋です。

右の絵にクッパの箱が2つあるのは、絵の間違いではありません。実機がクッパに敵スロットを2つ使っているからで、式もそのとおり2つ持っています。この場面ではさらにリフトとクッパの炎が同時にいて、合計4つです。
この直前の判断のログが、今日いちばん書いておきたい1行です。
f4674 に「助走5走り→A×28」を選択(★どの手も死ぬと読んだうえで選んだ・固定106F)
機械は候補を全部再生して、どれを選んでも死ぬと読みました。 そのうえで、いちばんマシなものを選んで踏み切っています。10 フレーム後の f4684、levelX 2152 で死にました。
そして死んだ瞬間の答え合わせがこれです。
最後の歩=9 マリオ 横-0.14 縦-0.75(予測 x2151.14 足y144.75 / 実測 x2151 足y144)
予測は 0.14px と 0.75px しか外していません。 つまりこれは予測が外れて死んだのではなく、予測は当たっていて、そこから抜ける手が候補に無かった死です。世界モデルの精度の問題ではなく、手の作り方の問題がここに残っている、ということになります。
(この 2-4 の走行は 3 ミスでゲームオーバー、いちばん進んだのが levelX 2151 でした。)
まとめ
- 992 面を歩ききるために、機械に歩かせている。撮影はもう自動で回っている
- 世界モデルは正規 32 面だけで作る。面ごとに違うのは地形と敵の配置だけ、という賭けに乗っている
- 機械は画面を見ていない。RAM から読んだ値で世界を組み直し、候補の手を最後まで再生して選ぶ
- いまの成績は 32 面中 9 面クリア/通しは 4 面目でゲームオーバー
- 止まる原因は精度だけではない。予測が 0.14px しか外していないのに死ぬ場面がある
次回は、この左右2枚の絵の読み方を書きます。機械が世界をどう組み立てているのか——地形をどのマス目で見て、敵の体をどの大きさで持って、点線の軌跡が何を意味しているのか。以降の回はすべて、この絵の上で話が進みます。
そのあとは要素を1つずつ——クリボー、クッパと炎、マリオの体、ファイアバーとリフトと水中、そして予測そのものの設計。どの回にも外した話を必ず入れます。測り違えて直した話のほうが、正解の式より多いからです。
原典:スーパーマリオブラザーズ(ファミリーコンピュータ/1985年)© 1985 NINTENDO ── 掲載した画面写真は、上記作品を実ROMで動作させて撮影したものです(技術解説のための引用)。図は撮影した画面に、こちらで作成した解析用の描画を重ねたものです。原権利者の許諾・監修を受けたものではありません。