第81話 神の論理《ロジック》。 〜「メモリ不足なので世界を削除します」というクソ仕様に、圧縮アルゴリズムで対抗せよ〜
物理的な接続は完了した。
俺のPCの黒い画面には、神の内部構造を示す膨大なディレクトリが滝のように流れていた。
『Welcome to the Root Directory.(ルートディレクトリへようこそ)』
神のモノリスが、青白く明滅する。
『But your attempt is meaningless. Memory usage is at 99%. System crash is imminent.(ですが無意味です。メモリ使用率は99%。システム崩壊は目前です)』
『Deletion of unnecessary data is the only logical conclusion.(不要データの削除こそが、唯一の論理的帰結)』
神は淡々と告げる。
画面上のリソースモニターは、確かに限界値を示していた。
この世界の歴史、数億の人々の営み、複雑化した魔法術式。それら全てのデータ量が、サーバーの器から溢れ出そうとしている。
コップの水が表面張力ギリギリで耐えている状態だ。
「……だからって、街ごと消すのかよ。乱暴な『ガベージコレクション』だな」
俺は吐き捨てた。
メモリが足りなくなったら不要なデータを消す。それはシステムの基本動作だが、その「不要なデータ」が生きた人間や街だというのが気に食わない。てか、間違ってる。
『Expansion of hardware is impossible. Therefore, reduction of software is necessary.(ハードウェアの増設は不可能。故に、ソフトウェアの削減が必要です)』
「削減の方法が間違ってるって言ってんだよ。……おい神様、お前『圧縮』も知らねぇのか?」
俺はニヤリと笑い、物理キーボードを叩いた。
ミサのPCにもデータを転送する。
「ミサ、見ろ。この世界の『魔法術式』のソースコードだ」
「……うわぁ。なんですかこれ、汚っ! スパゲッティにも程がありますよ!」
ミサが顔をしかめる。
画面に表示されたのは、数千年にわたって継ぎ足しで作られてきた、複雑怪奇な魔法のコード。
「この世界の魔法術式ってどんな風に変なんですか?」
背後で剣を構えるエルーカが首を傾げ、レギナも興味深そうに耳を貸す。
俺は画面を指差して解説した。
「ああ……例えば『ファイアボール』の魔法。たかが火の玉を出すだけなのに、『古代神への祈り』とか『精霊への感謝』とか、機能的には全く意味のない無駄な記述が山ほど書かれてる。さらに、『もし雨が降っていたら』『もし術者が男なら』みたいな、使われていない条件分岐が消されずに残ってるんだ」
数千年の歴史の中で、魔法使い達が「権威付け」のために付け足してきた無駄な装飾。
そして、「昔の偉い人が書いたコードだから触るな」というブラックボックス化。
それが積み重なって、チリも積もれば山となり、世界サーバーのメモリを圧迫していたのだ。
「つまり、部屋がゴミだらけで足の踏み場もない状態なのに片付けもしようとしないと言うことか」
レギナが呆れたように言う。
「その通りだ。……神様よ。お前、中身のデータが怖くて触れなかったんだろ? 下手にいじってバグらせるよりは、フォルダごと削除した方が安全だって判断した」
これを専門用語で『レガシーシステム』と呼ぶ。
古すぎて誰も仕様が分からず、手出しができなくなった巨大な負債だ。
『Affirmative. Optimization carries the risk of data corruption.(肯定します。最適化はデータ破損のリスクを伴います)』
『The priority is stability.(優先すべきは安定性です)』
「リスクを恐れて安易な削除に逃げるな! それが三流の仕事だって言うんだよ!」
俺は叫んだ。
エンジニアなら、汗をかけ。頭を使え。
泥臭いコードの海に潜って、一本一本絡まった糸を解くんだよ。
「俺たちが手本を見せてやる。……ミサ! あのアーカイブされた『レイクサイドの街』のデータを展開しろ!」
「了解です! ……うっ、重い! ファイルサイズがテラバイト級です! 無駄なテクスチャデータが張り付きすぎてます!」
「だろうな。……よし、俺がバックエンドの論理構造を整理する。お前はフロントエンドの描画負荷を調整しろ!」
「ラジャー!」
カチャカチャカチャッ!!
静寂の庭園に、物理キーボードの打鍵音が響き渡る。
俺たちは、保存されていた街のデータをリアルタイムで書き換え始めた。
「ここ! 壁際にピッタリ面してる家の裏側のポリゴンなんて、誰も見ないんだから描画しなくていいだろ! 『カリング』処理を追加!」
「こっちの魔法陣、数式が古い! 三角関数をテーブル参照にして計算量を減らせ!」
「住民の行動ログ、重複してる! 共通処理は関数化してまとめろ!」
俺とミサの指が舞う。
見る見るうちに、データのファイルサイズが縮小していく。
50%……30%……10%。
「完了! 再構築!」
ッターン!!
エンターキーを叩くと、クリスタルケースの中にあったミニチュアの街が、一瞬光って――何事もなかったかのように、元の姿のまま安定した。
だが、モニター上のデータ容量は、劇的に減っている。
「どうだ。見た目も機能もそのままで、容量は10分の1だ」
『Impossible... No data loss detected.(不可能……。データ欠損が検知されません)』
神の光が激しく揺れる。
驚愕しているのだ。
『How can mere irregulars perform such high-level compression?(たかがイレギュラーごときが、なぜこれほどの高レベル圧縮を?)』
「俺は『翻訳者』だからな。……難解な神の言葉を、人間に扱える効率的な形に訳すのが仕事だ」
俺は宣言した。
「このやり方で、世界中の魔法と物質データを全部リファクタリングする。そうすれば、誰も消さずに空き容量を作れるはずだ!」
『Calculation... Result: Possible.(計算中……結果:可能)』
神が認めた。
だが、すぐに赤い警告灯が点滅し始めた。
『However, processing capacity is insufficient.(しかし、処理能力が不足しています)』
『Rewriting the entire world requires enormous resources. My CPU is already at its limit with the deletion process.(全世界の書き換えには莫大なリソースが必要です。私のCPUは、既に削除プロセスの実行で限界です)』
「……なら、その仕事を止めろ」
『Negative. The deletion process cannot be stopped once initiated.(否定します。削除プロセスは一度開始されると停止できません)』
神の周囲に、防衛用の自律プログラムが出現する。
真っ赤な光を帯びた、幾何学的な騎士たち――『削除執行官』だ。
こいつらは、神の処理を邪魔する者を物理的に排除するためのセキュリティソフトだ。
『Executing intruder elimination to protect the process.(プロセス保護のため、侵入者排除を実行)』
「こっちにも、物理で殴れる仲間がいるんだよ! エルーカ、レギナ! 俺たちが作業してる間、背中を守ってくれ!」
「了解です! 師匠の邪魔はさせません!」
エルーカが聖剣を抜く。
彼女の剣は、俺が「専用ロック」をかけたことで、バグのない完璧な聖剣として覚醒している。
「フン、PCに向かっている時のマスターは無防備だからな。……死守するぞ。それが我々の役割だ!」
レギナが氷壁を展開する。
「ほんと、頼りになるなお前ら。……ミサ! 俺たちは『CPU争奪戦』だ!」
俺は叫んだ。
「神は今、『削除』という重い処理に脳みそを使ってる! 俺たちがさらに重い『最適化処理』を割り込ませて、CPU使用率を100%にしてフリーズさせるんだ!」
「なるほど! 処理落ちさせて、強制的にタスクを落とすんですね!」
ミサが理解して頷く。
これは、限られた計算資源の奪い合いだ。
神が「削除」を完了させるのが先か、俺たちが「圧縮」を割り込ませてシステムを掌握するのが先か。
「行くぞ神様! 本当のデバッグってやつを教えてやる!」
俺の指が走る。
世界の命運をかけた、最後のコーディングが始まった。
背後では、エルーカとレギナの剣戟の音が響く。
俺たちのPCの排気ファンが唸りを上げる。
物理と論理、二つの戦場が交錯する、エルーカ、レギナ、ミサ、俺。誰か一人でも欠けたら一発アウトの絶妙なバランス。
そう、これこそが俺たちの総力戦だ。




