第26話 スタック・ラグ
Hブロックの空気は、来るたびに重い。
壁面は濃い灰色で、表面に細かい亀裂が走っている。照明の鉱石の間隔が広く、足元の影が長く伸びた。通路の幅は広い。広いぶん、どこに何がいるかが見えにくい。Gブロックまでの白みがかった壁とは質感が違う。前回の挑戦配信でそれは分かっていたが、慣れるものではなかった。
ライカが配信用カメラに向かって言った。
「Hブロック、リベンジ回です!前回は第2区画で引き返したので、今日は第4まで行きます」
コメント欄が流れる。ライカがそれを横目で確認しながら、続けた。
「あ、清掃員さんも同行してます。ちゃんと安全な位置にいてもらうので大丈夫です。何かあればすぐ下がってもらいます」
カメラに向かって軽く手を振る。
ユウリが前衛に立ち、セイラが後方で魔導端末を操作している。金属フレームの眼鏡の奥で、複数のデータが同時に処理されている気配がある。端末には、エリア内の魔力密度と味方のバイタルが可視化されていた。数字が変わるたびに、セイラの指が動く。強化魔法の最適解を随時更新している。
春山はライカの斜め後ろ、清掃用具一式を担いだ定位置だ。
本田との合意から3日。管理局から強制配置の連絡はなかった。スーツの男も来ていない。
干渉が止まった代わりに、春山には新しい条件が生まれた。本田の手札として機能すること。ライカたちが対処できない事態を、処理すること。
今日の映像は、本田のモニターにも映っているはずだ。
「第4区画まで到達後、折り返し予定です」
セイラが端末から目を上げずに言った。
「現在は第1区画。魔物密度はGブロックと比較して1.8倍ほどです。進行速度を落としましょう」
「了解」
ユウリが警戒しながら返す。
春山は通路を見渡した。
天井が高い。10メートル近くある。壁と壁の間隔も広く、体感では倉庫の内部に近い。南港の物流センターで夜間保守に入ったとき、照明を落とした荷捌き場がこんな感じだった。
広いということは、複数の魔物が同時に展開できる。
春山は最後尾を進みながら、無機質な手つきで第1区画の清掃をこなした。
配信の画角を汚さないため、そしてなにより緊急時の退路を確保するため、魔物の残滓や崩れた瓦礫の破片、換金に値しないものも全て回収袋に納めつつ、ライカたちの後に続く。
第1区画を抜けた。
第2区画に入った直後、セイラが足を止めた。
「……密度が跳ね上がっています」
「どのくらい?」
「第1区画の3倍。第2区画全域に分散しています。前方、左右、後方、全方向に反応」
言い終わる前に、影が動いた。
前方の壁際から、最初の1体が現れた。犬型の魔物だ。Gブロックで見たものより一回り大きい。灰色の体表に節くれだった四肢、牙が照明魔石の光を反射する。低く構えて、こちらを見ている。
続いて左側面。壁の亀裂の陰から、同じ型が2体。
右の奥の通路からも、足音が重なって近づいてくる。
後方を振り返ると、来た道に影が伸びていた。退路が、塞がれている。
「包囲されます」
セイラが言った。声に焦りはないが、端末を操作する指が速くなっている。
「ユウリ、突破できますか」
「前方は抑えられる。側面と後方は無理だ」
「ライカ、広域は」
「撃てる」
ライカが春山を一瞥した。コメント欄を見る余裕はもうない。
「でも清掃員さんが範囲内に入る」
戦闘が始まった。
ユウリが盾を前に出し、前方から殺到する2体を壁際に押し込む。鈍い衝撃音が区画に響いた。しかし側面からも来る。右から1体、左から1体、別々の角度でユウリの死角を突いてくる。盾が間に合わない。ユウリが腕に爪を受けながら、それでも前衛の位置を崩さなかった。
「セイラ、右!」
「対応しています」
セイラが端末を操作した瞬間、ユウリの右腕が白く光る。爪が弾かれた。しかし次が来る。また次が来る。防御の強化を当て続けながら、セイラの呼吸が浅くなっていく。
ライカが後方の群れに向けて連続で攻撃魔法を放った。2体が弾け、ポリゴンが散る。しかし後続が詰めてくる。ライカが右手を構えたまま、小さく舌打ちした。
「魔力、思ったより削られてる」
広域魔法は使える。しかし今の残量では、撃った後に動けなくなる可能性がある。ライカが一瞬だけ春山を見た。その目に、判断の揺れがあった。
ユウリが後退した。わずか半歩だが、前衛が下がった。前方の群れが一気に圧を増す。
春山は状況を整理した。
ユウリが崩れれば、ライカとセイラに直接群れが来る。そうなれば広域を撃つ余裕もなくなる。全滅という記録が残る。今日の状況は配信されている。管理局が動く口実になりうる。本田との合意は初日で終わる。
損得を並べると、助力する側に傾いた。
もう一つ、試したいことがあった。
以前、Gブロックの清掃中に回収袋への詰め込みが立て込んだとき、周囲の魔物の動きが一瞬だけ乱れた。ほんの数コマ、動作が断続的になって、すぐに戻った。
あのときは偶発的な現象として記録だけして、それ以上は試していない。
処理の競合だ、と春山は判断していた。
前職で使っていた負荷テストの手順と同じ原理。重いサーバーに対して軽微なリクエストを大量に送り込み、応答速度を落とす。回収動作とウィンドウ開閉の同時入力を意図的に積み重ねれば、あの現象を引き起こせる可能性がある。
空間が広い。魔物の数が多い。処理の並走量が大きいぶん、効果も大きくなるはずだ。
ただし、意図的に試したことはない。
今日の映像は本田も見ている。
しかし本田は「プロセスを問わない」と言った。それが今は問わないという意味だとしても、今日の映像を管理局に渡さない理由は本田にもある。あの男が自分の手札を局に差し出すとは思えない。
「……離れます。ライカさんは範囲を気にせず撃ってください」
「でも」
「離れます」
ライカが一瞬考えた。視線がコメント欄に向きかけて、すぐに戻った。
「……わかりました。ユウリ、セイラ、私の後ろに。広域いきます」
春山は3人から距離を取った。
後方ではなく、倒壊した壁材が積み重なった区画の右端に向かう。瓦礫が腰の高さまで積み上がっている。ライカたちの視線から外れる位置だ。
左側面の2体が反応した。標的が単独で動いた。距離が縮まる。
袋の口を開いた。
清掃作業を続けるような動作で、収納動作に入る。同時にウィンドウの開閉を重ねる。1フレームで噛み合わせるたびに、重複チェックが空振りする。本来弾かれるはずのアイテムが、スロットに積み重なっていく。
端から見れば、ゴミ袋を抱えたまま、空を異常な速度で指で叩き続けているように見えるはずだ。
左側面の1体が踏み込んできた。
春山は爪の軌道を読んだ。届く直前、ウィンドウを開く。
瞬間、世界の「視線」から、自分の体が零れ落ちる感触。
爪が腕をすり抜けた。
勢いのまま空を切った魔物が、瓦礫に激突した。春山はその衝撃を利用して横に崩れ、泥臭く地面に膝をついた。もう1体が回り込んでくる。ライカ達の位置からは、際どく躱した清掃員にしか見えないはずだ。
袋への詰め込みを続けながら立ち上がる。
もう1体が爪を振り上げた。ライカの広域魔法のチャージが始まり、余波の光が区画に満ちてきた。砂塵が舞う。春山は瓦礫の陰に半身を沈めながら、タイミングを測った。
爪が届く瞬間、ウィンドウを開く。
すり抜けた。
光と砂塵の中で、それは紙一重の回避にしか見えなかっただろう。
スタックを積み増す。袋に残った廃棄物が、数十スロットに渡って圧縮されていく。1スロットに収まる量が通常の上限を超えていく。それだけの量のアイテム処理が、このエリアの演算に同時にかかっている。
最初に変化が出たのは、右奥から来ていた群れだった。
動きが、止まった。
正確には、コマ落ちしたように動作が断続的になった。1歩踏み出して、止まる。また1歩踏み出して、止まる。滑らかな動きが失われ、パラパラとした静止画の連続になっている。
左側面の2体も同じだった。
春山に爪を振り上げたまま、固まっている。
前方の魔物が走ってくる途中でその場に固まった。後足を上げたまま、空中で止まっている。
仮説は、合っていた。
ライカの広域魔法が炸裂した。
光が第2区画全体に広がる。魔物たちは動けないまま、光の中に弾けた。砕けたポリゴンが四方に散って、数秒のうちに溶けるように消えていく。光が収まると、魔石と素材だけが区画のあちこちに残っていた。青白く輝く魔石が数個、体表の一部らしい灰色の板状の欠片が混じっている。
沈黙。
ライカが大きく息を吐いた。膝に手をついて、しばらく動かなかった。カメラに向き直るまでに、数秒かかった。
「……生きてます。全員無事です」
コメント欄が一気に流れた。ライカがそれを読みながら、眉をひそめた。
「そう、敵が途中で止まったんですよね。私も見てました。なんか……いきなり固まって」
ライカが春山に視線を向けた。
「春山さんも無事ですか」
「はい」
「よかった。コメントで心配してる人たくさんいて……」
ライカが苦笑いで続けた。
「たぶん、Hブロックの特殊な地形のせいかな、って思ってます。前回も変な挙動あったし。詳しい人いたらコメントで教えてください」
説明になっていない言葉を、配信者の笑顔でうやむやにした。
ユウリが区画を見渡した。顔から表情が消えている。
「……全方向、同時に止まった」
「そう」
セイラが返す。低い声だった。
「魔物の行動が停止した原因が、わからない」
セイラが春山を見た。
端末を持ったまま、動いていない。春山のいた位置と、魔物が固まり始めたタイミングを、頭の中で重ねているのがわかった。
春山は肩から袋を下ろした。
「魔石と素材、回収します」
「あ、はい。お願いします」
床に残った魔石を拾い、素材の欠片を袋に納めていく。スタックは既に解除している。アイテムカウンタは通常の範囲に戻った。
セイラは何も言わなかった。
ただ、端末に何かを入力していた。
春山には、それが何かを記録している動作に見えた。
「第3区画、進めます」
セイラが前を向いた。
「密度は落ち着いています。先ほどの包囲は一時的な集中だったようです」
「よし、行こう」
ライカがカメラに向かって付け加えた。
「気を取り直して、第4区画目指します」
一行が歩き始めた。
春山は最後尾で、袋を担いだまま続いた。
セイラが一度だけ振り返った。
目が合った。
春山は何も言わなかった。セイラも何も言わなかった。
前を向いて、歩き始めた。
Hブロックの天井が、遠く高く続いている。




