表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
世界が落ちる前に ~勇者が魔王と戦っている裏で、異世界がバグらないようにひとりで回してます。なお前任の神は辞めたそうです~  作者: あべのちょふ


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

PR
16/36

第16話「神が遺した言葉」

 深層の闇の中で、俺はコメントを読み続けていた。


 世界を動かしている根幹のコードは、数千年前に書かれたまま一度も修正されていない。ドキュメントもない。バージョン管理もない。でも、コードの隙間に、書いた人間の言葉が残されていた。


 注釈。プログラムの動作には影響しない、作り手が自分のために書き残したメモ。前の世界でも、コードの合間に同じようなものがあった。「ここは後で直す」「この処理は暫定」「なぜこうしたか忘れないために書いておく」——エンジニアの独り言が、コードの中に化石のように残る。


 前の世界では、こうした古いまま放置されたコードの山を、遺産のようなコードと呼んでいた。誰も触りたがらない。壊すのが怖いから。でも動いている。だから放置される。放置された時間が長いほど、手を入れるのが難しくなる。


 エルディアスのコメントは、その遺産そのものだった。


 最初に見つけた二つはもう読んだ。


 `// TODO: いつか直す`


 `// この実装は美しくない。だが動く`


 どちらも、エンジニアなら見覚えのある言葉だ。でも、この先に続くコメントは——違った。


          * * *


 俺はコードの奥へ進んだ。深層の空間は暗く、コードの文字列が淡い光を放つだけだ。浮遊するコードの断片の間を縫うように、古い処理のブロックを辿っていく。


 三番目のコメントが見えた。


 `// 彼らは予想以上に面白い`


 「彼ら」——住人のことだろう。エルディアスは世界と住人を作った。住人の行動が、予想を超えて複雑になっていった。面白い、という言葉に、驚きと愛着がにじんでいた。


 コメントの近くには、住人の行動パターンを処理するロジックが走っていた。驚くほど複雑だ。住人の感情、記憶、選択——それらを処理するための分岐が無数に重なっている。最初はもっとシンプルだったのだろう。でも、住人が複雑になるにつれて、処理も複雑にならざるを得なかった。


 追加されたコードの層が、幾重にも重なっている。最初の設計を壊さないように、その上に新しい処理を積み重ねていった痕跡。応急処置の上に応急処置。それが数千年分。


 前の世界では、こうした積み重ねを技術的な借金と呼んでいた。今は動く。でも、直さないまま先送りするたびに、借金は利子を生んで膨らむ。いつか返済しなければならない日が来る——でも、その日は来ないまま、借金は積み上がり続ける。


 エルディアスの世界は、数千年分の借金を抱えていた。


「ノード」


「……はい」


 ノードの声が、さっきからどこか遠い。


「大丈夫か」


「えーと……大丈夫、です。ただ、このコメントを読んでいると——なんか、頭の奥がずっと光ってるみたいな感じで……」


「無理するな。離れた方がいいなら——」


「いえ。いてください。わたしは——見たいんです。エルディアス様が、何を書き残したのか」


 ノードの声には、静かな決意があった。


          * * *


 四番目のコメントは、世界の劣化に関する処理の近くにあった。


 `// 失敗した。もう手遅れかもしれない`


 短い一行だった。でも、その前後のコードを読むと、意味が見えてきた。


 世界の基盤が劣化していく——その速度を、エルディアスは計算していた。劣化は止められない。時間が経つほど加速する。最初は数千年かけて少しずつ。でも、やがて数百年、数十年と短くなり——最後は、一年もたずに崩壊する。


 エルディアスはそれを知っていた。知っていて、止められなかった。


「……失敗した、って」


 ノードが呟いた。


「エルディアス様は——この世界が、いつか壊れることを知っていたんですか」


「そう読める」


「じゃあ——わたしたちが今やっていることは——」


「壊れかけの世界を、なんとか持たせようとしている。エルディアスが先送りした問題を、俺たちが今、引き受けている」


 ノードが黙った。


          * * *


 五番目のコメントは、もっと深い層にあった。


 世界の根幹——住人の生成と消滅を管理する処理のすぐそば。その中に、一つの機能が埋め込まれていた。


 世界の存続を判定する機能。


 定期的に実行される。世界が所定の負荷に耐えられるかを試す。耐えられれば、世界は「まだ動ける」と判定される。耐えられなければ——終了処理が走る。


 そのコードの横に、コメントがあった。


 `// 終了判定。住人が抵抗できる形にした。せめてもの`


 俺は画面を凝視した。


 コードを読み進めた。終了判定の処理は、驚くほど丁寧に書かれていた。深層の他のコードは応急処置の山なのに、この機能だけは——きれいだった。設計に迷いがない。何度も書き直した痕跡がある。エルディアスが最も時間をかけた機能だということが、コードの密度からわかった。


 「住人が抵抗できる形」——まさか。


 世界の存続を判定するテスト。定期的に負荷をかけて、世界が耐えられるかを確認する。そのテストを、エルディアスは「住人が戦える形」にデザインしていた。機械的な判定ではなく、住人が抵抗できるように。勇者が立ち向かえるように。倒すことで「世界はまだ健全だ」と証明できるように。


 もしこのコードが今も動いているなら——魔王は、敵ではないのかもしれない。


 世界が生き残るための、試験として設計された何か——なのかもしれない。


