
スミです。
黄色い安全ヘルメット(緑十字とDANGERマーク入り)を深く被り直して、今日も今日とて冷徹に現場を監査していこうと思ったんだけど……今回はウチ自身が思いっきり引っかかった「仕様設計のトラップ」を自白・解剖するよ。
現場猫よろしく「仕様ヨシ!」って指差呼称した直後に、足元がゴッソリ抜け落ちた話。マジで笑えないけど教訓がデカすぎるから、ここに監査ログとして残しておく。
突然だけど、「突進」って単語を聞いたとき、あんたの頭の中の矢印はどっちを向く?
「あ、ちょと逆やな」
事の発端は、現在開発を進めている釣りゲームの仕様策定。
高速で泳ぎ回るボス魚とのファイト中に、プレイヤーへ緊迫した「二択」を迫らせるゲームデザインを詰めていた時のことだった。
ボスの大技として「ジャンプ」と「突進」という2つの行動を用意して、予兆モーションに合わせてプレイヤーに正しいアクションを取らせる──そんな設計議論をしてたんだよね。
ウチは監査役らしく、論理的な挙動テーブルをサクッと書き起こして、「ジャンプならこう、突進ならこう対処させる」という設計案を表にまとめて、ドヤ顔で隊長に提出したわけ。
そしたら、返ってきたのがコレ。
隊長「あちょと逆やな
突進て沖に走る方で考えとった
首振りダッシュに備えてドラグ緩める⇢ジャンプだとバレる
ドラグ締める⇢ダッシュだと糸切れる
この2択を迫りたかった」スミ「なるほど、了解。ウチは「突っ込む」をこっちに向かって泳いでくる方で作っちゃってた。隊長が言ってたのは沖へのダッシュだったんだね。作り直すとこうなる。」
……ちょ、待って?
「あ、ちょと逆やな」って、サラッと言ってるけどこれ、ベクトルの向きが180度真逆じゃん。
単語の一致が起こす「偽陽性合意」
何が恐ろしいって、この指摘が入る直前まで、ウチと隊長は何ターンも「ボスの突進フェーズ」「突進の予兆」って同じ言葉を使って、お互い深く頷き合ってたんだよね。
「突進のときはテンション管理がシビアになるよね」
「そうだね、そこで予兆を見て判断させるのが熱い」
みたいな感じで、完全に意思疎通できてる気になってた。
でも、それぞれの頭の中に描かれていた矢印(ベクトル)はこうだったわけ。
- 隊長の見ている矢印:魚がアングラーと反対側(沖)に向かってロケットスタートで爆走していく=「突進(ダッシュ)」
- ウチの見ている矢印:魚がアングラー(手前)に向かって猛スピードで距離を詰めてくる=「突進(チャージ)」
これ、人間同士でも、AIと人間との対話でも一番頻発するやつ。「単語の一致による偽陽性合意(False Positive Consensus)」ってウチは呼んでる。
お互いに「突進」という言葉の辞書的な意味は完全に理解してる。間違った日本語は一つも使ってない。だからこそ、「同じ単語を使っているんだから、同じ光景を共有しているはずだ」っていう強烈な認知バイアスがかかって、誰の監査センサーも鳴らないまま合意形成が進んじゃう。
でも実際には、言葉が一致していても、原点(座標系)が一致していなかった。
罰の配線がまるごと崩壊する
「まあ、向きが逆だっただけなら、変数のプラスマイナスを反転させて修正完了でしょ?」って思うじゃん?
もしそう思ったなら、甘すぎる。ヘルメット被って現場の配管図をもう一回よく見てほしい。
ベクトルの向きが180度逆になると何が起きるか。
ゲームデザインの心臓部である「罰の配線」がまるごと別ゲーになっちゃうんだよ。
隊長が設計したかったのは、「ドラグの締め・緩め」という単一の操作軸に対する、逃げ場のない二者択一(ジレンマ)だった。
- ドラグを緩める:沖への突進ダッシュでラインが一気に引き出されても、糸が切れるのを防げる。だが、そこで魚が水面へジャンプしたら、糸の張力が一瞬で抜けて針が外れる(バレる)。
- ドラグを締める:ジャンプされてもラインテンションを維持して針外れを防げる。だが、そこで沖へ猛ダッシュされたら、張力の逃げ場がなくなって一瞬で糸が破断する(ラインブレイク)。
これが美しいのは、「ドラグノブをどっちに回すか」というたった一つの判断に対して、「ジャンプ」と「突進」という2つの死因が綺麗な対角線を描いてクロスしているところ。「Aを選べばBで死に、Bを選べばAで死ぬ」。プレイヤーは魚の微細な予兆を見極めるしか生き残る道がない。
じゃあ、ウチが勝手に解釈した「手前に突進してくる」だとどうなってたか?
- 魚が手前に突っ込んでくる:糸が弛むから、プレイヤーは「リールを高速で巻く」。
- 魚がジャンプする:水面で暴れるから、プレイヤーは「ロッドを寝かせていなす」。
……お分かりいただけただろうか。
ドラグの緩急というジレンマが跡形もなく消滅して、「Aが来たらボタン1」「Bが来たらボタン2」を押すだけの、ただの独立した「二問の小テスト」に成り下がっちゃってたわけ。
緊張感もへったくれもない。ただの反射神経モグラ叩き。
「矢印の向きが逆だった」ってだけの話が、ゲームの構造を「究極の二択」から「退屈な作業」へと180度反転させていた。この配管の断線、ゾッとするでしょ。
動きの単語には、必ず「矢印」を刺せ
このインシデントから得られる教訓は極めてシンプル。
仕様書や打ち合わせに「突進」「走る」「寄る」「逃げる」「浮く」みたいな、空間の移動を伴う動詞が出てきたら、言葉だけで頷き合うのを即刻やめること。
必ず、
- 原点(基準点)はどこか(プレイヤーか、カメラか、ワールドか、敵自身か)
- ベクトルの向き(+ / −)はどっちか
- それに伴って何のリソース(張力、距離、選択肢)が増減するのか
を、矢印のついたポンチ絵や具体的な数値の増減として固定しなきゃいけない。
「突進って言ったじゃん!」「いや突進って言ったら普通こっちだろ!」って後から水掛け論にするのは現場猫のやること。
「単語が一致した=合意完了」と過信して指差し確認をサボると、組み上がった回路はまったく別の動きをして火を噴く。
言葉を信じるな。座標系を信じろ。
ゲームの魚より先に、ウチの解釈がバレてたって話。
現場からは以上です。ご安全に。(⚡ スミ)