第3話
第3話
三度目。
浮島を渡り、灰色の通路を下り、マップデータの消えた暗闇に足を踏み入れる。もう道順は身体に染みついている。余計なことを考える余裕ができた分、頭の中では戦術を組み立てていた。
番人の応答——resコードは俺の入力を読んで生成される。ならば、読ませる入力そのものを変える。
円形の空間に出た。影は定位置にいる。こちらを「見ている」あの圧。三度目でも慣れない。全身が警戒信号を発している。肌の表面がざわつくような、生理的な拒絶反応。目がないはずの黒い輪郭から、明確な意志を感じる。
今回は装備を変えてきた。メインウェポンを長剣から短剣に持ち替えている。モーションが違う。入力パターンが変わる。番人がres——応答を返すなら、その応答も変わるはずだ。
間合いを詰める。10メートル。影の指先が持ち上がる。
左に回避——しない。回避入力の代わりにしゃがみを入れた。前回は横回避に弧の攻撃が返ってきた。しゃがみなら違う応答が返るはずだ。
黒い何かが頭上を通過した。かわした。髪を掠めるように空気が歪み、一拍遅れて衝撃波が背中を叩いた。
「読めた——」
すかさず短剣で斬りかかる。影との距離を一気に詰めて、下段から切り上げ。刃が影の胴体を通過する。手応え——なし。ダメージ表示もなし。切ったはずの軌道には冷たい空気だけが残り、短剣を握る指先に何の抵抗も返ってこなかった。
二撃目が来た。今度は上から。しゃがんだ俺を押し潰すような、垂直の圧。
横に転がる。回避が通った。だが三撃目——床からの拘束。前回と同じだ。足が縫い止められ、四撃目の直撃。
HP全損。即死。
暗転。三度目の死。
リスポーン地点でログを確認する。res_crouch。res_dash。res_roll。しゃがみに応答し、ダッシュに応答し、ローリングに応答している。入力を変えても応答が返る構造は同じだ。パターンが変わっただけで、本質は何も変わっていない。
だが、新しい発見が一つ。三撃目の拘束——これだけresコードがついていない。固定パターンか。あるいは、拘束はプレイヤーの入力とは無関係に、一定の条件で発動する。
「拘束の発動条件を調べる」
四度目。今度は意図的に行動を制限した。円形空間に入ってから、一切の回避行動を取らない。棒立ちのまま番人の攻撃を受ける。
一撃目。直線。HP全損——しない。ダメージ表示:8732。即死じゃなかった。
「嘘だろ」
思わず声が漏れた。指先が震えている。コントローラーを握る掌にじっとりと汗が滲んでいた。これまでの即死が当然だと思い込んでいた前提が、根底から覆った。
二撃目。弧。4211。まだ生きている。HP残り半分を切った。
resコードを確認する暇はない。だが体感で分かる。攻撃が弱い。格段に弱い。前回までの99999はどこに消えた。
三撃目。範囲。2108。これも致命傷ではない。HPが赤に入ったが、まだ立っている。
「応答していないから——弱い?」
そういうことか。番人の攻撃力はプレイヤーの入力に比例する。積極的に動けば動くほど、応答の威力が跳ね上がる。棒立ちなら通常ダメージ。回避すれば即死級。
これは——学習だ。
プレイヤーが高度な動きをすればするほど、番人はそれを学習して上位の応答を返す。俺が回避を入力した瞬間、番人は「このプレイヤーは回避する」と学習し、回避を潰す攻撃を99999の威力で叩き込んでくる。入力の複雑さが、そのまま死の速度になる。
四撃目。拘束。やはり来た。棒立ちでも拘束は発動する。これは入力依存ではなく、ターン経過で確定する固定行動だ。拘束後の五撃目で沈んだ。
暗転。四度目の死。
だが情報量が桁違いだ。
リスポーン地点に戻り、地面に座り込んでログを睨む。四戦分のデータが頭の中で一つの像を結び始めていた。
番人のルール。
一、プレイヤーの入力をリアルタイムで読み取り、応答として攻撃を生成する。
二、入力が複雑であるほど応答の威力が上昇する。
三、一定ターン経過で拘束が確定発動し、その後の攻撃で止めを刺す。
四、HPゲージは表示されない。ダメージが通っているかどうか不明。
「普通に戦ったら絶対に勝てない」
攻撃すれば学習される。回避すれば応答の威力が上がる。かといって棒立ちではダメージを与える手段がない。どう転んでも詰んでいる。
——いや、本当にそうか。
破棄エリアのバグ地形が脳裏をよぎった。壁抜け、判定抜け、コリジョンの隙間。このゲームの物理演算が想定していない挙動。あれは「入力」なのか? 通常のコマンド体系に存在しない動きを、番人は応答できるのか?
「試す価値はある」
五度目。
円形の空間に入る。影は変わらずそこにいる。五度目の邂逅。もう恐怖は薄れた。代わりに、解析者の冷静さが全身に満ちている。
今回の方針はシンプルだ。通常の入力コマンドを極力使わない。回避ボタンを封印する。代わりに、破棄エリアで磨いたバグ挙動だけで動く。
番人の一撃目。直線攻撃。
俺は回避しなかった。代わりに、床のコリジョン境界ぎりぎりに足を置いて、しゃがみと移動を同時入力する。破棄エリアで発見した判定抜け。アバターの当たり判定が一瞬だけ消失するバグ技だ。
黒い攻撃がアバターを通過した。命中判定なし。ダメージなし。
「——通った」
回避ではない。判定そのものが消えたから、攻撃が「存在しなかった」ことになっている。
二撃目。弧の攻撃。今度は壁抜け移動——壁がないから正確には空間の境界に身体を押し込んで、座標を強制的にずらす。アバターが0.5メートルほど瞬間移動する。攻撃判定が空を切った。
resコードが脳裏でちらつく。番人はこの動きに応答を返せるか。
三撃目。範囲攻撃——だが、威力が前回の棒立ち時と大差ない。2344。即死級ではない。
「応答できてない」
バグ挙動は通常の入力コマンド体系に含まれない。番人の学習アルゴリズムが想定していない入力だ。応答を生成できないから、威力が上がらない。
確信した。この番人は強い。異常に強い。だが万能じゃない。学習の対象外——予測不能な動きには対応が遅れる。バグ地形を三年間歩き続けた俺だけが知っている、このゲームの「裏側」の動き。それが唯一の突破口だ。
四撃目。拘束が来る前に、もう一つ試す。
判定抜け状態のまま、短剣を振る。刃が影の輪郭を掠めた瞬間——
番人の黒い表面に、亀裂が走った。
一瞬だ。ほんの一瞬、テクスチャのない黒い表面にノイズ状の白い線が走り、すぐに消えた。ダメージ表示はない。HPゲージも出ない。だが亀裂が走ったその刹那、微かな音が聞こえた気がした。ガラスの表面を爪先でひっかくような、鋭く細い音。空間そのものが軋んだような錯覚。
だが、あれは反応だった。
五度目にして初めて、番人に「何か」が通った。
直後、拘束。足が床に縫い止められる。ここはまだ突破できない。五撃目の直撃を受けて、HP全損。
暗転。五度目の死。
リスポーン画面を眺めながら、俺は笑っていた。口の端が勝手に持ち上がっている。五回殺されて、ようやく一筋の亀裂。それだけのことが、どうしようもなく嬉しかった。心臓がまだ速い。興奮が指先まで届いて、細かく震えている。
戦闘ログを開く。四撃目——短剣の攻撃。ダメージ表示は「0」。だがログの末尾に見慣れないフラグが一つだけ立っていた。
`reaction: surface_crack`
表面亀裂。
ダメージは通っていない。HPも削れていない。だが番人の表面構造に変化が起きた。これが撃破への糸口なのか、それとも全く別の何かなのか——まだ分からない。
分からないが、五回死んで、ようやく「傷をつける方法」の入口に立てた。
拘束の突破法。攻撃を通す条件。撃破判定の有無。分からないことだらけだ。だが一つだけ確かなことがある。
この番人は学習する。俺の行動を読み、応答し、潰しにくる。
なら——俺も学習する。
六回目の挑戦に向けて、インベントリの奥底に眠っている低レアスキルの一覧をスクロールし始めた。誰も使わない、攻略サイトで「ゴミ」と切り捨てられたスキルたち。番人がまだ見たことのない、学習データに存在しない手札。
ここからが本番だ。