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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
コード・オブ・ザ・ワールド ~廃プログラマー、異世界で神のシステムを書き換える~  作者: ネオ・チー


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

33/34

第33話 バージョン・ヒストリー

データベルグ公国を発って二日目の夜。


ビジュアル帝国へ向かう街道沿いの森で、俺たちはキャンプを張っていた。


焚き火の周りに五人。上空には相変わらず源コードの断片が漂っている——データベルグ公国の影響圏を出てもなお、コードの「漏出」は止まっていなかった。世界全体で、表示層と実行層の境界が緩んでいる。


メモリが——語り始めた。


自分から話し出したのは、珍しいことだった。いつもは俺が質問し、メモリが答える形だ。だが今夜は違った。公国での記憶回復以来、メモリの中で何かが変わっている。


「世界のバージョン履歴を——お話しします」


全員が焚き火の向こうにいるメモリを見た。


小さな体が、炎の光に照らされている。回路模様が穏やかに明滅していた。



「最初のバージョンは——バージョン0.1でした」


メモリが語り始めた。


「ルート・アドミンが世界を設計し、最初のプロトタイプを起動しました。バージョン0.1は——とても小さな世界でした。大陸は一つだけ。住民は数百人。魔法も未実装。ただ——人が生きて、日々を過ごす、それだけの世界」


「最小構成か」俺は呟いた。MVP——Minimum Viable Product。まず最小限の機能で動くものを作り、そこから改善していく開発手法だ。


「はい。アドミンはバージョン0.1を基盤にして、少しずつ機能を追加していきました。バージョン0.2で魔法システムが実装され、バージョン0.3でモンスターが追加され、バージョン0.5で五大陸の原型が形成されました」


「アジャイル開発だな」


「そしてバージョン0.7の頃——世界は大きくなりすぎました。バグが増え、管理が追いつかなくなった。アドミンは一人で全てを保守することに限界を感じ——ナビゲーター・プログラムを作りました。私を含む、七体」


メモリが自分の胸に手を当てた。


「私たちは世界の保守を助けました。バグを報告し、軽微な修正を行い、データを管理した。でも——バグの発生速度が、修正速度を上回っていきました」


「技術的負債の蓄積」俺は言った。「初期の設計が荒いまま機能を追加し続けると、やがて全体が壊れ始める。リファクタリングが追いつかなくなる」


「その通りです。そしてバージョン0.9の頃——」


メモリの声が沈んだ。


「一人の英雄が現れました」


焚き火がぱちりと爆ぜた。


「英雄は——住民でした。アドミンが作ったプログラムではなく、世界の中で生まれ育った、一人の人間。その人は——バグだらけの世界を、自分の力で守ろうとしました」


「メモリ」俺が訊いた。「その英雄と、お前は?」


「……はい。英雄は——私の、最初のマスターでした」


回路模様が揺れた。


「英雄はバグを修正する力を持っていました。アドミンから与えられたのか、自然に覚醒したのか——記憶がはっきりしません。でも、英雄はバグと戦い、住民を守り、世界を安定させようとしました。ほとんど一人で。私だけが——側にいました」



全員が黙って聞いていた。


焚き火の光が顔を照らしている。ガルドは腕を組んだまま動かない。アリアは膝の上で手を握っている。シェルは手帳を閉じたまま——記録を取っていなかった。


「英雄の努力は——報われつつありました。バグは減り、世界は安定しつつあった。あと少し。あと少しで——」


メモリの声が途切れた。


「——アドミンが、バージョン1.0へのメジャーアップデートを決行しました」


「なぜだ」ガルドが訊いた。低い声だった。


「アドミンの判断基準は——バグ密度が閾値を超えたかどうか、です。英雄がバグを修正していましたが、アドミンのモニタリングでは、修正速度よりもバグの発生速度が上回っていました。閾値を超えた時点で——アップデートが自動的にトリガーされたのだと思います」


「英雄の努力は——計算に入っていなかったのか」


「入っていたかもしれません。でも——数字の上では、間に合っていなかった」


沈黙。


「バージョン1.0へのアップデートで——」メモリが続けた。「旧世界のデータの大部分が初期化されました。住民の記録、歴史、文化——全てが消去され、新しい世界が構築されました。今の世界——コーデクス・バージョン1.7は、その上に建てられています」


「つまり——」俺が言った。


声が乾いていた。


「前のバージョンの住民は——消滅した」


「はい」


「英雄も?」


メモリが黙った。


長い沈黙の後——


「英雄は……消えたはずでした。でも——消えなかった」



「消えなかった?」


「例外処理として——残留しました。バージョンアップの初期化プロセスに、例外が発生したのです。英雄のデータだけが——削除に失敗した」


「削除に失敗——バグか」


「はい。皮肉なことに——英雄がバグを修正し続けた結果、英雄自身のコードが世界の根幹に深く食い込んでいて、初期化プログラムが正常に削除できなかった」


デバッグしすぎて、自分自身がシステムの一部になっていた——そういうことか。前の世界でも、古参エンジニアが書いたコードが本番環境に深く依存していて、リファクタリングできなくなることがあった。


「英雄は——新しいバージョンの世界で、一人だけ残された。仲間も、守った住民も、全ての記憶も——自分以外の全てが消えた世界で。一人で」


