第16話 ズレの正体
再生は、何度目か分からない。
同じログ。
同じ戦闘。
それでも――
「……やっぱり変だ」
マアトは小さく呟いた。
画面上では、
プレイヤー同士の戦闘が繰り返されている。
数値は正常。
フレームも欠けていない。
処理順も問題ない。
それでも、
違和感だけが残る。
「さっきと同じところ?」
隣のオペレーターが声をかける。
「うん、ここ」
マアトは一箇所を指す。
踏み込み。
交差。
判定。
結果。
一連の流れ。
すべて揃っている。
だが――
「この入力、見て」
ログを拡大する。
操作ログ。
プレイヤーの入力。
「これに対して、この結果は……」
言葉を切る。
言い切れない。
否定できないからだ。
「速すぎる、ってこと?」
「ううん」
マアトは首を振る。
「速いなら、まだ分かる」
指先でログをなぞる。
「これは、“合いすぎてる”」
静かな声。
だが、
はっきりしている。
入力と結果が、
完全に一致している。
ズレがない。
本来ならあるはずの、
“揺らぎ”がない。
「人間の操作じゃない、ってこと?」
「そこまでは言わない」
マアトは即座に否定する。
「でも、人間の“幅”じゃない」
再生する。
もう一度。
今度は別の箇所。
回避。
反撃。
追撃。
どれも同じだ。
入力に対して、
最適な結果が出続けている。
偶然ではない。
だが、
「ツール検知は?」
「なし」
「内部干渉は?」
「ログ上はゼロ」
答えは揃っている。
だからこそ、
おかしい。
マアトは無言で、
別のログを呼び出す。
アリーナ。
先ほどの戦闘。
ネメシの対戦記録。
再生。
今度は視点を変える。
対戦相手側。
上位ランカー。
その動き。
処理。
結果。
「……こっちも?」
誰かが呟く。
マアトは頷く。
「方向は違うけど、同じ」
ネメシは“合いすぎている”。
上位ランカーは“外し続けている”。
どちらも、
極端だ。
「これ、対になってる……?」
別のオペレーターが言う。
その言葉に、
誰も否定しない。
ネメシの動きは、
最適化されているように見える。
上位ランカーの動きは、
それを前提に崩している。
まるで、
噛み合っている。
異常同士が。
マアトはログを止めた。
静寂。
誰もすぐには口を開かない。
「……片方だけじゃない」
ゆっくりと口を開く。
「両方、おかしい」
断定。
迷いはない。
だが、
原因は分からない。
「対象、追う?」
短い問い。
マアトは少しだけ考える。
そして、
「……両方」
即答だった。
ネメシ。
上位ランカー。
この二つは切り離せない。
そう判断するには、
十分すぎるログだった。
「優先度、上げる」
静かに言う。
その一言で、
空気が変わる。
ただの違和感ではなくなる。
調査対象。
明確な“案件”へ。
マアトはもう一度、
ログに視線を落とす。
今度は迷いはない。
これは、
見逃していいものじゃない。




