水浄化魔法陣が、また止まった。
構成図を広げて通信魔法陣の誤接続を確認しようとしていた矢先、村長が息を切らして駆け込んできた。
「リオン! 大変だ! 水が止まった!」
リオンは羊皮紙を置き、村長の顔を見た。額に汗が浮いている。相当焦っているらしい。
「また、ですか」
「ああ! 今月三回目だぞ! このままじゃ畑に水をやれない!」
「わかりました。すぐ行きます」
リオンは記録帳と構成図を手に取った。
昨夜作ったばかりの、村全体の魔法陣インフラの配置図だ。
村長は不思議そうな顔をしたが、何も言わずにリオンの後をついてきた。
村の中心部にある水浄化魔法陣。
直径2メートルほどの石板に、複雑な紋様が刻まれている。村人の生活用水を浄化する、重要なインフラだ。
普段は微かに青白く光っているはずだが、今は完全に消えている。
周囲には村人が集まっていた。みんな困った顔をしている。
「また止まったのか……」
「月に何度目だ」
「魔力が足りないんじゃないのか」
リオンはその声を聞き流し、魔法陣の前に膝をついた。
「少し、静かにしててください」
村人たちが黙る。
リオンは石板に手を触れ、目を閉じた。
【診断】——。
視界の裏側に、魔法陣の構造が浮かび上がる。
入力パス、処理部、出力部。
魔力の流れ。負荷率。接続状態。
まず、魔法陣本体の状態を確認する。
刻印の劣化、軽微。処理部の損傷、なし。出力部、正常。
「本体は問題ない……」
次に、魔力の供給状態。
大気中の魔力を吸収する入力パス。吸収量は十分だ。
「魔力不足でもない」
村長が「え?」と声を上げたが、リオンは意識を集中し続けた。
魔力は十分ある。魔法陣も壊れていない。なのに止まる。
ということは、外部要因だ。
リオンは意識を広げた。
この魔法陣に接続されている魔力パスを辿る。入力、出力、そして——。
見つけた。
水浄化魔法陣の魔力入力パスが、南に50メートルほど離れた場所で、別の魔法陣の魔力パスと交差している。
「これは……」
リオンはさらに集中した。額に汗が滲む。
交差点の先にあるのは農地魔法陣だ。村の南側の畑に設置された、土壌管理と灌漑を担う魔法陣。
二つの魔法陣は、同じ魔力パスの一部を共有していた。
正確に言えば、同じ「経路」を使って魔力を取り込もうとしている。
「ポート競合……」
リオンの口から、前世の用語が漏れた。
前世のIT業界では、二つのプログラムが同じポート番号を使おうとすると衝突が起きる。片方が動いていると、もう片方が起動できない。あるいは、不安定になって断続的にエラーが出る。
まったく同じことが、目の前で起きていた。
水浄化魔法陣と農地魔法陣が、同じ魔力経路を奪い合っている。
普段は農地魔法陣の稼働が低い時間帯、つまり夜間や早朝には問題が出にくい。だが農地魔法陣が本格的に動き始めると、魔力経路が圧迫され、水浄化側が弾き出される。
月に2、3回止まるという頻度にも合致する。農地魔法陣は季節や天候によって負荷が変動する。負荷が高い日に、衝突が起きる。
「そういうことか……」
リオンは手を離し、立ち上がった。
「リオン? どうだった?」
村長が不安そうに聞いてきた。
後ろには10人ほどの村人が集まっている。水が使えないのは死活問題だ。関心は高い。
「原因、わかりました」
リオンは、できるだけ平易な言葉で説明を始めた。
「この浄化魔法陣は壊れていません。魔力も足りています」
「じゃあ、なんで止まるんだ?」
「南の畑の魔法陣と、魔力の通り道がぶつかっているんです」
村人たちが顔を見合わせた。
「ぶつかる?」
「はい。水を浄化する魔法陣と、畑の土を管理する魔法陣が、同じ道を使って魔力を取り込もうとしている。普段は大丈夫なんですが、畑の魔法陣が忙しくなると、道が混んで浄化側が押し出されるんです」
リオンは構成図を広げ、二つの魔法陣の接続関係を指差した。
「ここです。この重なっている部分を、別々の道に分ければ、ぶつからなくなります」
「……それだけで直るのか?」
「直ります」
リオンは断言した。
前世の経験が、確信を与えていた。ポート競合は設定を分離すれば直る。例外はない。
村長はしばらくリオンの顔を見つめていた。
15歳の少年は、不思議なほど落ち着いた目をしていた。
「……やってみるか」
作業に取りかかる前に、リオンはもう一度【診断】で魔力パスの詳細を確認した。
干渉が起きている箇所は、地下の魔力パスが物理的に交差する地点だ。
ここで二つの魔法陣の入力経路が合流し、一本の太い魔力パスに繋がっている。
古代魔術師がこの配置を設計した理由はわからないが、おそらく当初は問題がなかったのだろう。二つの魔法陣の負荷が低い時代には、共有で十分だった。
だが時が経ち、村の人口が増え、農地が拡大し、魔法陣の使用量が増えた。
結果、設計当初は想定していなかった負荷がかかるようになり、干渉が顕在化した。
「あるあるだな……」
前世でも、設計当初は問題なかったシステムが、利用者の増加で破綻するケースは山ほどあった。
修正方法はシンプルだ。
交差点の手前で、水浄化魔法陣の入力パスを迂回させる。物理的には、魔法陣の刻印のうち「入力経路指定」の部分を書き換えるだけでいい。
問題は、リオンには魔力操作のスキルがないことだ。
【診断】は見るだけ。書き換えはできない。
「村長、この村で魔法陣の刻印を彫れる人はいますか」
「刻印か……。ゴルドなら石の加工はできるが、魔法陣となると……」
「魔法の知識は不要です。僕が『ここをこう彫ってくれ』と指示を出します。ゴルドさんの石工の腕があれば十分です」
村長は、ゴルドを呼びに走った。
老鍛冶師のゴルドは、呼ばれた理由を聞いて渋い顔をした。
「魔法陣を彫るだと? おれは鍛冶屋であって、魔術師じゃねえぞ」
「魔術は関係ありません。石に線を彫るだけです。ゴルドさん、以前、斧の亀裂を見つけたとき——」
「ああ、あのときは助かった。だがな——」
「今回も同じです。僕が診断して、問題の場所を特定して、修正箇所を指示します。ゴルドさんは、僕の指示通りに彫ってくれればいい」
ゴルドは腕を組んで考え込んだ。
「……つまり、おれは道具か」
「道具じゃありません。職人です。僕には石を彫る腕がない。ゴルドさんには魔法陣を診断する目がない。二人で一つの仕事をするんです」
ゴルドの目が、少し変わった。
「……面白いことを言うガキだな」
老鍛冶師は工房に戻り、精密彫刻用の鑿と槌を持って戻ってきた。
作業は、思ったよりも繊細だった。
リオンは【診断】を発動したまま、魔法陣の刻印を注視する。
入力パスの経路指定部分、魔法陣の右下、直径3センチほどの紋様。ここが、農地魔法陣との共有経路に接続している部分だ。
「ゴルドさん、ここの線を見てください」
リオンは、紋様の一部を指差した。
「この曲線が、南の方向、農地魔法陣の経路を指しています。これを東に30度ほど曲げてほしい。大気中から直接魔力を取り込む、別の経路に接続します」
「曲げるだけか?」
「はい。ただし、線の太さと深さは元と同じに。変わると魔力の流量が変わってしまうので」
ゴルドは目を細め、紋様を凝視した。
そして鑿を当て、慎重に、一打ち、一打ち、石を彫っていく。
リオンは横で【診断】を維持し、変化をリアルタイムで確認する。
「もう少し右に……そこです。深さはあと0.5ミリ……はい、ちょうどいい」
前世の障害対応と同じだった。
画面を見ながらオペレーターに指示を出す。コマンドを一つずつ確認しながら投入する。焦らず、確実に。
30分ほどで、作業は完了した。
「終わりました」
リオンは立ち上がり、膝の土を払った。
「もう直ったのか?」村長が信じられないという顔で聞いた。
「入力経路を分離しただけですから。あとは魔法陣が再起動すれば——」
言いかけた瞬間。
浄化魔法陣の紋様が、淡く光り始めた。
大気中の魔力を吸い込み、処理部が起動し、水が浄化され始める。
今度は農地魔法陣と干渉しない、独立した経路で。
「あ……動いた」
村人の一人が声を上げた。
水路に、澄んだ水が流れ始めた。
朝日を受けてきらきらと光る、浄化された水。
村人たちがざわめいた。
「嘘だろ……あんな一箇所直しただけで?」
「魔術師を呼ばなくても動いたぞ」
「しかも魔力を注入してないのに……」
リオンは村長に向き直った。
「これ、障害じゃなくて仕様の衝突だったんです」
村長は呆然としていた。
「仕様の……衝突?」
「元々の設計では問題なかったんですが、村が発展して魔法陣の使用量が増えた結果、経路がぶつかるようになった。魔力不足じゃなくて、道の取り合いです。だから魔力を足しても根本的には直らなかった」
「……つまり、今まで魔術師を呼んで魔力を注入してもらっていたのは——」
「応急処置としては間違いではないですが……原因を直さない限り、また止まります。今回、経路を分離したので、もう干渉は起きません」
村長はしばらく黙っていた。
それから、深くため息をついた。
「……お前、何者だ」
リオンは苦笑した。
「直しただけですよ、村長。大したことはしてません」
ゴルドが、腕を組んだまま唸っていた。
「なあ、リオン。お前、どうして原因がわかったんだ?」
「【診断】で見えたんです。魔力の流れが、どこでぶつかっているか」
「見えたって……おれは何十年もこの村で鍛冶をやってきたが、魔法陣の不調の原因がわかる人間を見たことがない。王都から来る魔術師だって、とりあえず魔力を足して帰るだけだ」
リオンは少し考えて、言葉を選んだ。
「たぶん、見方の問題です。魔術師は魔法陣を『魔法』として見る。だから、止まれば魔力が足りないと考える。でも僕は……魔法陣を『仕組み』として見てるんです。仕組みが止まるのには、必ず原因がある。魔力不足はその一つでしかない」
ゴルドは目を細めた。
「仕組み、か」
「ええ。鍛冶と同じですよ。刃が欠けたとき、『鉄が悪い』って決めつけず、打ち方、焼き入れ、研ぎ方——全部調べるでしょう?」
ゴルドは、ふっと笑った。
「……違いねえ」
そして、リオンの肩を叩いた。
「お前の腕は——本物だ。認めるよ」
リオンは少し驚いた。
ゴルドがそこまで認めてくれるとは思わなかった。
「……ありがとうございます」
その日の夕方。
村長の家に呼ばれた。
「リオン、礼をしたい」
「いえ、本当に大したことは——」
「月に銀ゼル10枚の出費が、なくなったんだ。村にとっては大きい」
村長の目は真剣だった。
「これからも、村の魔法陣を見てもらえないか。もちろん、報酬は出す」
「……えっと」
リオンは少し困った。
依頼を受けること自体は構わない。だが、前世の記憶が警告している。
一つ受けると、次が来る。次の次が来る。そして気づけば——。
「一つだけ条件があります」
「なんだ?」
「僕がいなくても対処できるように、手順書を作らせてください。誰でも読めるような、簡単なやつを。それと、作業するときは誰か見習いを付けてほしい」
村長は首を傾げた。
「手順書?」
「魔法陣が止まったときに、何を確認して、何をすればいいか、巻物に書いたものです。僕がいなくても、それを見れば最低限の対応ができるようにしたい」
「……なぜだ? お前がやれば早いだろう」
「僕一人に頼ると、僕が倒れたら誰も直せなくなります。それが一番怖いんです」
村長は、リオンの目を見た。
15歳の少年が、ひどく遠い目をしていた。
まるで——それを、身をもって経験したかのような。
「……わかった。手順書とやらを作ってくれ。見習いは……ガレンはどうだ。あいつは体力だけはある」
「ありがとうございます」
リオンは頭を下げた。
夜。
自室に戻ったリオンは、寝台に横になって天井を見つめていた。
今日の作業を振り返る。
水浄化魔法陣の障害対応。原因切り分けから修復まで、半日。
前世では同様の案件に3日かかったことがある。
違いは、【診断】スキルだ。
前世では、ログを解析し、パケットをキャプチャし、仮説を立てて検証し、試行錯誤を繰り返してようやく原因に辿り着いた。
でも【診断】は、直接「見える」。原因切り分けの工程を大幅に短縮できる。
「……これ、チートじゃないか?」
いや、チートとは少し違う。
見えるだけで、直せるわけではない。今日だってゴルドの腕がなければ修復できなかった。
それに、見えたところで「何が問題か」を判断する知識がなければ、ただのデータの羅列でしかない。
前世の知識と、【診断】スキルの組み合わせ。
それが——リオンの武器だ。
「……定時で帰りたいな」
呟いて、目を閉じた。
明日から、手順書を書き始めよう。
この世界初の魔法陣運用手順書を。
翌朝。
リオンは再び水浄化魔法陣を訪れた。
昨日の修正後、一晩経って問題がないか確認するためだ。
「【診断】」
魔力の流れは安定している。入力経路は独立し、農地魔法陣との干渉はゼロ。
浄化処理も正常。出力も安定。
「よし、問題なし」
リオンは記録帳に、診断結果を書き留めた。
日付、時刻、魔法陣名、各部の状態、魔力流量。
前世で何千回と書いた監視レポートと、同じフォーマットだ。
「……我ながら、変わらないな」
苦笑しながら、リオンは次の場所に向かった。
南の農地魔法陣も、念のため確認しておくべきだ。経路分離の影響で、こちらに問題が出ていないか。
歩きながら、リオンは考えていた。
この村には、魔法陣が12基ある。
今日直したのは、そのうちの一つ。
残りの11基にも、同様の問題が隠れている可能性がある。
いや、【診断】で見た限り、確実に隠れている。
特に防壁魔法陣。あれはシングル構成だ。予備がない。
止まれば、村は無防備になる。
「……先は長いな」
リオンは空を見上げた。
青く澄んだ空。前世では、データセンターの天井しか見えなかった。
少なくとも今は、空が見える。
それだけで、前世よりはマシだ。
リオンは歩みを進めた。
手にした羊皮紙に、最初の一行を書き加えながら。
「魔法陣運用手順書 第1版 ——はじめに」
この世界の魔法インフラ保守は、ここから始まった。
【あとがき】
「障害じゃなくて仕様の衝突」。ポート競合という地味な原因を、異世界で再現してみました。ゴルドとの共同作業は、SE×職人の理想形を描きたかった場面です。