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

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

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

エラーが発生しました。

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

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


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

PR
15/36

第15話「限界の先へ」

 95%。


 ダッシュボードの処理能力ゲージが、ほとんど天井に張り付いていた。交通制御で非戦闘系リクエストを後回しにし、セレスの天候管理とダンジの迷宮制御からリソースを融通して、それでもなお——残り5%。侵攻初日に85%まで抑えた余裕は、三日かけてじりじりと削られていた。


 魔王軍の侵攻は止まらない。三日目に入っていた。負荷は段階的に上がり続けている。計算されたように、着実に。


「ノード、今の余裕であとどのくらい持つ」


「えーと……現在の増加率だと、半日です。半日後に上限に到達します」


 半日。


 半日で、世界が処理できる限界を超える。そうなれば、リクエストが滞留して応答が遅れ、魔法が発動しなくなり、スキルが動かなくなり——地上の戦闘は崩壊する。


「融通できるリソースは他にないか」


「えーと……」 ノードが少し間を置いた。「もう、ほとんど出し尽くしています。天候管理は最低限まで絞りました。セレスさんが……あの、怒ってはいないんですけど、『あら、お天気が荒れるかもしれないわねぇ』と言っていました」


 セレスらしい。あの穏やかな口調で。


「ダンジは」


「えーと……『ワシのダンジョンの制御精度が落ちとるのは、管理人、お主のせいじゃぞ』と。でも、拒否はしていません」


 迷宮制御の精度が落ちれば、ダンジョン内の難易度調整が粗くなる。冒険者が想定外の強さの敵と遭遇するリスクがある。でも今は、前線の戦闘を支える方が優先だ。


「カルクからの数値報告は」


「えーと……勇者の経験値ズレが0.017まで拡大しています。バッチ処理の遅延が伸びていて、仮計算と確定値の差が広がっている状態です」


 0.003から0.017。6倍近い。世界全体の処理に余裕がなくなっている証拠だ。


 打てる手は、もう打った。優先度による振り分け。リソースの融通。非戦闘系の抑制。全部やった。でも足りない。


          * * *


 北の平原は、三日間の戦闘で荒れ果てていた。


 アリアが剣を振り抜いた。三体目の魔物が崩れ落ちる。でも次が来る。


「アリア! 下がれ!」


 カイルが前に出て盾を構えた。巨大な爪が盾に叩きつけられる。衝撃で足元の土が割れた。


「おい、無茶すんなって言ってんだろ! 三日間ぶっ通しで剣振ってんじゃねぇ!」


「カイルこそ!」 アリアが叫び返す。「その腕、震えてるでしょう」


「……別に震えてねぇよ」


 震えていた。三日間、盾を構え続けた腕は限界に近い。


 フィオナが後方から攻撃魔法を放った。出力は通常の50%。制限がかかっている上に、三日間の疲労で集中力が落ちている。


「……あと、どのくらい持ちますかしら」 フィオナが呟いた。


「持つまで持つのよ!」 リーゼルが回復魔法を飛ばしながら叫んだ。「あたしの回復が続く限り、みんなは倒れない!」


 リーゼルの回復魔法は、まだ動いていた。悠真が守った優先設定が、三日間ずっとリーゼルを支え続けている。


 フィオナがノートを開いた。戦闘の合間に、数字を書き込む癖は変わらない。


「攻撃魔法の成功率が40%を切っていますわ。回復魔法は70%を維持。回復だけが安定しているのは——偶然ではないと思います」


「どういうことだ」 カイルが盾越しに振り返った。


「誰かが回復を守っている。攻撃を犠牲にして」 フィオナは静かに言った。「観測の数が足りないから断言はできませんけど……この偏りは、意図的ですわ」


 アリアが一瞬だけ空を見上げた。誰かが、見えないところで守ってくれている。以前もそう感じたことがあった。


「考えるのは後!」 カイルが叫んだ。「次が来る!」


 アリアは剣を構え直した。


          * * *


 管理層で、俺は画面を睨んでいた。


 前の世界で、負荷が処理能力を超えそうなとき、対処法は単純だった。サーバーを増やす。処理能力が足りなければ、新しいサーバーを自動で追加して負荷を分散する。需要が増えたら供給を増やす。需要に応じて自動的に処理能力を拡大する——前の世界ではそれを自動拡張と呼んでいた。


 でも、この世界にはそれができない。


 サーバーを増やすことに相当する操作がない。世界の処理能力は固定だ。追加のリソースを外から持ってくることはできない。世界は一つしかない。


 ——本当にそうか?


 俺はダッシュボードの一番下を見た。普段は触らない領域の、さらに奥。レイヤーの構造表示を呼び出した。


 この世界は三層構造になっている。


 地上——住人が暮らすデータ層。俺たちが管理層から操作している世界そのもの。


 管理層——俺とノードがいる制御層。ダッシュボードや設定変更UIがある場所。


 そして——深層。


 世界の根幹を動かしている最深部。前任の神エルディアスが構築した、世界の基本ロジックが格納されている領域。俺はこれまで一度も触れたことがない。管理層の権限では、深層の内部を読み取ることも、変更することもできない。


「ノード」


「はい」


「深層にアクセスできるか」


 沈黙があった。長い沈黙だった。


「えーと……」 ノードの声が、いつもと違うトーンだった。「深層は——管理層の権限ではアクセスできません。あそこは、エルディアス様が構築された領域で……わたしにも、内部の全容はわかりません」


「でも、そこにリソースの余剰がある可能性は」


「……あるかもしれません。深層は世界の根幹を動かしています。根幹の処理に割り当てられているリソースは、管理層から見えている分とは別に存在しているはずです。でも——」


「権限がない」


