第9話「ループする村と『ローカルパッチ』」

 商業都市リューンを出発して、一週間が経過した。


 俺とリリアは、ひたすら北を目指して旅を続けている。街道を外れ、獣道を進む道のりは決して楽ではなかったが、【マップ】アプリによる最適ルートの選定と、【アイテムボックス】による潤沢な物資のおかげで、危険な魔物との遭遇も最小限に抑えられていた。


 旅が進むにつれて、風景は目に見えて変化していった。豊かな緑は次第に色褪せ、空は常に鉛色の雲に覆われるようになった。空気は冷たく、乾燥している。世界の「正常な領域」から、外れつつあることを肌で感じていた。


 そして、旅の十日目。俺たちは、奇妙な現象に遭遇した。


 荒野の中に、ぽつんと小さな村が見えたのだ。家は古びており、人の気配は全くない。廃村のようだった。


「タクミさん、あの村で少し休憩しませんか? 風が強くなってきました」

「そうだな。ちょうどいい」


 俺たちは村に入り、風を避けられる家屋の壁際で、簡単な食事を摂った。特に変わったことはない。ただの寂れた廃村だ。休憩を終え、俺たちは再び北へと歩き出した。


 だが、30分ほど歩いただろうか。俺たちの目の前に、再び、全く同じ廃村が現れたのだ。


「……え?」


 リリアが困惑の声を上げる。俺も眉をひそめた。見間違いか? いや、そんなはずはない。村の入り口にある、朽ちかけた井戸。壁が崩れた家。先ほど休憩した場所まで、寸分違わず同じだった。


「おかしいな。道を引き返したつもりは……」


 俺はスマホの【マップ】を確認する。すると、俺たちの現在地を示す青い点が、小刻みに震え、時折、村の入り口の位置まで一瞬で引き戻されていた。


「マップデータのエラーか……。いや、これは……」


 俺たちは、この村を中心とした、局所的なループ空間に囚われてしまったのだ。一種の結界魔法か、あるいは、より厄介な世界の「バグ」か。


「一度、強行突破してみよう」


 俺たちは村を完全に無視し、一直線に北へ向かって歩き続けた。だが、どれだけ歩いても、気づけば村の南側の入り口に戻ってきてしまう。まるで、無限ループするゲームのマップのようだ。


「だめだ……。完全に閉じ込められてる」


 リリアの顔に、不安の色が浮かぶ。


 俺は冷静に頭を働かせた。パニックになっても意味はない。これはバグだ。ならば、SEとしてやるべきことは一つ。原因を特定し、修正(デバッグ)することだ。


「リリア、もう一度村を通り抜けるぞ。俺が合図するまで、絶対に立ち止まらないでくれ」


 俺は【カメラ】アプリを起動し、動画撮影モードにした。そして、村を通り抜けながら、風景の隅々まで録画していく。


 村の中央、朽ちかけた井戸の横を通り過ぎた、その瞬間だった。


 ――ピリッ。


 肌が粟立つような、ごく微かな違和感。


「今だ……!」


 村を抜け、案の定、再び村の入り口に戻されたところで、俺は撮影した動画の再生を始めた。


 そして、あの井戸の横を通り過ぎた瞬間を、コマ送りで入念にチェックする。


「……見つけた」


 ほんの一瞬、ほんの数フレームだけ、井戸の映像がノイズのように乱れ、ブレている箇所があった。おそらく、ここがこのループバグの基点(アンカー)だ。


「これをどうにかしないと……」


 井戸を破壊すれば、ループが解けるかもしれない。だが、バグのアンカーを物理的に破壊した場合、どんな副作用が起きるか分からない。最悪、このエリア一帯の空間が崩壊する危険性すらある。


 より安全な方法……それは、ソフトウェア的な修正だ。


 俺は【プログラミング】アプリを起動した。


「リリア、また魔力を頼む。今度は、少し多めに必要になるかもしれない」

「はい……!」


 リリアが俺の手に触れ、魔力を注ぎ込む。バッテリーが『250%』を超えたところで、俺はコンソール画面に、この状況を打開するための簡易プログラムを打ち込み始めた。


// Local Patch for Area "Nameless Village"

function override_MapSystem() {

const bug_object = get_ObjectByID('well_001');

if (bug_object) {

bug_object.property.ignore = true;

}

route.force_recalculate(destination.north);

}

execute(override_MapSystem);


 このバグの基点である井戸を、俺の【マップ】システムに「無視」させ、強制的に北へのルートを再計算させるためのローカルパッチ(局所的な修正プログラム)だ。


 俺が実行(execute)コマンドを叩くと、スマホがブン、と短く振動し、バッテリーが一気に『50%』まで減少した。


「よし……行くぞ、リリア!」


 俺たちは、村へと足を踏み入れた。


 中央の井戸に近づく。以前と同じ、肌を刺すような違和感。だが、今度は何も起こらない。俺のマップ上の現在地を示す点は、ブレることなく、まっすぐに北へと進んでいく。


 俺たちは、村の北側の出口を通り抜けることができた。


 そして、振り返ると、さっきまでそこにあったはずの廃村が、蜃気楼のように揺らめき、そして、まるで最初から何もなかったかのように、スッと消えていた。


「消えた……」

「バグが修正されて、エリアが正常化されたんだ」


 俺は大きく息を吐いた。


 神々の墓場に近づくほど、こうした世界の歪みは、より頻繁に、より危険な形で俺たちの前に現れるだろう。


 俺はスマホの画面をもう一度確認した。【プログラミング】アプリのフォルダ内に、World_Patch.exeという、今はまだ灰色で選択できないファイルが生成されているのに気づいた。


 いつか、こんな小手先のローカルパッチではなく、世界そのものを修正する力が必要になる。その日のために、俺は進まなければならない。


 俺はリリアと共に、再び、荒涼とした北の大地へと足を踏み出した。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る