第5話:例外処理(エマージェンシー・パッチ)
杖の一件から数日後。
僕は懲りずに、また魔法の検証を行っていた。
ただし今回は、ソロプレイではない。
「ねえレイン! 見ててね、私の新しい魔法!」
幼馴染のリナ――本名、リナ・メモリが得意げに杖を構える。
場所はいつもの裏庭だ。
栗色の髪を二つに結った五歳の少女は、最近魔法の才能を開花させつつあった。
村の子供たちの中では一番の出力を持っているらしい。
「うん、見てるよ」
僕は芝生に座り込み、頬杖をついて彼女を見た。
リナは僕の隣家の子で、生まれた時からの付き合いだ。
同い年ということもあり、僕が引きこもって魔導具いじりをしていると、よくこうして邪魔……もとい、遊びに来る。
彼女は僕が「普通の子じゃない」ことをなんとなく察しているらしく、僕の奇行(独り言や空中の見えない画面を操作する仕草)を見ても引いたりしない、貴重な友人だ。
「えへへ、レインに褒めてもらえるように特訓したんだから!」
リナは鼻息も荒く、愛用の杖(これはちゃんとした既製品だ)を掲げた。
彼女の魔力制御は、正直に言って「雑」だ。
ソースコードで言えば、インデントがガタガタで、変数名が `a` とか `b` とか適当な感じ。
動くには動くが、いつバグってもおかしくない。
「いくよ……《ウィンド・カッター》!」
リナが可愛らしい声を上げる。
だが、生み出された現象は可愛くなかった。
ヒュオオオオオッ!!
大気が悲鳴を上げ、鎌いたちが発生する。
無数の風の刃が、彼女の周りで不規則に乱舞し始めた。
(……出力が高い。リナの魔力量は、同年代の平均値を遥かに超えている)
だが、それゆえに危険だ。
制御できていないエネルギーは、暴走する原子炉と同じだ。
(……パラメータが不安定だ。風のベクトル定義が甘い)
僕の『低レイヤー・ビジョン』が、警報を鳴らす。
【Warning: Unstable Process Detected.】
【Error: Stack Overflow predicted in 3 seconds.】
風の魔力が、周囲の大気マナと共鳴を起こし始めている。
変なループに入りかけている。
プログラミングで言う「無限ループ」に近い状態。
計算が終わらず、際限なく魔力を吸い上げ、回転数を上げ続けている。
「リナ、ストップ! 処理を中断して!」
僕は叫んだ。
「えっ? でも、まだ……」
「いいから止めて! 暴走する!」
僕が駆け出そうとした、その時だった。
キィィィィン……!
極高周波の共鳴音。
空間が歪むほどの高エネルギー反応。
リナの杖の先で、風の刃が制御を失い、不規則に回転を始めた。
それはもはや魔法ではない。
暴れまわる「見えない凶器」だ。
「きゃっ……!?」
リナが杖を取り落とす。
だが、一度暴走したプログラムは止まらない。
行き場を失った風の刃が、一番近くにある「魔力源」へと牙を剥いた。
つまり、リナ自身だ。
「リナ!!」
ドッ、と衝撃が走る。
風の刃が弾け飛び、リナの小さな体を吹き飛ばした。
彼女の体が宙を舞い、地面に叩きつけられる。
芝生が赤く染まるのが見えた。
「うっ……うあああああ……っ!」
砂煙が晴れた後、そこにあった光景に、僕の血の気が引いた。
血まみれのリナ。
右腕が、ありえない方向に曲がっている。
さらに悪いことに、風の刃によって二の腕の肉が深く抉られ、白い骨が見えていた。
動脈をやられている。プシューッ、と勢いよく鮮血が噴き出している。
「あ、あ、いたい、いたいよぉ……」
リナが泣き叫ぶ。
その声も次第に弱々しくなっていく。
出血性ショックだ。このままだと数分で死ぬ。
(……通常のヒールじゃ間に合わない。組織の欠損が激しすぎる)
一般的な治癒魔法は、自己治癒力を加速させる「リジェネレーション」タイプ。
だが、ここまで破壊されたハードウェア(肉体)には、再生速度が追いつかない。
もっと根本的な、システムレベルの「復元」をかけるしかない。
(毒の除去と組織の再生を同時にやる必要がある。いや、再生じゃない。『書き換え』だ)
そんな高度な医療魔法、この村の医者はもちろん、王都の高位聖職者だって使えるかどうか。
僕がやるしかない。
だが、それは「禁忌」だ。
人体の構成情報(DNA)に、管理者権限(Root)で直接アクセスして書き換える。
今の僕の貧弱なハードウェアでそれをやれば、どうなるか。
(……脳が焼けるかもしれない。最悪、廃人だ)
恐怖がよぎる。
リナを見捨てて逃げれば、僕は助かる。
大人を呼びに行けば、言い訳も立つ。
だが。
「……レイン……?」
薄れゆく意識の中で、リナが僕の名前を呼んだ。
その信頼しきった瞳を見た瞬間、僕の中で「生存本能」というプロセスが強制終了された。
理屈じゃない。
バグを放置してデプロイするなんて、エンジニアの恥だ。
(知るかよ! 後のことなんて!)
僕はリナの血まみれの腕を掴んだ。
リミッター解除。
全魔力回路、オーバードライブ。
【Alert: CPU Temperature rising. Cooling system inactive.】
【Warning: Life Support System at critical level.】
視界が真っ赤なエラーログで埋め尽くされる。
脳が沸騰するような熱さ。
鼻血どころか、目からも耳からも血が滲むのが分かる。
「……構成、定義……再構築……!」
僕は叫ぶようにコマンドを打ち込む。
リナの傷口に、僕の魔力を侵入させる。
彼女の「生体コード」を読み取る。
**Function:** Emergency_Repair (Target: Lina)
**Step 1:** Stop Bleeding (Convert Liquid -> Gel)
**Step 2:** Bone Structure (Revert to Backup State - 5 min ago)
**Step 3:** Muscle & Nerve (Link Objects)
**Step 4:** Skin (Generate Texture)
バチバチバチッ!
僕の体から、青白い火花が散る。
許容量を超えた魔力が、僕の神経を焼き切ろうと暴れまわる。
(痛い痛い痛い痛い! 腕が捥げる! 頭が割れる!)
自分の腕が炭化していく錯覚に襲われる。
だが、接続は切らない。
リナの細胞の一つ一つを「オブジェクト」として認識し、正しい位置へと再配置していく。
血管を繋ぎ、神経を通し、皮膚を被せる。
神の御業にも等しい「創造」のプロセス。
そして、永遠にも思える数秒が過ぎた。
「……っ……はぁ、はぁ……」
リナの腕から傷が消え、綺麗な肌が戻っていた。
成功だ。
コンパイル、完了。
エラーなし。ワーニングなし。
「……レイン? 私、あれ……?」
リナが不思議そうに体を起こす。
痛みも消えているはずだ。
その顔を見て、僕は安堵の笑みを浮かべ――ようとして、できなかった。
視界が暗転する。
地面が近づいてくる。
世界が回る。
「えっ、レイン!? 鼻血が……すごい熱!?」
リナの悲鳴が遠く聞こえた。
ああ、やっぱりダメだったか。
ハードウェア・クラッシュ。
システム、ダウン。
(……リナが助かったなら、まあ……いいか……)
意識の底に沈みながら、僕は深く後悔した。
もっと体を鍛えておけばよかった。
もっと効率的なコードを書いておけば、こんな無茶な書き換えをしなくて済んだのに。
自分の無力さが、何より悔しかった。
次に目が覚めたとき、一週間が経過していたことを知った。
そして、この一件は確実に、僕の「異常性」を村中に知れ渡らせてしまっただろう。
これが、僕の平穏な引きこもりライフ(開発期間)の終わりの始まりだった。
【今節の専門用語解説】
・管理者権限(Root / Administrator)
システムのすべてを変更できる最強の権限。通常はシステムの根幹に関わるため、一般ユーザーには開放されていない。レインはリナを救うため、この権限を無理やり行使して「人体」というシステムを書き換えた。
・例外処理(Exception Handling)
プログラム実行中に予期せぬエラー(例外)が起きた時、システムを止めずに別の対処を行うこと。レインはリナの暴走事故という「例外」に対し、自己犠牲という緊急パッチで対応した。
・デプロイ(Deploy)
開発したシステムを利用可能な状態にすること。レインにとって、リナを完治させて日常に戻すことは、バグのない完璧な製品をリリース(デプロイ)するのと同じ意味を持つ。




