第38話:嵐の前のコンパイル
【32:06:11:48】
三十二日。
冬が深まり、王都に初雪が降った。
白い結晶が、窓ガラスの外でゆっくりと舞い落ちていく。
美しいはずの光景だが、僕の目にはそれすら「テクスチャの粒子」に見えてしまう。
職業病だ。
「……案46、不適合。泉の連鎖起動が必要なため、単独では成立しない」
僕は羊皮紙の束に×を付けた。
四十六回目の失敗だ。
研究所から持ち帰ったデータをどう計算しても、リナを救う方法が出てこない。
残る選択肢は、二つ。
一つは、学年末式典の日に研究所の最深部へ侵入し、盟約の完全なソースコードを手に入れること。
もう一つは——
僕は机の引き出しを開けた。
中には、小さな結晶細工が一つ。
五年前、聖地での修行中に内緒で削り出した、石英の指輪だ。
リナに渡そうと思って、ずっと持っていた。
だが、渡すタイミングがなかった。
いや、正確には——渡す覚悟がなかった。
(この先、僕がどうなるか分からない。……渡してしまったら、「約束」になる)
約束は、破れない契約だ。
履行できない約束を結ぶのは、例外処理のないtry-catchブロックと同じだ。
エラーが起きた時に、何も返せない。
僕は引き出しを閉じた。
今は、まだ。
◇
「レイン。……散歩、行かない?」
午後、リナが研究室に顔を出した。
最近、彼女はよく僕を外に連れ出そうとする。
籠もりきりの僕を心配しているのだろう。
「……いいぞ」
たまには頭を冷やすのも悪くない。
僕はコートを羽織り、リナと並んで雪の王都を歩いた。
白い息が混ざる。
街路樹は枯れ、石畳は薄く雪化粧をしている。
商店街ではクリスマスらしき飾り付けが始まっていた。
この世界にもクリスマスに似た祝祭があるらしい。
「ねえ、レイン」
「ん?」
「学年が終わったら、どうする?」
突然の質問に、足が止まった。
「……まだ考えてない」
「私はね、先生になりたいの」
「先生?」
「うん。小さい子に、魔法を教えるの。イニット村みたいな田舎にも、ちゃんとした先生がいたらいいなって」
リナが遠くを見つめる。
その横顔に、雪が一片、溶けて消えた。
「レインが昔、私に計算を教えてくれたでしょ。あの時すっごく嬉しかったんだ。世界が広がった感じがして。……あの気持ちを、他の子にも教えてあげたい」
僕は答えられなかった。
彼女の「この先」が存在するかどうか、今の時点では保証できない。
だが——
「いい先生になるよ、お前なら」
嘘じゃない。
心の底から、そう思った。
だから、彼女のその未来を実現するために、僕は戦う。
「へへ。レインは? レインも先生になる? 二人で学校作ろうよ」
「……それは、まあ。考えておく」
リナがにかっと笑う。
その笑顔を見るたびに、胸の中の「守りたい」というプロセスが優先度を上げる。
◇
帰り道。
エララが校門前で待っていた。
珍しく、真剣な顔をしている。
「レイン。教会の監査日程が確定したわ」
「いつだ」
「学年末式典の当日よ。全在学生の魔力測定を、式典と併行して実施するとのことよ」
式典当日。
VMの隠蔽が持つかどうかの瀬戸際だ。
`[Status: Awakening (82%)]`
`[VM Integrity: 23%]`
八十二パーセント。
VMの残存耐久も二割強。
式典当日まで保つとは思えない。
「エララ。一つ頼みがある」
「何よ」
「式典の直前、リナを講堂から出せるか」
「……どういうこと?」
「体調不良を理由に、開式直前にリナを退席させる。そのまま監査をすり抜けて、地下へ向かうんだ」
エララが少し考えてから、頷いた。
「分かったわ。保健室の魔導医にも話を通しておく。……でも、一度怪しまれたら終わりよ」
「分かってる。だから、その日のうちに全てを終わらせる」
エララが僕をじっと見つめた。
「レイン。あなた、何をする気なの?」
「世界のバグを、直す」
「……大きく出たわね」
「エンジニアってのは、大きいバグほど燃えるんだよ」
エララは呆れたように笑った。
だが、その笑顔の奥に、信頼の色があった。
◇
夜。
寮の自室で、僕は最後の作戦計画を書き上げていた。
『学年末式典当日の行動計画:
①式典開始と同時にラグ魔法を展開。混乱を誘発
②ミオが情報撹乱。教会騎士団の通信を妨害
③リナを連れ出す。地下通路から旧市街へ
④エララが表で時間稼ぎ。公爵家の権限で騎士団を足止め
⑤研究所の最深部へ侵入。管理者専用区画の防壁を突破
⑥盟約の完全データを入手。最終手段を実行する』
最終手段。
それが何を意味するのか、今はまだ考えたくない。
だが、最深部に辿り着けば答えが見つかると信じるしかない。
引き出しの中の石英の指輪が、微かに光った気がした。
気のせいだろう。
だが——もし全てがうまくいったら、あの指輪を渡そう。
「全てがうまくいったら」。
エンジニアがその言葉を使う時、大抵うまくいかないことは知っている。
それでも。
僕はペンを置き、窓の外を見た。
雪が止み、星が見えた。
赤い数字が、星空の隅で静かに点滅している。
【32:00:47:55】
三十二日。
それが、僕たちに残された最後の猶予だった。
【今節の専門用語解説】
・コンパイル(Compile)
プログラムのソースコードを、コンピュータが実行できる形に変換すること。コンパイルが成功して初めてプログラムは動く。レインが「作戦計画を書き上げた」段階は、まだ実行前の「コンパイル」——全てのコードが正しいかどうかは、実行するまで分からない。
・try-catchブロック
プログラムでエラーが発生した場合に備える構文。try(試行)の中でエラーが起きたら、catch(捕捉)で処理する。レインが「約束」を避けているのは、約束が破られた場合のcatch(救済措置)を持っていないから。
・例外処理(Exception Handling)
プログラムの実行中に発生する想定外のエラーに対処する仕組み。例外処理がないプログラムは、エラーが起きた瞬間にクラッシュする。レインの計画にも、失敗した場合のバックアッププランが不足している。




