↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

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

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

エラーが発生しました。

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

PR
89/100

第9章 Ep9:計算不能(ラグ)——あるいは、時間が溶ける世界

## 1. 多段攻撃への絶望


 オーバーフローは、やがて対策された。


 プレイヤーコミュニティが発見した法則は、シンプルだった。


 「一撃では数値が丸くなる。なら多段ヒットで小分けにすればいい」


 つまり、威力1京の打撃を、1秒間に100回。

 合計で100京ダメージ。


 1ヒットが上限の922京未満なら、オーバーフローしない。


 その理論に基づいて、新しいスキルが実装された。


 「千手観音・乱れ突き」


 我が手にそれを掴んだ時点で、私は理解した。


 (これが……最終兵器)


 マリエルは、新しいスキルの仕様を説明した。


 「多段ヒット特化型。1ヒットの威力は1京。判定回数は毎秒100回。つまり、1秒間でトータルダメージ100京。一撃ぶんの数字を100回に分割するから、1ヒットあたりは符号反転の境界を超えない。オーバーフロー現象を完全に回避できる」


 「でも……」


 「何?」


 「消費MP?」


 「ほぼゼロ。制限は、『連続発動禁止』。つまり、3秒ごとに1回。」


 「その一回で、どのくらい敵のHPを削れるの?」


 「今度のレイドボスは、HP が250京。1秒に100京削る。つまり、2.5秒。スキルクールタイムが3秒。つまり……」


 「クリアできる」


 一筋の希望が生まれた。


 次のレイドボス討伐日。


 私たちは、再び挑戦した。


 「いくわよ! 千手観音・乱れ突き!」


 スキルボタンを、押す。


 『SKILL ACTIVATED: Thousand-Armed Avalanche』


 『Hit Count: 100/sec』


 画面が、ダメージ数字で埋め尽くされた。


 「1京」「1京」「1京」「1京」「1京」——


 100回分の数字が、毎秒ポップアップされる。



## 2. 世界の遅延


 三秒後。


 敵のHP は、150京。


 100京削れた。計算通り。


 「クリアできる……!」


 マリエルが喝采を上げた。


 次のスキルまで、クールタイムの残りはあとわずか。


 「もう一度!」


 スキルボタンを押す。


 『SKILL ACTIVATED: Thousand-Armed Avalanche』


 『Hit Count: 100/sec』


 画面に、100個の数字が再び並ぶ。


 だが。


 その瞬間。


 「あ……」


 画面が、ほんの一瞬、止まった。


 「何か……重くなってない?」


 マリエルが、呟いた。


 ダメージ数字が、普通のスピードで表示されていない。


 「1……京」


 間隔が、広がっている。


 「『1京』って表示に……3フレーム?」


 『1フレーム = 約16ミリ秒』だとしたら。


 100個の数字が、3フレームずつかかるということは……


 「あ」


 計算が、完成した。


 「サーバーの……処理が……追いつかない」


 『System Message: Server Load - High』


 画面隅に、警告が表示された。


 攻撃を止める。


 ダメージ数字の表示が、加速した。


 「え……」


 それは、表示速度が上がったのではなく、溜まっていた表示が一気に追いついてきたのだ。


 つまり、サーバーの処理速度が追いつかず、「表示待ち」状態になってたわけだ。


 「わかった。これ、サーバーの計算能力が逼迫してる」


 マリエルが、冷たく分析した。


 「全プレイヤーが同時に『毎秒100ヒット × 京単位の威力計算』を要求してるんだ。マルチプレイイベントだから、数百人が同時アクセス。つまり、数万ヒット分の計算が毎秒発生してる」


 「CPU が……?」


 「完全にマイナス。処理能力が、計算量に追いついていない」


 画面を見る。


 敵がいるはずの位置に、敵がいない。


 あ、いる。でも、動いていない。いや、動いてるんだけど、フレームレートが極端に落ちてる。


 一フレーム分の移動に、2秒。


 「時間が……遅い」


 歩こうとする。


 足が上がるまでに、3秒。


 着地まで、さらに5秒。


 つまり、歩幅1メートルに、8秒かかっている。


 時速なら、450メートル/時間 = 0.125 m/s 。


 秒速12.5センチだ。


 「何これ……」


 マリエルがチャットに「遅い」と入力する。


 その文字が画面に反映されるまで、1分待たされた。


 「あ……ゲーム内の1フレームを計算するのに……現実時間で1秒かかってる」


 つまり。


 ゲーム内の時間進度が、現実時間の1/60に低下している。


 いや、もっと悪い。


 通常はフレームレート60FPSで、毎秒60フレーム。

 現在は毎秒1フレーム。


 つまり、ゲーム内の1秒を処理するのに、現実時間で60秒かかっている。


 「時が……止まりかけてる」


 私は、つぶやいた。


 マリエルの返答が返ってくるまで、2分かかった。


 『待つしかない』


 その5文字を表示するだけで、120秒。



## 3. 世界の崩壊


 数時間が経った。


 ゲーム時間では、数分だ。


 背景のポリゴンが、ちらつき始めた。


 『GPU memory overload detected』


 グラフィックスも、限界に達している。


 空の色が、おかしくなった。


 紫色と緑色が、ちかちかと点滅している。


 前方の地形が、欠け始めた。


 足元の大地が、ブロック単位で消えたり現れたりしている。


 「何これ……」


 「VRAM が……満杯……キャッシュミスが発生してる……テクスチャが読み込み直される……その都度フレームドロップが発生してる」


 マリエルの声まで、スローになっている。


 『System Message: Critical Error Approaching』


 『World Stability: 12%』


 数値が、刻一刻と減っていく。


 『World Stability: 8%』


 「終わりだ」


 マリエルが、つぶやいた。


 「システムは……限界を迎えた……数値がインフレしすぎて……計算量が……物理的に処理不可能な領域に入った」


 『World Stability: 3%』


 「私たち……何をやってるんだろう」


 私は、スマートフォンを見つめた。


 画面には、壊れかけの世界。

 計算が追いつかず、フレームドロップしながら、慌てふためく情景。


 八回の輪廻。

 九度目の死へと向かう、加速度的な崩壊。


 ——皮肉な話だ、と思った。

 前世の私は、システムを「落とさない」ために徹夜を重ねたインフラ屋だった。負荷を分散し、ボトルネックを潰し、サーバーが悲鳴を上げないよう、数字を見張り続けてきた。守る側の人間だったのだ。なのに、この世界では。私たちが追い求めた「強さ」そのものが、世界の計算量を食い潰し、サーバーを内側から焼き切っていく。守るはずだった私が、今は、世界を殺す、いちばん重いプロセスだ。


 「私たちは……『強さ』を求めた。でも、その強さが世界を壊してる」


 『World Stability: 1%』


 背景が、ほぼ黒くなった。


 敵も、マリエルも、もはや見えない。


 あるのは、黒色のボックスと、ダメージ数字だけ。


 「次が……最後だ」


 『World Stability: 0%』


 画面は、完全に暗くなるはずだった。


 だが、その直前に。


 深い、低い音声が、どこからか聞こえてきた。


 『DETECTING ANOMALOUS OBJECTS』

 『DATA CONTAMINATION CONFIRMED』

 『INITIATING SYSTEM PURGE』


 Root Server。


 すべてのデータを管理する、絶対的な存在。


 データベースを支配する神。


 それが、目を覚ました。


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

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