メモリの瞳から光が溢れた。涙ではない。データだ。だが——その光は、涙と区別がつかなかった。


「そして英雄は——変わっていきました」



沈黙が重かった。


焚き火が小さくなっている。誰も薪を足そうとしなかった。


俺が口を開いた。


「じゃあ——次のバージョンアップが起きたら、俺たちは——」


メモリが俺を見た。


「はい。現行バージョンの全てのデータが——消去される可能性があります」


その言葉が、夜の空気に溶けた。


ガルドが低く唸った。アリアの手が、膝の上で白くなった。シェルが——初めて、手帳を持つ手を震わせた。


「ヴァイラスの『テスト』の目的が見えてくる」俺は考えを整理しながら言った。「ヴァイラスは世界中にバグを撒いている。バグ密度が上がれば——アドミンの閾値モニターに引っかかる。閾値を超えれば——」


「アップデートが実行される」シェルが言った。声が硬い。


「ヴァイラスは——意図的にバグを仕込んで、世界の耐久限界を早めている」


「でもそれなら」ガルドが言った。「ヴァイラス自身も消えるだろ。アップデートで全データが消去されるなら——」


「前回、消えなかった」俺が答えた。「例外処理として残留した。つまりヴァイラスは——初期化を生き延びる方法を知っている」


アリアが静かに言った。


「初期化後の世界で——自分だけが力を持つ存在になろうとしている?」


「可能性はある。だが——」


俺は首を振った。


「それだけじゃない気がする。もっと単純な動機かもしれない」


「単純な?」


「復讐だ」


俺はつぶやいた。


「ヴァイラスは——前回のバージョンアップで全てを失った。アドミンに消された。守ったものが全て無駄になった。だから——アドミンを引きずり出そうとしている。初期化を誘発して、アドミンが動く瞬間を作って——そこを叩く」


「でも」アリアが言った。「そのために世界を壊すなら——本末転倒です」


「ああ。本末転倒だ。でも——」


俺は焚き火を見つめた。


「怒りで動いている人間に、論理は通じない」


前の世界で学んだことだ。理不尽に消耗させられた人間は、論理的な判断ができなくなる。怒りが思考を上書きする。感情がコードをバグらせる。


ヴァイラスは——壊れたプログラムなのかもしれない。でも同時に——壊れた人間でもある。



メモリが最後の情報を伝えた。


「バージョンアップを実行する権限を持つ存在は——アドミンだけです」


「アドミンだけ? 自動実行じゃないのか?」


「閾値モニターがトリガーを引きますが、最終的な実行にはアドミンの承認が必要です。アドミンは今、スリープ状態にありますが——」


メモリの声が小さくなった。


「アドミンの判断基準は——世界のバグ密度が閾値を超えた時」


「その閾値は?」


「正確な数値は——分かりません。でも今の世界のバグ密度は——確実に上昇しています」


焚き火が消えかけていた。


ガルドが黙って薪を足した。炎が再び立ち上がった。


五人の顔が、オレンジ色の光に照らされた。


世界にバージョンがある。前のバージョンの住民は消された。次のバージョンアップが起きたら、俺たちも消える。ヴァイラスはそれを加速している。止めるには——ヴァイラスを止めるか、アドミンを見つけるか。


どちらも——今の俺たちには遠い。


だが——手を拱いているわけにもいかない。


「まず目の前のバグを潰す」


俺は言った。


「ビジュアル帝国がヴァイラスの次のターゲットだ。行く。止める。バグを直す。カウンターがあるなら——下げる。できることを、一つずつやる」


「いつも通りですね」アリアが言った。


「いつも通りだ」


「それでいいと思います」


アリアが微かに笑った。


ガルドが立ち上がった。「よし。寝るか。明日は長い」


「寝る前に——一つだけ」シェルが言った。


全員がシェルを見た。


シェルが手帳を開いた。新しいページに、一行だけ書かれていた。


「バグ密度モニターの現在値。公国のデータと端末プログラムの残骸から逆算しました。推定精度は——低いですが」


「いくつだ」


「推定——六十二パーセント」


六十二パーセント。


閾値の六割以上が、既に埋まっている。


その数字が——俺の脳裏に焼きついて離れなかった。



夜が更けた。


他の四人が眠りについた後も、俺は焚き火の前に座っていた。


六十二パーセント。


残り三十八パーセントで——世界が終わる可能性がある。


俺は空を見上げた。星が見える。その向こうに、源コードの断片が漂っている。世界の裏側が表に漏れている。


「——バグだらけの世界か」


つぶやいた。


前の世界でも、バグだらけのシステムを保守していた。直しても直しても、新しいバグが出てくる。終わりがない。報われない。それでも——コードは書き続けた。


なぜか。


それが俺の仕事だったからだ。


今は——仕事じゃない。


守りたいから、直す。


その違いが——今の俺を、前の俺より強くしている。


たぶん。


「六十二パーセント」


もう一度つぶやいた。


薪が崩れた。火の粉が空に舞い上がった。


ビジュアル帝国が——待っている。

次回、第34話「色彩の帝国」——芸術と美の国で、蓮たちは新たなバグと対面する。

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

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

↑ページトップへ