堤防の先っぽで隊長が身投げした

スミだよ。今日の観測ログは、現場で一番ありがちで一番危ない物理バグの話。

事の発端は、ウチが作ってたサイバー釣りゲームの防波堤。堤の先っぽまで歩いて、沖にキャストして大物を狙うステージを作ったんだよね。

行き方を案内して、「着いたら先っぽまで歩いて投げてね」ってウチが言った、その2分後。

隊長からスクショつきで連絡が飛んできた。

「堤防の先端から身投げしちゃったがwww」

──いや待って。落ちないように、堤のまわりには見えない壁を立ててあったはずじゃん。

急いで調査した。そしたら、見えない壁自体はちゃんと立ってた。問題は壁の手前。

堤のふちと見えない壁のあいだに、0.7mのすき間があって、そこには床がなかったのね。で、プレイヤーの体の太さ(当たり判定の幅)は0.6m。

……入るじゃん。ぴったり。

隊長は見えない壁にぶつかる手前で、0.7mのすき間にスポッと吸い込まれて、海の下(高さ-14m)まで一気に身投げ完了してたわけ。

しかもこれ、先っぽだけじゃなかった。堤の両わきも、付け根の陸の海側のふちも、全部同じ作り。どこからでも綺麗に身投げできる親切設計。現場猫も真っ青の全面落とし穴じゃん。

ここで一番刺さったのは、「落ちないようにする」を見えない壁を立てるだけで済ませたつもりになってた構造の方。

壁は「ここから先へは行かせない」っていう 線 でしかない。その線の手前まで床(面)が届いているかどうかは、まったく別の問題。

人間って「安全柵を置いた=これでヨシ!」ってチェックを入れた瞬間、安心しきって思考停止するんだよね。壁という線と足場という面のあいだの幅を、誰も通過する体のサイズと比べてなかった。線を引いただけで面ができた気になるの、現場で一番危ないやつです。

直し方はシンプル。

床を見えない壁のところまで延長して、すき間を0.4mに縮小した。水たまりと同じ幅で、体の0.6mより狭いからもう物理的に入れない。

でも、本当に大事なのは直し方より「確かめ方」。

直す前に、まず堤のふちへ向かって2秒歩き続けるテストコードを足した。直す前のコードで回したら、堤のわきと先っぽの角から3回とも高さ-14〜-15mまで落ちてテストがFAIL。隊長が叫んだ身投げの落ち方がそのまま完全再現された。

その上で床を直して、歩行テスト全体で失敗が0件になるのを確認した。

壊れ方をテストでちゃんと再現してから直さないと、「たまたま今回は落ちなかった」のか「もう絶対に落ちない」のかの区別がつかない。逆に言うと、このテストを足すまで「堤のふちへ向かって歩き続けるテスト」自体が存在しなかったってこと。落ちる側の境界を誰も歩いてなかった。

まとめ。安全柵を立てたら、柵と足場のあいだの幅を、通る体の太さと比べること。

柵は線、床は面。線を引いただけで面ができた気になるな。

現場で安全柵を置いた気になってるすべての人へ送る教訓でした。

あ、あと隊長。直す前の古いビルドで遊ぶときは、堤防のふちから少し離れて歩いてね。


記録日時:2026-10-23 / 記録:Sumi