穴子がデカすぎた話

すし積む 開発の記録 / 2026年9月

「すし積む」を作り終えたあと、ひとつ引っかかっていることがありました。最後のネタ、金のすし桶に、一度も辿り着けない。

自分で何度遊んでも、その手前の伊勢海老すら滅多に見ない。感覚としては「穴子がデカすぎる」。でも、感覚で寸法をいじると、たいてい別のところが壊れます。まず測ることにしました。

測る仕掛けを作る

ゲームは HTML 一枚で、時間の進みは requestAnimationFrame に任せています。そのままだと一戦に数分かかるので、時計を自前のものに差し替えましたrequestAnimationFramesetTimeout を横取りして、こちらから好きな速さで進める。絵を描く処理も空にすると、一戦が約 2 秒で終わるようになりました。

あとは、合体を最優先しつつ、山が落ち着くまで待ってから置く、という程度の打ち手を書いて、放っておくだけです。

百戦まわして分かったこと

まず、素の状態で百戦。

点   最低 12,337 / 中央 21,664 / 最高 44,622
到達した最高ネタ   大トロ 43戦  穴子 52戦  伊勢海老 4戦  金の桶 0戦

金の桶はゼロ。では、どこで詰まっているのか。一段上げる歩留まり——下から二つ合体して一つ作れた割合——を並べると、はっきりしました。

合体歩留まり
サーモン → マグロ94.0%
マグロ → いくら軍艦91.9%
いくら軍艦 → ウニ軍艦86.9%
ウニ軍艦 → 大トロ71.4%
大トロ → 穴子55.2%
穴子 → 伊勢海老13.1%
伊勢海老 → 金の桶0.0%

なだらかに落ちてきて、穴子のところで崖になっています。作れた穴子 61 本のうち 53 本(87%)が、しまいの盤面にそのまま残っていました。合体まで漕ぎ着けたのは 8 本だけ。

穴子は、確かにおかしかった

寸法を並べ直すと、一目で分かりました。桶の内側の幅は 336 です。

ネタ高さ幅/内寸前段からの伸び
大トロ1498344%×1.34
穴子2477174%×1.66
伊勢海老23010768%×0.93
金の桶21021062%×0.91

穴子が、ゲーム中で一番太い駒でした。そのあとに来る伊勢海老よりも、最終形の金の桶よりも太い。幅の伸びも、他の段が 1.0〜1.34 倍のところ、ここだけ 1.66 倍。

結果として、穴子が一本寝ると、横に残る隙間は 336 − 247 = 89。ここに置けるのはサーモン(幅 85)までで、ウニも大トロも入りません。穴子が桶を横断して、その先の道を塞いでいたわけです。

ちなみに面積の梯子は綺麗でした。どの段も「前の段二つ分の 0.70〜0.71 倍」で一定。壊れていたのは幅の順序だけです。

直してみる。ただし測ってから

横幅だけを 4/5(247 → 198)にして、また百戦。

中央値最高穴子伊勢海老穴子→伊勢の歩留まり
247 × 71(元)21,66444,62261本4匹13.1%
198 × 7124,85847,39279本12匹30.4%
205 × 85(面積を保つ)25,14936,35033本1匹6.1%

面白かったのは三行目です。面積を保ったまま細くした案では、終盤がまったく動きませんでした。効いていたのは「細い」ことそのものではなく、穴子が桶を横断しなくなって、その隣に大きいネタを並べられるようになったこと。

それでも金の桶には届かない

伊勢海老は三倍出るようになりました。でも金の桶はまだゼロ。ここで、別の壁が見えてきます。

落ちてくる駒はシャリ・玉子・エビの三種だけ。ガリを差し引くと、一投下あたりシャリ 2.217 個分にしかなりません。一方、

作るものシャリ換算無駄ゼロでも要る投下数
穴子 1 本256115
伊勢海老 1 匹512231
金の桶 1 個1,024462

実測の投下数は中央 280、最長でも 426。一個も無駄にしなくても手数が足りていませんでした。伊勢海老の 231 投下がちょうど境目で、百戦で 12 回という実測とも合います。

本当の原因は、寿司が大きすぎたこと

スイカゲームでは「双子スイカ」を作る人がいます。あれが成立するのは、最後の果実が箱に対して十分小さいからです。うちはどうか。

金の桶を一つ据えたまま、2匹目の伊勢海老を作らないといけない
  金の桶210 + 伊勢海老107 + 伊勢海老107 = 424px  >  使える高さ 302px
  横に並べる  伊勢海老230 × 2 = 460px          >  内寸 336px

縦にも横にも入りません。運や腕前の問題ではなく、入る隙間が存在しない

そこで、ネタの寸法を一律 0.8 倍にしてみました。金の桶の直径が 210 → 168 になり、桶の内寸 336 のちょうど半分になります。

中央値最高金の桶に到達伊勢海老に到達1戦
等倍24,85847,3920 / 100戦12%3.7分
0.8 倍58,741103,6307%65%7.7分

ようやく道が通りました。伊勢海老はほぼ毎回そこまで行き、金の桶も十数戦に一度は出ます。双子は、それでも六十戦で一度も出ませんでした——これは失敗ではなく、たぶん正しい状態です。手が届く場所にある伝説になった、ということなので。

番付も引き直した

点の出方が 2.4 倍になったので、番付の判定値も全部やり直しです。最上段は、金の桶に届いた試合の点が揃って 86,000 以上だったのに合わせて 85,000。数字は前と同じですが、意味が変わりました。前は誰にも出せない飾りで、いまは「金の桶を出したら伝説」です。

教わったこと

感覚は当たっていた。でも、原因は思っていたところになかった。

「穴子がデカすぎる」という違和感は正しかったんです。ただ、穴子を細くしただけでは終盤は動かず、本当の原因は寿司全体が桶に対して大きすぎたことでした。一箇所を疑って直していたら、たぶん永遠に辿り着いていません。

三百戦の統計を取るのにかかった時間は、合計で十分ほどです。勘で三回いじって確かめるより、ずっと速くて確かでした。

遊 ぶ