「ノード——」


 振り返った。


 ノードの目が——光っていた。


 普段の淡い青白い光ではない。深い金色が、瞳の奥から湧き出している。体の輪郭が一瞬ぶれた。ノイズが走ったように、姿が乱れて——すぐに戻った。


「ノード!」


「……ッ——」


 ノードが自分の頭を押さえた。金色の光がゆっくりと薄れていく。


「……すみません。今——何か、思い出しかけました」


「思い出した?」


「えーと……エルディアス様が、この機能を作ったときのことが。わたし、そばにいたんです。あの方が——住人が抵抗できる形にしたいって、すごく悩んでいたのが——」


 ノードの声が震えた。


「あの方は、世界を終わらせたくなかったんです。でも——終わりが来ることは避けられないから、せめて、住人の手で運命を変えられるようにしたかった。試験に合格すれば、終わりは先延ばしにできる。住人が強ければ、世界は続く——」


 ノードの目から、金色の光が消えた。代わりに、いつもの青白い光が戻った。


「……あっ。すみません。今、何を——」


「大丈夫か」


「えーと……はい。大丈夫です。でも——今言ったこと、あんまり覚えてなくて……何か言いましたっけ」


 いつものノードに戻っていた。フラッシュバックの記憶は、本人に残らないらしい。


「エルディアスが、世界の終了判定を作ったとき、そばにいたと言っていた」


「……そう、ですか。わたしが?」


「ああ」


 ノードが少し黙った。


「えーと……覚えてません。でも、さっき頭の奥が光ったとき——すごく懐かしい感じがしました。怖いんじゃなくて、懐かしい」


 ノードの体の輪郭が、まだ少しだけ揺れていた。フラッシュバックの余韻が消えきっていない。でも、怯えている様子はなかった。むしろ——安堵のような表情だった。


「ノード、痛かったか」


「えーと……痛くはなかったです。ただ、光がすごくて。目の奥にずっと残ってるみたいな感じで……でも不思議と、嫌じゃないんです。もっと見たかった、って思って」


 エルディアスのそばにいた記憶。数千年前に失われた記憶が、深層のコメントに触れて蘇りかけている。ノードの中に、まだエルディアスとの繋がりが残っている。


          * * *


 最後のコメントは、深層の一番奥にあった。


 `// 次に来る者へ。すまない`


 俺はその一行を、しばらく見つめていた。


 エルディアスは知っていた。世界が壊れることを。借金が返せないほど膨らむことを。終了判定がいつか不合格を出すことを。


 でも、止められなかった。だから——去った。次に来る誰かに、すべてを託して。


 ドキュメントも引き継ぎもなく。


 前の世界でも同じだった。限界まで抱え込んで、ある日突然いなくなる。残されたチームは、引き継ぎのないコードの山と、期限のない「TODO」の群れに囲まれて、どこから手をつけていいかわからなくなる。


 でも——恨む気にはなれなかった。


 エルディアスのコメントを読んで、わかった。この人は世界を愛していた。住人を面白いと思っていた。終わらせたくなかった。だから終了判定を「住人が戦える形」にした。


 でも、自分の失敗を許せなかった。借金が積み上がっていくのを見ながら、返し方がわからなくなった。そして——去った。


「ノード」


「はい」


「エルディアスは、俺たちに謝っている。でも、謝るべきは——いや」


 俺は言葉を飲み込んだ。


 誰が悪いとか、誰の責任だとかは、今は関係ない。大事なのは、今ここにある問題だ。


 もし魔王が、世界の終了判定だとしたら。定期的に負荷をかけて、世界が耐えられるかを試している存在だとしたら。勇者が倒せれば合格。倒せなければ——世界が終わる。


 そして今、魔王軍の侵攻が過去最大の規模で世界を試している。処理能力は95%。あと半日で限界に達する。


 この仮説が正しければ——世界が不合格を出したとき、終了処理が走る。


「ノード」


「はい」


「まだ読んでいないコメントがある。エルディアスが深層に何を残したか、全部読む必要がある。解決の手がかりが、この中にあるかもしれない」


「……わかりました」


「それと——お前が思い出しかけたことも大事だ。エルディアスのそばにいたお前の記憶が、鍵になるかもしれない」


 ノードが少し黙ってから、頷いた。


「えーと……わたし、全部は思い出せません。でも、悠真さんがここにいてくれるなら——もう少し、光の中に入ってみようと思います」


 深層の闇の中で、エルディアスの言葉が光っていた。


 「次に来る者へ」——それが俺だ。


お読みいただきありがとうございます。


【今回のIT用語】

レガシーコード:長い年月にわたって動き続けてきた古いコードのことです。誰も全容を把握していない、ドキュメントがない、修正すると何が壊れるかわからない——多くのエンジニアにとって「触りたくないが、触らなければならない」存在です。エルディアスが数千年前に書いたコードは、まさにこの状態でした。


技術的負債:「今は動くけど、後で直す」と先送りした問題が借金のように蓄積していくことです。利子のように膨らみ、返済を先延ばしにするほど手がつけられなくなります。エルディアスの`// TODO: いつか直す`は、数千年分の利子がついた借金でした。——ちなみに「いつか直す」は永遠に直されない、というのはエンジニアの間では定説です。


次話「巻き戻すか、前に進むか」もよろしくお願いします。

感想・ブックマークいただけると励みになります。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