第16話 残業代は魔石で
Cブロックに入って最初にすることが、変わった。
以前は、入口から奥へ向かって順番に清掃していた。効率的だからだ。しかし今は、まず区画全体を一周する。壁の状態を確認しながら、特定の場所を探す。
前職でいうところの「シード値」の痕跡だ。
きっかけは3週間前の些細な観察だった。
同じCブロックに連続して入っていると、魔石のドロップ地点に「繰り返し」があることに気づいた。同じ座標に、同じ日数をおいて、同じ種類の魔石が出る。完全な一致ではないが、誤差の範囲が小さすぎる。
前職で扱ったシミュレーションソフトに、似た挙動があった。
乱数を使っているように見えて、実は固定された「種」の値から生成している疑似乱数だ。同じ種の値を与えると、同じ乱数列が生成される。外から見ると「毎回違う結果」に見えるが、種の値さえわかれば、次に何が出るかを予測できる。
この迷宮のドロップ生成も、同じ仕組みを使っているのではないか。
「……シード値が固定されてる区画がある」
ノートに仮説を書いてから、春山は検証を始めた。
検証には2週間かかった。
毎日、同じ区画に入って、同じ地点のドロップを記録する。座標、種類、純度、出現時刻。それを繰り返す。
データが積み上がるにつれ、パターンが見えてきた。
Cブロックの西側、壁の亀裂が3つ並んでいる場所から南に7歩の地点。ここには72時間おきに、Cブロックの平均より純度の高い魔石が出現する。出現時刻は、ダンジョンの処理が軽い時間帯、つまり他の探索者が少ない深夜から早朝にかけてだ。
「……リスポーン地点の特定、完了」
ノートに書き込んだ。
次は、そのリスポーンを「意図的に引き出す」ことだ。
問題は、リスポーンを早めることができるかどうかだ。
前職のシミュレーションソフトでは、種の値を手動でリセットすることで、乱数列を最初から生成し直す操作ができた。ゲームの世界では「リセマラ」と呼ばれる手法で、開始時の乱数を操作してレアアイテムを引き直す行為として知られている。
この迷宮でも、同じことができるはずだ。
そして、そのトリガーになりそうなものに、春山には心当たりがあった。
ウィンドウの開閉だ。
メニュー画面を開いている間、この迷宮は時間の進行を一時停止する。しかし春山が気づいたのは、その「停止」が完全ではないことだった。時間の演算は止まっても、乱数を生成するカウンタは回り続けている。停止処理と乱数処理が、別々のモジュールとして動いているのだ。
ここでは祈りも魔法も関係ない。ただ、ある一定の動作を繰り返すと、世界の理が処理を飛ばしたかのように、結果だけが前倒しになる。
その「綻び」に、春山はかつての仕事で見た、安いシステムの面影を重ねていた。
つまり、ウィンドウを高速で開閉すると、「時間は止まっていないのに乱数だけが回る」という状態を連続して作り出せる。通常72時間かけて進むはずの乱数カウンタを、短時間で大量に回す。本来は1週間後に生成されるはずの高品質な出目を、今日に呼び出す。
「……クロックを、誤魔化せる」
実験は、3日かかった。
シード値の特定地点で、ウィンドウを高速で開閉する。魔石の出現を待つ。記録する。また開閉する。
1日目は失敗した。
2日目、出現間隔が通常より短縮された。72時間のはずが、48時間で再出現した。
「……効いてる」
3日目、さらに短縮を試みた。開閉の速度を上げる。回数を増やす。
36時間で出現した。
「……リセマラ、成立」
春山はノートに書き込んだ。
指先が、静かに震えていた。
興奮ではなかった。前職でシステムの深い部分に初めて触れたときと同じ感触だったが、今回はそこに別のものが混じっていた。
この迷宮の時間管理が、前職で触っていた安価な基幹システムと同じ構造で動いている。停止処理と計測処理が分離されていない。割り込みの優先度が設計されていない。コストを削るために、手を抜いた箇所がそのままになっている。
それはつまり、この世界そのものが、そういうものでできているということだ。
エレガントでもなく、堅牢でもなく、ただ動いているだけの、安価なプログラム。
「……こんなもので、動いてたのか」
独り言が、薄暗い通路に落ちた。
失望とも、恐怖とも、違う感触だった。前職で担当した物流センターのシステムが、実は想定の半分以下のコストで組まれていたと知ったときに似ていた。それでも動いていた。それでも世界は回っていた。しかしその事実は、何か大切なものを静かに傷つける種類の発見だった。
それから1週間、春山はCブロックでの作業を変えた。
通常の清掃をしながら、シード値の特定地点を複数確認した。Cブロックだけで4箇所を特定した。72時間リスポーンの地点が2箇所、48時間の地点が1箇所、ウィンドウ操作で24時間まで短縮できる地点が1箇所。
24時間地点で、毎日ウィンドウをリセットした。
出てくる魔石の純度が、通常より30〜40%高かった。乱数カウンタを誤魔化すことで、本来はもっと先の「当たり」の出目を前倒しで引いているらしかった。
スタックと組み合わせると、さらに効率が上がった。
高純度の魔石をスタックすれば、通常品の数倍の価値を持つ圧縮魔石が生まれる。そしてその魔石を、神戸のブローカーへ流す。
「……在庫の最適化だ」
春山は独り言を言った。
前職での仕事と、構造が同じだった。どの倉庫のどの棚に、いつ、何を補充すれば効率が最大化するか。補充サイクルを読んで、先回りする。最高品質のものが出るタイミングで回収する。
あの頃は、どれだけ最適化しても給料は変わらなかった。査定に反映されることもなく、誰に褒められることもなく、ただシステムが正常に動くことだけが報酬だった。
今は違う。
最適化した分だけ、封筒が重くなる。
「……神様も、残業代は払ってくれるらしい」
その日の夕方、清掃を終えて計量所に向かった。
今日の通常回収分の報告を済ませてから、別の袋を開けた。リセマラで回収した高純度魔石が5個。スタックで圧縮した魔石が3個。素材が数点。
「……今日は調子が良かったですね」
査定員が言った。
「そうですか」
「このエリアで、こういう純度が続くのは珍しい」
「個体差だと思います」
「最近、春山さんが来た後は回収成績が良いですね。コツでもあるんですか」
「……丁寧に探しているだけです」
査定員が頷いた。それ以上は聞かなかった。
伝票を受け取って、計量所を出た。
今日の稼ぎは、通常の3倍を超えていた。
軽自動車に乗り込んで、グローブボックスを開けた。
封筒が3つ入っている。先週からの蓄積だ。合計すると、かつての月収を超えている。
グローブボックスを閉めた。
エンジンをかける前に、ノートの最後のページを開いた。今日特定した新しいシード値の地点を書き加える。座標、リスポーン間隔の推定値、最適な回収時刻の目安。
記録が増えていく。
しかし懸念が、1つあった。
ここ数日、他のハイエナたちの様子が変わってきている。直接何かを言われたわけではない。しかし休憩中の会話が、春山の近くで止まるようになった。視線が、前より長くなっている。
昨日、丸顔の男が春山の後に同じ区画へ入ったらしく、戻ってきてから妙な顔をしていた。
「……なんか、あそこ、空気が違うんよな」
男が、別のハイエナに言っていた。
「乾いてる、っていうか。なんも残ってないっていうか」
「魔力が薄い、ってことか」
「そうそう。あいつが入った後って、なんか空気まで違う気がするわ」
声が、春山の耳に届いた。
春山は振り向かなかった。回収袋の口を縛りながら、聞こえていないふりをした。
目立ち始めている。
稼ぎを最大化することと、目立たないことは、両立しない場面がある。今がその場面に近づいている。前職でも、誰も気づかない速度で動くのが鉄則だった。
「……ペースを落とすか」
エンジンをかける。43号線へ出ると、夕方の渋滞が始まっていた。
「……今日も、混んでるな」
標準語が、静かに車内に落ちた。
アクセルを踏んで、赤いランプの列に加わる。
頭の中で、次の手順を整理する。
Dブロックのシード値調査。神戸ルートの確認。スタックの精度向上。そして、目立たない速度での展開。
やることは、まだある。




