第三話:魔法陣、それレガシーコードですよね?

 迷宮核の間から伸びる通路は、拍子抜けするほど簡素だった。


「……ほんとに一本道だな」


 黒い結晶――迷宮核の部屋を出ると、幅二メートルほどの石造りの廊下が、ただまっすぐ伸びているだけ。


 左右に分岐なし。

 途中に扉なし。

 あるのは、途中にぽつんぽつんと開いている小部屋が三つだけ。


 管理コンソールで見た「部屋数:3/通路:直線1本」を、そのまま実地でなぞってる感覚だった。


「ま、初期ダンジョンなんてこんなもんか」


「ここからご主人が好きなように拡張していくんですよ」


 頭の上で、ナノがふわふわ付いてくる。


 迷宮核の間は神秘的だったのに、廊下はやけに素っ気ない。

 灰色の石壁、石床、石天井。

 光源は、壁に等間隔で埋め込まれた白くぼんやり光る石だけだ。


 ……ただ。


「ん?」


 何かが引っかかった。


 壁に手を当てた瞬間、ひんやりとした感触と一緒に、視界の端に“線”が浮かび上がる。


 いや、浮かび上がったんじゃない。

 最初からそこにあったものを、俺の脳がようやく「それ」として認識しただけだ。


「ナノ、この模様」


 指でなぞると、壁一面に薄く刻まれた線が見えてくる。

 曲線と直線が絡み合い、紋様や文字みたいなものが連なっていた。


 いわゆる――魔法陣の一部、らしい。


「あ、それは“古の理”の紋様ですね。迷宮の構造や魔力の流れを制御している術式です」


「古の理……」


「はい。この世界の魔法体系の元になっている古代の術式群です。人間の魔法使いは、その“ごく一部”を簡略化して使っているに過ぎません」


 ナノは当たり前みたいに言う。


「迷宮に刻まれているものは、もっと根源的な――と言われています」


「ナノは読めるのか?」


「解析レベルなら。どの部分が光源制御で、どの部分が構造維持か、ぐらいは分かります。ただ、“中身そのもの”はボクにも見えません。迷宮核にもともと組み込まれているものなので」


 なるほど。


 つまり――動いてるバイナリの挙動は追えるけど、ソースコードは見えない。

 そんな状態か。


 俺はもう一度、壁の紋様を凝視した。


 線の流れ。

 分岐点。

 同じ形の繰り返し。


 それらを意識の“別階層”で追い始めた瞬間――


(……ああ)


 腑に落ちた。


「これ、完全にコードじゃん」


「コード?」


 ナノが小首をかしげる。


「このループ構造。ここで値を受け取って、ここで条件判定してる。で、こっちが異常時ハンドリング、こっちが通常ルート」


 壁の一部を指でなぞりながら説明する。

 ナノは黙って聞いていたが、ぽつりと言った。


「……ナノには、ただの魔法陣にしか見えません」


「魔法陣はコンパイル済み成果物だ」


「こんぱいる……?」


「……あー……」


 この世界でコンパイルを説明するのは無理ゲーだ。

 俺は一旦諦めた。


「とにかく。線の繋がりとパターンが、プログラムの癖なんだよ。同じブロックの繰り返し方で、“元の形”が透けて見える」


 頭の中に、魔法陣の“裏側”が浮かぶ。

 記号と文字列で構成された、もっと記述的な何か。

 仮に“魔導スクリプト”とでも呼ぶべきもの。


(この世界では誰も直接書けない。だから“古の理”なんて神秘扱いされてるだけだ)


 でも、俺には骨組みが見える。


「ご主人、それって……」


 ナノの声に、珍しく驚きが混じった。


「もしかして、“魔法陣の書き換え”が可能ってことですか?」


「やってみなきゃ分からないけどな」


 俺は廊下の光源――壁に埋め込まれた小さな白い石を見る。


 その周囲の紋様を観察し、光源制御ブロックらしき箇所を頭の中で切り出した。


(ここが点灯・消灯の制御)

(ここが明るさと色の値)

(で、ここが“魔力節約モード”の分岐……)


「ナノ。この光、普段はどう制御してる?」


「迷宮核から一定周期で魔力を流し、一定の明るさで光らせています。侵入者がいないときは最低限、誰かがいるときは少し明るく――程度ですね」


「ふむ。省エネ常夜灯か」


「はい。たぶん近いです」


 よし。


「ここ、ちょっと触るぞ」


「えっ、ちょっと待ってください!」


 慌てたナノの声を背中で聞きながら、俺は魔法陣に指を滑らせた。


 ただなぞるだけじゃない。

 意識を“中身”に潜らせる。


 記号と構造が、脳内に展開される。

 if、else、for、while。

 try、catch。


 見慣れたロジックの塊を、ほんの少しだけ組み替える。


「――っと」


 指先に、微かな抵抗が返ってきた。

 魔力とかいう未知のエネルギーが、自分を通って壁へ流れ込む。

 そんな変な感覚。


 次の瞬間。


 廊下の光が、ぱちん、と一度消えた。


「ご、ご主人!?」


「大丈夫。たぶん!」


 数秒後。


 今度は、やわらかな橙色の光がふわりと灯った。

 さっきより目に優しく、空気が少しだけ“住める感じ”になる。


「……お」


 ナノが小さく息をのむ。


「光の色が変わりました……! ご主人、今、何を……?」


「明るさと色味の値を変えただけ。ロジックはそのまま、定数だけ差し替えた」


