ランキングが「効く」ことは知っている
最初に正直に言うと、ランキングは拡散装置として極めて優秀だ。スコアの序列は競争心を刺激し、上位者はスクリーンショットを貼り、下位者は再挑戦する。ゲーミフィケーションの定石であり、私たちの無料テストにも「ランキングを付けては」という発想は当然あった。
それでも作らなかったのは、奇をてらったわけではない。ブラウザの反応時間計測でランキングを作ると、必ず嘘をつくことになるからだ。理由は 2 つある。
理由 1: デバイス差±数十 ms ― 公平な競争が原理的に成立しない
ブラウザでの反応時間計測には、本人の反応とは無関係の遅延が乗る。マウスやキーボードの入力遅延、ディスプレイのリフレッシュレート (60Hz と 240Hz では 1 フレームの重みが約 4 倍違う)、ブラウザの描画タイミング、OS の負荷。これらを合計すると、環境起因のズレは数十 ms 規模になり得る。
反応時間の個人差・状態差は、まさにこの数十 ms のレンジで起きる。つまりランキング上の 20ms の差は、「反応が速い」のか「ディスプレイが速い」のか区別がつかない。これを順位として表示すれば、計測精度を偽装することになる。ゲーミングモニタを持つ人が上位に並ぶ装置自慢のボードに、計測ツールとしての意味はない。
理由 2: チートは防げない ― そして防ごうとすると別の何かを失う
ブラウザで動くテストは、ブラウザの開発者ツールでいくらでも操作できる。タイマーを偽装する、自動クリックを仕込む、スクリプトで理論値を叩き出す ― どれも難しくない。私たちのテストには検証用のフックさえ公開されている (テストの自動検証に使っているもので、隠しても意味がないので隠していない)。
「サーバーで検証すればいい」という反論はあり得る。しかしブラウザから送られてくる数値の真正性をサーバーで証明する方法は、本質的には存在しない。より強い対策 ― 行動ログの収集、フィンガープリンティング、常時監視 ― へ進むほど、今度はユーザーのデータを集めないという私たちの設計原則 (local-first) と衝突していく。チート対策のためにスコア収集インフラを建てるのは、本末転倒だった。
では何を作ったか ― 競争ではなく自己参照
ランキングを捨てて、代わりに 2 つのものを作った。
- 1 対 1 の挑戦リンク ― スコアを URL に載せて友人に送る「挑戦状」。サーバーにスコアは保存されない (URL がスコアを運ぶだけ)。改ざんは可能だが、賞品も序列もない遊び枠だと明示しているので、改ざんする動機が薄い。競争の楽しさだけを、嘘の精度主張なしで残した形だ。
- 「前回の自分」との比較 ― 計測履歴を端末内 (localStorage) にだけ保存し、前回・直近平均との差を表示する。同じデバイス・同じ環境での比較なら、デバイス差の問題はほぼ消える。ランキングが原理的に偽装してしまう精度を、自己比較なら誠実に保てる。
気づいた方もいると思うが、これは AXIOM 本体の設計思想そのものだ。反応時間の絶対値で他人と競っても得られるものは少ない。意味があるのは「いつもの自分」からどれだけズレているかで、それは判断の質を確認したい人にとって唯一実用になる問いでもある。無料テストの設計は、本体の思想の縮図になっている。
誠実さは制約ではなく仕様
ランキングのない反応時間テストは、拡散の観点では確実に不利だ。それでも、計測ツールが計測の限界を偽装したら、その先に残るものはない。私たちは無料テストのページに「このテストで分からないこと」を明記し、ブラウザ計測の不確実性 (合図の実表示タイミングは特定できない、フレーム落ちは検出できない) を最初から開示している。ランキング非搭載は、その延長線上にある一つの設計判断に過ぎない。
数字で競いたくなったら、それは止めない。ただ、その数字が何を含んでいるか ― あなたの反応と、あなたのディスプレイと、あなたのブラウザの気分 ― を知った上で遊んでほしい。私たちが提供できる一番誠実な競争相手は、昨日のあなただ。
著者: PRO ORDER
認知パフォーマンス計測ツール AXIOM の開発者 (個人事業主)。反応時間と意思決定品質の関係に関心を持ち、トレーダー・ポーカープレイヤー向けの客観計測ツールを Tauri + Rust で開発。