15話 グローブボックスの重み
翌朝、春山は軽自動車の中で目を覚ました。
アパートに帰り着いたのが深夜を過ぎており、駐車場に車を停めたまま、そのままシートを倒して眠った。
毛布は後部座席に積んである。こういうこともあろうかと、引越しのときから積みっぱなしにしていた。
天井が低い。手を伸ばせば届く高さだ。
春山はしばらく、その天井を見た。
グローブボックスが、目に入った。
昨夜、封筒を入れて鍵をかけた。それだけのことだ。しかしその小さな蓋の向こうに、かつての月収に近い現金が入っている。
「……確認するか」
身を起こして、グローブボックスを開けた。
封筒が入っていた。
取り出して、中を確認した。昨夜数えた通りの金額がある。現実だった。夢ではなかった。
春山はしばらく、封筒を手の中に持っていた。
重い。
現金というものは、これだけ薄い紙の束でも、握ると重みがある。物理的な重さではなく、持っていることの重さだ。前職の給料は振り込みだった。数字が口座に増えるだけで、こういう重みがなかった。
「……これが、世界の欠陥から取り出した金か」
独り言が、狭い車内に落ちた。
封筒をグローブボックスに戻した。
閉めると、ガタッ、という音がした。いつもより重い音だった。あるいは、いつも通りの音なのに、今日だけそう聞こえた。
シートを戻して、エンジンをかける前にノートを開いた。
昨夜のハシゴ換金を、記録する。
訪問した店の種類。持ち込んだ素材の種類と数。受け取った金額の概算。気づいた点。1軒目の店主の視線。2軒目の処理の速さ。3軒目の無関心。
書き込みながら、春山は頭の中で今日までの流れを並べた。
Cブロックの床に転がる魔石が、岩の崩れ方と無関係な等間隔で並んでいた。初めてそれを見たとき、春山は思わずしゃがみ込んだ。前職で何百時間も眺め続けた、あの旧型ソフトの画面と同じ並び方だった。
ライカの魔法が放たれるたびに、周囲の岩盤が0.5秒だけのっぺりとした面になった。あれを初めて見たとき、前職の処理落ちした監視モニターが頭に浮かんだ。過負荷で描画を間引く、あの挙動と同じだった。
魔物が形を成す前の粗いかたまりが、宙に浮いているのを見た。この世界は、ここまで追い詰められているのか、と思った。
Eブロックで空間が切断されて、1人で暗い通路に残された。あのとき怖くなかったかと問われれば、嘘になる。しかし怖いと感じながら、それより先に「仕様だ」という言葉が来た。
警棒を振った。攻撃が体を通り抜けた。個体が消えた。あの0フレームの静寂は、まだ指先に残っている。
袋に魔石を放した瞬間にウィンドウを閉じると、かちり、という感触があった。それだけのことで、魔石の重さが変わった。
昨夜、3軒を回った。現金を受け取った。1軒目の店主の目が、ノイズに引っかかりかけていた。
点が、線になっていた。
「……証明できた」
春山はノートを閉じて、窓の外を見た。グローブボックスの中に現金がある。
朝の堺市の空が、薄く白んでいた。工場の煙突から煙が上がっている。国道を大型トラックが走っている。昨日と同じ朝だ。
しかし春山には、昨日と違う見え方をしていた。
あの夜景を、もう一度思い出した。
3軒目を終えて車に戻ったとき、東大阪の工業地帯の夜景が目に入った。工場の配管が継ぎ足されて、本来の設計とは全く別の形になっていた。補修テープが貼られた外壁。タイミングのずれた信号機。
全部が、そう見えた。
パッチを当てながら、無理やり動かしている。本来の設計から外れながら、それでも動いている。完全ではないが、止まってもいない。
あの夜景は、ダンジョンと同じ構造をしていた。
いや、正確には逆だ。
ダンジョンが、この街と同じ構造をしている。
この街が「継ぎ接ぎで動いている」のではなく、ダンジョンがこの街の「古いやり方」を模倣して作られているのかもしれない。前職で扱った旧型ソフトと同じアルゴリズム。70年代に書かれた基幹コードと同じ設計思想。
この世界の設計者は、人間が作ったものを参照して、ダンジョンを作った。
そしてその参照元が古かったせいで、ダンジョンも同じように古いバグを抱えている。
「……クソゲーだ」
春山は静かに言った。
クソゲー。よく出来ていない、欠陥のあるゲーム。バグが多くて、設計が粗くて、しかしそれでも動いている。
ダンジョンがクソゲーなのではない。
この世界そのものが、バグを抱えたまま走っている欠陥品なのだ。
魔石のドロップ配置の規則性。魔法のダメージ範囲の固定値。テクスチャの粗化。生成シーケンスの遅延。イレギュラー個体の出現。0フレームの隙間。スタックの成功。
これらは全て、同じ方向を指している。
設計が古い。設計の外側に、隙間がある。その隙間を突けば、設計者が想定していない結果が出る。
「……世界がクソゲーだと、証明できた」
もう一度、言った。
仮説が確信になった瞬間というのは、こういうものかもしれない。怒りでも、高揚でもない。ただ、静かに腑に落ちる。
前職でバグの原因を特定したときも、いつもこういう感触だった。さっきと同じ言葉だが、その意味は変わっていた。
魔石の表面のノイズが、頭に浮かんだ。
スタックした魔石の表面に残る、細く不規則な線。磁気テープが劣化したときに出るような、古さの痕跡。
あのノイズは何なのか。
スタックによって生じた処理の痕跡か。あるいは、最初からそこにあったものが、スタックによって可視化されただけか。
後者だとすれば、このノイズはダンジョンの素材が最初から抱えているものだ。通常の状態では見えない。しかし春山の操作によって、表面に滲み出てくる。
この世界の縫い目が、見えている。
継ぎ接ぎの痕が、見えている。
「……設計者は、これを知っていたんだろうな」
呟いた。
知っていて、放置した。直す気がなかったのか、直す余裕がなかったのか、あるいは直せなかったのか。
まだわからない。
しかしわからなくていい。今は。
今の春山に必要なのは、哲学ではなく、次の手順だ。
エンジンをかけた。
43号線へ出ると、朝の渋滞が始まっていた。赤いランプの列が、南港から堺の方向へ長く続いている。
春山はその列に加わりながら、今日の予定を考えた。
今日もCブロックに入る。素材を拾う。スタックを数回試す。換金ルートの次の候補を調べる。神戸方面の民間業者を2軒ほど確認する。
やることは、変わらない。
世界がクソゲーだと証明できた。しかしそれは、仕事が終わったことを意味しない。
保守員の仕事は、証明して終わりではない。
バグを見つけたら、記録する。対処する。また別のバグを見つける。繰り返す。それだけだ。
前職でも、バグを1つ潰したら次のバグが見つかった。終わりのない仕事だった。しかし終わりがないことを、春山は不満に思わなかった。それが保守の本質だからだ。
「……さて、明日も仕事だ」
渋滞の列の中で、春山は静かに言った。
今日のことなのに「明日も」と言ったのは、癖だった。前職で夜間対応を終えて車に乗るとき、いつもそう言っていた。今日が終わっても、仕事は続く。それを確認するための言葉だった。
グローブボックスが、目に入った。
小さな蓋の向こうに、昨夜の現金がある。かつての月収に近い額が、あの小さな空間に収まっている。
「……証明できた。なら、やることは決まっている」
最後にもう一度だけ、言った。
証明は、終点ではない。出発点だ。バグを見つけたら、記録して、対処して、また次を探す。それが保守員の仕事だ。
信号が青になった。
春山はアクセルを踏んで、渋滞の列を少しだけ前へ進んだ。
窓の外を、大型トラックが追い越していく。阪神高速の高架が、空の白みに影を作っている。国道43号線は今日も混んでいる。昨日と同じ朝だ。
しかし春山には、もう昨日と同じには見えなかった。
この道路も、あの高架も、向こうに見える工場の煙突も、全部が継ぎ接ぎで動いている。設計の外側に出ながら、誤魔化しながら、それでも止まらずに動いている。
クソゲーだ。
しかし動いている。
そして春山も、その中を走っている。
「……今日も、43号線は混んでるな」
標準語が、静かに車内に落ちた。
ハンドルを握り直した。
仕事は、続く。