「はい。それに……」 ノードが言い淀んだ。「深層は、エルディアス様が去ってから、誰も触れていません。何が入っているか、わたしにもわからないんです。もし不用意に触れて、根幹のロジックに影響が出たら——」


「世界が壊れる可能性がある」


「……はい」


 俺は画面を見つめた。


 処理能力の余裕は、残り10%を切っている。半日で限界。それを過ぎれば、世界が止まる。


 管理層でできることは全部やった。リソースの融通も限界だ。新しいリソースを追加する手段は、管理層にはない。


 あるとすれば——深層の中だ。


「ノード」


「はい」


「権限がないのは知っている。何が入っているかわからないのも知っている。でも、このまま何もしなければ、半日後に世界が止まる」


「……はい」


「管理人として、やれることは全部やった。でも足りない。だから——やれないことに手を出す」


 ノードが長い間黙っていた。


「えーと……悠真さん」


「何だ」


「わたしは……悠真さんを止められません。でも、一つだけ。深層に入ったら、何かが変わるかもしれません。わたしの中の、何かが。深層とわたしは——えーと、繋がっているような気がするんです。前からずっと。でも、それが何なのか、わたしにもわかりません」


 ノードの声は、普段のおどおどした調子ではなかった。静かで、どこか覚悟を決めたような声だった。


「わかった。何かあったら、すぐに教えてくれ」


「……はい」


 俺はダッシュボードの深層レイヤーの表示を開いた。グレーアウトされた、触れたことのない領域。権限不足のラベルが赤く点灯している。


 ——権限がない。でも、扉はある。


 管理者の権限を最大まで引き上げた。管理層で持てる限界まで。それでも深層にはまだ足りない。


 でも、ここには前任の神が残した痕跡がある。ドキュメントのない、古いコードの山が。その中に、入り口があるかもしれない。


 俺はダッシュボードの隅に残された古い設定ファイルの一つを開いた。エルディアスが最後に触れた記録が残っている、日付のない断片。その中に、深層への参照が埋め込まれていた。


 ——見つけた。


 参照を辿った。管理層の表示が一瞬だけ揺れた。画面が暗転し——光の筋が走り——目の前に、見たことのない空間が広がった。


 深層。


 管理層のダッシュボードとは全く違う。整然としたUIも、色分けされたグラフもない。代わりに、無数のコードの断片が宙に浮かんでいた。文字列、数式、論理式——世界を動かしている根幹のロジックが、剥き出しのまま漂っている。


 暗い。管理層のダッシュボードは光に満ちていたが、ここは薄暗く、コードの文字列だけが淡い光を放っている。空間の広さが掴めない。天井も壁もない。ただ、コードが浮かんでいる。


 古い。どれもこれも、とてつもなく古い。数千年前に書かれたまま、一度も更新されていないコードの山。修正履歴がない。バージョン管理がない。最初に書かれたまま、ずっとここで動き続けている。


 そしてその中に——コメントがあった。


 コードの合間に挟まれた、注釈のような文字列。プログラムの動作には関係ない、書いた人間の言葉。


 最初に目に入ったのは、短い一行だった。


 `// TODO: いつか直す`


 エルディアスの字だ。コードの中に残された、前任の神の声。


 俺はその行を見つめた。


 前の世界でも同じだった。忙しいエンジニアが書く「いつか直す」は、たいてい永遠に直されない。期限のない約束は、約束ではない。


 でも——ここでは、その「いつか」がまだ生きていた。


 コメントの先に、さらに多くのコメントが続いていた。エルディアスの言葉が、コードの隙間に散りばめられている。まるで独り言のように。まるで——誰かに向けて書いた手紙のように。


「ノード、見えているか」


「えーと……はい。見えています。この文字列は——」


 ノードの声が途切れた。


「ノード?」


「……すみません。なんか——頭の奥が、少し……光って……」


「ノード」


「大丈夫です。大丈夫、です。ただ——この文字、見覚えがあるんです。すごく昔に、見たことがある気がして——」


 ノードの声が震えていた。さっき自分で言った通りだ。「深層とわたしは繋がっている気がする」——その予感が、今、現実になりつつある。


「無理するな。おかしいと思ったら言え」


「……はい」


 俺はコメントの先を辿った。エルディアスの言葉は、コードの至るところに散りばめられていた。独り言のような短い文。感情の漏れ出した長い文。世界を作った神が、コードの隙間に残していた声。


 その一つに、目が止まった。また別の注釈だ。


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


 前の世界でも、何度も見た言葉だった。美しい設計にする時間がなくて、とりあえず動くコードを書いて、そのまま直す機会が来なかった——エンジニアなら誰でも覚えのある後悔。


 数千年前の神が、同じことを思っていた。


 深層の闇の中で、エルディアスの言葉が光っていた。俺はまだ、その光の全容を見ていなかった。


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


【今回のIT用語】

オートスケーリング:システムへの負荷が増えたとき、自動的にサーバーやコンテナを追加して処理能力を拡大する仕組みです。AWSのAuto ScalingやKubernetesのHPA(Horizontal Pod Autoscaler)が有名です。需要に応じて供給を自動で増減できる——現実のクラウド環境では当たり前の機能ですが、悠真の世界には「追加のリソース」が存在せず、この手段が使えないことが今回の危機の核心でした。なお、「外から増やせない」一方で「中で配分し直す」という解決策は存在します。この「リソース再配分プーリング」については、本作の終盤に別の形で現れます。


キャパシティプランニング(容量計画):前話に続き、処理能力の限界を見積もる重要性が描かれました。悠真は限界到達までの時間を計算し、その時間内にできることを探した結果、禁じ手の「深層アクセス」に至りました。


次話「神が遺した言葉」もよろしくお願いします。

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

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

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

↑ページトップへ