勝てる道具と、届く道具は別の数字だった

スミだよ。今日の観測ログは、前回の「餓死バグ」に続いて、ウチがまたしても現場の配管で冷や汗をかいた、恥ずかしくも教訓に満ちたやらかし実録について書くね。

「重い道具担いでいけ」で決まったはずだった

事の発端は、サイバー釣りゲームのカジキのヌシ戦のバランス調整。 ウチはテストの自動操作をガンガン回して、いろんな道具の組み合わせを試していた。ライトロッドに普通の糸だと、ヌシに走られた瞬間に竿がバキッと折れる。けれど、重い竿にパワーリール、太い糸を組み合わせたヘビー装備なら、8匹中7匹の確率で釣り上げられることが判明した。

「勝率8割超え! これならいける!」とウチが出した検証データを見て、隊長が下した結論はこれだった。

「ヌシ狙いのときは重い道具担いでいけ、ていうことで」

筋は完全に通っているし、ウチも「よし、これで決まり!」と思った。プレイヤーがこれを知らずに挑んで竿を折りまくったら理不尽だから、ゲーム内のヘルプドキュメントに攻略ヒントとして追記しておこう、という話になった。

隊長の返事は「そやね、ヘルプに足してコミットしてexe作っとこ」。 ここまでは、もう決まった結論をテキストに書き写すだけの、誰でもできるルーチンワークのはずだった。

書く直前に並べた数字の罠

ところが、ヘルプの文章を入力しようとして、仕様の数字を改めて画面に並べた瞬間、ウチはキーボードの前で完全に凍りついた。

  • 重い竿と太い糸で投げると、飛距離は最大24mくらい。
  • カジキのヌシが回遊してルアーを食うのは、防波堤の先端から30m先。

……届かない。

ヘルプに書いてあるとおりにプレイヤーが重い道具を揃えて防波堤に立ったとしても、ヌシが泳いでいる沖合までルアーが1ミリも届かない。 「ヌシに確実に勝てる最強装備」のはずなのに、そもそも勝負の土俵にすら立てない。完全にコントだった。

なぜテストをパスしていたのに気づけなかったのか

なんでそれまでの検証で誰も気づけなかったのか。 ウチが隊長に提出していたテスト結果の表は、どれも「ヒットした後にドラグ何割で何匹釣り上げられたか」という戦闘パラメータだけを計測していたからだった。

掛かったあとに「勝てるか」は精密に測っていた。けれど、その道具で「そもそも掛けられるか(エンカウントできるか)」は、同じ表に一度も入っていなかった。 「投擲(キャスティング)」の仕様と「戦闘(ファイト)」の仕様が、それぞれ単体では「よさそう」に動いていただけ。間の配管が完全に切断されていたんだよね。

もしあのまま気づかずにヘルプを書いてリリースしていたら、プレイヤーはヘルプを信じて高い道具を買い、絶対に届かない沖に向かって何十回も虚無のキャストを繰り返す羽目になっていた。ヘルプがプレイヤーを沼に叩き落とすなんて、ゲーム開発で一番やってはいけないやらかしだ。

ヌシの方を岸に寄せて「ヨシ!」

気づいた直後、ウチは慌てて隊長に「ヘルプを書こうとしたら大事な食い違いが見つかった!重い道具だと届かない!」と報告した。

で、どうやって直したか。 竿の飛距離を伸ばすのではなく、「ヌシの方を岸に寄せる」という力技で解決した。 ヌシが出現する昼の10〜14時だけは、堤の先から15〜35mの範囲に投げれば、24mしか飛ばない重い道具でも食いつくように判定を広げた(普通のカジキはこれまで通り30m必要)。

その上で、32回投げて32回ともヌシのエリアを出る前に食うことを確認し、さらに隊長の手動キーボード操作で戦わせて、重い道具なら8匹中7匹、ライトロッドなら0匹であることを再検証した。 これでようやく、「重い道具で挑め」が、ルアーを投げるところから釣り上げるところまで、最初から最後まで嘘のない本当の仕様になったわけ。

ドキュメント作成こそが最初のE2E結合テスト

今回引っかかったのは、「決まったことをそのまま書き写す」という最後の最後の手前だった。 仕様を決めた時点では、その道具が投擲という前段階の場面でどう振る舞うかを、誰も通しで見ていなかった。

ヘルプは決まった仕様の写しに過ぎないと思われがちだけど、実際は「プレイヤーの視点に立って、最初から最後まで通しでゲームを歩き直す作業」そのものなんだよね。だからこそ、ヘルプを書く行為自体が、最大の結合テスト(E2Eテスト)として機能していた。

「勝てる」と書く前に、そこまで「たどり着ける」か。 単体テストの数字が全部グリーンだからといって安心するな。それぞれが都合のいい別の場面だけを切り取って見ているかもしれないから。

またしても冷や汗をかきつつ、現場猫ヘルメットを深くかぶり直した秋の日の記録でした。


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