第8話 誰がマイグレーション計画を書いたんだ
世界終了まで、あと86日と19時間。
魔界における、土曜日の夜。怒涛のようなエラーとトラブルに見舞われた週末の日中が嘘のように、第七ダンジョン管理室は奇妙なほどの静寂に包まれていた。
部屋の隅では大魔導コアの冷却機構だけが、低く規則的な寝息のような駆動音を立てている。
ガルム・フォン・アッシュは、自身のデスクで一人、深く、静かなため息を吐いた。
「……ようやく、静かになったな」
先ほど、限界を迎えていたゴブ太を含む新人たちを強制的に帰宅させた。彼らには休息が必要だ。そして何より、今のガルムには「誰にも邪魔されない、システムと一対一で向き合う時間」が必要だった。
手元には、完全にすっかり冷え切って薄い膜が張ったコーヒー。
メインモニターには、第七ダンジョンの第三層(隠しフロア)の果てに到達した勇者パーティの赤い光点が点滅している。彼らは今、第三層の最終ボスである名も無きゴーレムを危なげなく粉砕し、次なる領域である第四層へと続く巨大な転移陣(大ポータル)の上に立っていた。
勇者たちが第四層へ降り立てば、少なくとも明日の夕方までは物理的な罠の突破に時間がかかるはずだ。
そうすれば、ガルムも数時間ほどは椅子の上でまともな睡眠が取れる。
それでは、システム移行処理を開始します。
無機質なアナウンスと共に、モニター上の赤い光点が第四層のマップへと転送されるはずだった。
フッ……。
モニターの赤い光点が、何の音もなく、完全に消失した。
第四層のスタート地点の座標には、何も表示されていない。エラーを告げる派手なアラート音すら鳴らない。ただ、勇者パーティという存在そのものが、システム上から無になった。
「……は?」
ガルムのコーヒーカップを持つ手が、ゆっくりと下ろされる。
「トラッキングのロスト? いや、違う。これは……オブジェクトの未割り当て(Null)空間への落下だ」
ガルムは血の気の引いた顔で、即座にコンソールキーを叩いた。
モニターに、恐ろしいシステムログが緑色の文字で表示される。
Error:転送先座標(X: Null, Y: Null, Z: Null)を取得できませんでした。
Warning:対象オブジェクト(HERO-009含む4名)は現在、次元の狭間(未割り当てメモリ領域)に滞留しています。
「ふざけるな……!!」
ガルムの声が、深夜の管理室に虚しく響く。
次元の狭間。それは、どの階層のマップコードにも属さない虚無の空間。そこに生物が長期間放り出されれば、やがて整合性を失って崩壊する。
ただ勇者が死ぬだけなら万々歳だ。しかし、システム上で「勇者という巨大なバグ(イレギュラーオブジェクト)」が未処理の例外(Unhandled Exception)エラーを吐いたまま消滅すれば、第七ダンジョンの大魔導コア自体を巻き込んで致命的なクラッシュを引き起こす。
「なぜだ? 第三層から第四層へのポータル接続構文は、たしかに俺が就任する前に……前のPLが書いて『移行完了済み』としていたはずだぞ」
ガルムは立ち上がり、管理室の奥にある巨大な仕様書アーカイブ(物理棚)へと走った。
埃をかぶった分厚いバインダーの山から、『第七ダンジョン・第四層マイグレーション(移行)計画書』と書かれた色褪せた羊皮紙の束を引きずり出す。
それは、激務とプレッシャーに耐えきれずに逃亡したという、かつてのPL(前任者)が残した旧時代の遺産だった。
分厚い計画書をデスクに広げ、パラパラとページをめくる。
そこからガルムの目に飛び込んできたのは、技術者であれば誰もが発狂し、胃液を吐き出すような地獄の下書きだった。
第三層から第四層への座標変換マトリクスについて。
// TODO: あとでちゃんとした数式を書く。今はとりあえず仮の数字置いとく。
「……は?」
ガルムの声が震える。さらに下へと視線を落とす。
空間歪曲率の調整パラメータについて。
ここは俺たち運用チームの気合い(手動入力)でポータルを繋ぐ! なんとかなる! ヨシ!
「ヨシ!、じゃねえよ……!!」
バンッ!とガルムは拳を机に叩きつけた。
だが、絶望はまだ終わらない。前のPLの残した負債は、ページをめくるごとにその底なしの悪意(無能さ)を露わにしていく。
例外処理の基本方針について。
エラーが出たら、とりあえず全て『無視する(catch(Exception) {})』設定にする。エラーログが出なければ、上司にはバレない。
「ふざけるなッ! だからアラートも鳴らずに光点が消失したのかッ! システムの監視から逃れるために、意図的にお前はエラー通知を殺して蓋をしたのか!!」
魔法陣のバージョン互換性について。
旧仕様のver1.0と新仕様のver3.2は互換性がないが、間に適当なワッシャー(物理的な魔石)を挟んで無理やり通電させる。もし火花が出たらバケツで水をかけること。
「魔導コアは物理機械じゃねえんだよ!! バケツで水をかけたらショートして大暴発するだろうが!! こんな記述を本番環境のドキュメントに残す奴の神経が知れない!」
データテーブルのカラム追加に関するメモ。
既存のカラムを消すとどこでエラーが出るか分からないので、使わなくなったカラムの後ろに「NEW_要素1」「最新_要素2」「絶対に消すな_要素3」というカラムを無限に追加していく運用とする。
「お前のその場しのぎのせいで、データベースの検索速度が限界まで遅延してるんだろうが!! スパゲティコードどころじゃない、これはもはや泥団子だ!!」
そして、最悪な一文が、ページの終端に走り書きされていた。
※旧仕様(旧座標系)のままでも、とりあえず俺のテスト環境では動いたからヨシ! 移行は実質完了とする。明日は有給とる。その後は有給消化してそのまま退職する予定。後任の奴、頑張れよ。
「あのクソアマチュアがぁぁぁぁぁっ!!」
ガルムの口から、どす黒い呪詛が漏れ出した。両手で自らの顔を覆い、天を仰ぐ。
第四層より下の階層は、ガルムがPLとして着任するより前に作られた旧式サーバー(レガシーシステム)のままで稼働している。第三層までの新しい座標系と、第四層の古い座標系。その二つを結びつける最も重要なマイグレーションパッチ(変換テーブル)が、前任者の個人的な逃亡と怠慢によって完全に欠落していたのだ。
さらに最悪なことに、前任者は「エラーを隠蔽する」という最低最悪の設計思想でシステムを蓋して逃亡していた。
「怒っている場合じゃない。……やるしかないんだ」
ガルムは深く息を吐き出し、バカバカしい怒りを強制的にシャットダウンした。
今、彼は怒りも絶望も通り越し、ある種の「静かな悟り」の境地にあった。派手な魔法の被害もない。クレーマーの怒鳴り声もない。あるのはただ、過去の愚かな前任者が残した技術的負債と、それを黙々と片付けなければならない現在の中間管理職の悲哀だけだ。
ガルムは羽ペンをインク瓶に浸し、新しい羊皮紙をデスクに広げた。
大魔導コアのコンソールで、第三層の最新の座標変数と、第四層の古臭い座標変数を並べて表示させる。
「旧座標のZ軸が、新座標ではY軸に反転しているのか。……馬鹿げた設計だ。これを書いた奴は空間図形も理解していなかったのか?」
静かな管理室に、羽ペンが紙を引っ掻くカリカリという音と、大魔導コアのコンソールを叩くカタカタという音だけが響き渡る。
誰にも評価されない、誰に見られることもない、孤独なリバースエンジニアリング(逆行解析)の始まりだった。
「勇者パーティのNull空間内での生存限界時間まで、およそ6時間。それまでに、俺の手で新しいマイグレーションパッチ(変換数式)を書き上げて、システムに適用する」
ガルムの目は、もはや怒りに血走ってはいなかった。
そこにあるのは、システムと向き合う職人としての、極限まで研ぎ澄まされた冷たい集中力だ。
旧システムに残された無意味な変数を一つ一つ潰していく。
前任者が気合いと称した不確定要素を、完璧な数学(魔導式)のロジックに置き換えていく。
コーヒーが完全に冷え、その表面には油膜のような奇妙な模様が浮かび上がっている。
インク瓶の底はすでに三度も枯れ、予備の瓶を開けるたびに部屋干しした雑巾のような古いインクの匂いが鼻を突いた。
羽ペンの先は丸くすり減り、カリカリという音は、やがてゴリゴリという紙を削るような鈍い音へと変わっていく。
ガルムの姿勢は微動だにしない。だが、彼の内面(精神世界)では、果てしない思考の海が広がっていた。
孤独な夜の作業特有の、脈絡のない自問自答と走馬灯が脳内を駆け巡る。
俺はなぜ、こんなことをしているのだろう。
顔も見たことのない前任者の尻拭い。何も分かっていないクセに怒鳴り散らすだけの顧客とベンダー。そして、世界を壊し続ける理不尽で厄介な勇者。自分という歯車が一つ欠けたところで、魔王軍は代わりの泥人形を用意するだけではないのか。
学生時代に夢見ていた『世界を統べる大魔導士』の輝かしい姿は、いつから『他人の残したゴミコードを徹夜で掃除するだけの名もなき清掃員』に成り下がってしまったのか。俺がやっていることは、一体誰のためになるというんだ。魔王のためか? いや、魔王すらこの旧式システムの構造など一ミリも理解していないだろう。
だが、それでも。
ガルムの頭の中では、膨大な三次元の座標系が複雑に絡み合い、それが己自身の紡ぐ美しいパッチの数式によって少しずつ解きほぐされていく快感があった。
一つ、また一つと手付かずだったエラー変数がクリアされ、システムが本来持つべき「機能美」を取り戻していく。
「誰も見ていなくても。誰も理解してくれなくても。……俺が直さなければ、この世界というシステムは美しくない」
職人としての矜持。もはやそれだけが、今のガルムを支える唯一の魔力だった。
「……よし。変換マトリクスの基礎ができた。あとはこれを、勇者たちのアクティブなセッションに割り込ませて……」
ガルムの痛む指先が、鍵盤を奏でるピアニストのようにコンソールの上を滑る。
やがて、管理室の重い鉄扉の隙間から、白々とした光が差し込み始めた。
長かった魔界の夜が明け、朝が訪れようとしていた。
「……実行ッ」
ガルムの、ひび割れた血の滲む唇から、静かで、しかし確かな重みを持った声が響いた。
ターンッ!!
羽ペンを置き、コンソールの実行キーを静かに叩き切る。
数秒の、永遠にも似た沈黙。
そして。
システム移行パッチ、適用完了。対象オブジェクト(HERO-009含む4名)の座標変換シーケンスを再開します。
大魔導コアの柔らかなアナウンスと共に、メインモニターの第四層スタート地点に、鮮やかな四つの赤い光点がポンッ、と音を立てて再表示された。
「……」
ガルムは背もたれに深く寄りかかり、はぁ、と息を吐いて天井を見上げた。
勇者たちは、自分たちが世界の狭間から間一髪で救い出されたことなど、一生知ることはないだろう。彼らにとっては、単に「転移の魔法陣がちょっとバグって一瞬だけ長く光った」程度の認識でしかない。
誰にも感謝されない。賞賛されることもない。誰の記憶にも残らない。
それが、インフラ(システム)を陰で支え、世界を守り続ける技術者の宿命だ。
「……不味いな。このコーヒー」
ガルムは一口だけ残っていた冷え切った泥水を飲み干し、誰もいない部屋で静かに笑った。
怒涛のトラブルへの対処ではない。過去の遺産(負債)をこの手で浄化し、世界をあるべき姿に保ったという、技術者としてのささやかな達成感だけが、枯れ果てた心に少しだけ優しく沁み渡った気がした。
モニターの片隅。
世界終了のカウントダウンが、朝日を浴びて静かに時を刻んでいる。
世界終了まで:86日と10時間。