「……そんなこと、できるんですね」


「できたから、できるんだろ」


 自分でも半分驚いて、半分納得していた。


(やっぱりな)


 この世界の魔法陣は“不可侵の神秘”じゃない。

 構造を持ったシステムだ。


 なら――


「もう一個、試すか」


「え、まだやるんですか……?」


「ここからが本番だろ」


 俺は光源制御ブロックの中に、新しい分岐を挿入する。


 条件:一定距離以内に“侵入者”が接近した場合。

 動作:光を一瞬だけ強く点滅させる。

 追加:位置情報をログに記録する。


 魔力の流れを整え、念のため例外処理も仕込む。

 暴走は怖い。炎上はもっと怖い。


「ナノ。通路の向こうまで行ってくれ」


「は、はい?」


「いいから。あの辺まで。人間一人分くらい離れた位置」


「……分かりました」


 ナノがふわりと飛んでいく。


 一定距離を超えた瞬間――


 ぱちっ。


 光源が、一瞬だけ強く光った。

 そしてすぐ橙色に戻る。


「わっ」


 ナノが小さく跳ねる。


「今、光が――」


「トリガーが動いたな」


 俺は〈ログ/解析〉タブを開く。

 新しいエントリが増えていた。


> 【時刻】0:03:12

> 【イベント】侵入者接近

> 【位置】階層1/通路/基準点から5メートル


「……位置情報まで入ってますね」


「条件分岐とログ出力を追加しただけだ」


 口元が勝手に緩む。


 これ、楽しい。


「ご主人」


 戻ってきたナノが、少し真面目な声で言う。


「今のって……詠唱もしてないし、魔法陣を新しく描いたわけでもないのに、自動で発動しましたよね」


「ああ」


「それってつまり……」


「“自動詠唱回路(オートキャスト・ルーン)”だ」


 俺は勝手に名付けた。


「魔力の流れに、条件とトリガーを書き込んだ。侵入を検知したら勝手に動く、常駐スクリプトみたいなもんだ」


「じょうちゅう……?」


「ずっと待機してて、条件満たしたら勝手に仕事するやつ」


「なるほど……?」


 ナノは分かったような分かってないような顔(?)で頷いた。

 まあいい。


 重要なのは――ここから先だ。


「これで、“常に誰かが見張ってなくても動く罠”が作れる」


 踏んだら発動する罠。

 一定間隔で状態を監視する処理。

 HPが減ってきたら別ルートへ送る分岐。


 “自動化”が、いくらでも仕込める。


「……ご主人、目が危ないですよ」


「気のせいだ」


 俺は壁の魔法陣を、もう一度じっくり見直した。


 光源だけじゃない。

 床、天井、部屋の入口――それぞれに別の制御ブロックが刻まれている。


 足元を滑らせる罠。

 じわじわHPを削る魔力霧。

 一定時間ごとにポーション使用率を集計する集計ルーチン。


 頭の中で、“嫌らしい”ギミックが勝手に組み上がっていく。


「ナノ」


「はい」


「この階層の魔物や冒険者のHPや状態、取れるか?」


「迷宮内に入ってきた生物の生命反応と魔力の状態なら、一定精度で把握できます。“何パーセントくらい元気か”という大雑把な値ですけど」


「十分だ」


 正確な数値はいらない。

 だいたいで運用するのは、昔から得意だ。


「魔物のHPが三割切ったら別ルートへ送る条件を書く。別ルートの先に“回復部屋”を用意する」


「回復部屋……?」


「ああ。そこでポーション飲ませて休ませて回復させる」


 ゴブリンのHPが三割を切った瞬間――

 黒煙を噴いて、光のエフェクトをまとって、その場から消える。


 実際は転移で回復部屋に飛ばしてるだけだが、外から見れば「倒れた」ように見える。


「そして回復したら、別ルートから前線に戻す。冒険者からすれば、ゴブリンの個体差なんて分からないだろ」


「……なるほど。倒しても倒しても同じようなゴブリンが無限に湧いてくるように見えるわけですね」


「そう。実際は有限リソースをローテーションしてるだけ」


 安い駒を大量に用意するのは簡単だ。

 でも死なせたら復活コストがかかる。


 なら、極力殺さず、回して使う。

 サーバーも人材も、根っこは同じだ。


「ご主人、やっぱりブラックですよね?」


「効率重視って言え」


「でもゴブリンさんたち、死ななくて済むんですよね?」


「……まあ、そうなるな」


「それ、ホワイトじゃないです?」


「うるさい」


 とはいえ、まだ魔物すら一体も召喚していない段階だ。

 今のは机上の設計にすぎない。


 実際にやってみて、ログを見て、調整する。

 それこそが運用だ。


「よし」


 俺は通路を見渡した。


 灰色の石壁に刻まれた紋様が、さっきとは違って見える。


 不可思議な図形の羅列じゃない。

 if文とループと例外処理がびっしり詰まった、巨大なレガシーコードだ。


「この迷宮、全部、俺色にリファクタリングしてやる」


「ご主人、その言い方だけ聞くと、なんかよく分からないですよ」


「“ちゃんと動くように保守する”って言われるよりは、まだマシだろ」


 俺は迷宮核の間の方へ振り返る。

 どくん、どくん、と規則正しい脈動が、こっちのテンションを煽ってくる。


 俺は歩き出した。


 レガシーコードまみれの迷宮を――

 元社畜エンジニアの手で、作り変えてやるために。

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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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