第三章 整数オーバーフローの罠
白銀の聖域は、影の存在を許さない空間だった。
天井から降り注ぐ魔法光は物理法則によって厳密に制御されており、どの角度からどの方向に差し込もうとも、一点の陰も生まれないよう計算されている。
床の一枚一枚は鏡面のように磨き抜かれ、踏みしめるたびに自分の顔が映り込む。壁は白磁、柱は白銀、天井もまた白。この場所に存在できる色は、純潔と正義だけだ。
スクラップ・バレーの泥とゴミと錆の匂いから来た三人にとって、この空気は肺の奥が痛むほどに清潔すぎた。
塵ひとつない廊下、完璧な間隔で配置された柱、角度まで規定されているとしか思えない照明。人が住む場所というより、誰かに見せるためだけに設えられた、血の通わない舞台のようだ。
ボルグは入ってすぐ、自分の足音がやけに大きく聞こえることに気づいた。一歩ごとにコツ、コツ、と乾いた音が不快に響いて、自分という「不純物」が今ここにいることを周囲に告げているようで、居心地が悪かった。
カイは、入り口で一度足を止めた。
右目の演算回路が青白く光り、空間全体の規約構造を高速でスキャンする。センチネルの巡回パターン、監視網の死角、この聖域を支配するローカル規約の記述――すべてが数秒で解析され、網膜に投射された。
(エリア規約は「純潔の維持」。欠陥品の存在が検知された時点でアラートが発令される。時間的猶予は、おそらく三分から五分。……十分だ)
後ろでセリアが鉄パイプを、指の関節が白くなるほど握り直す気配がする。
「……ここ、か」
セリアの声は、低かった。呟くというより、喉の奥から毒を吐き捨てるような言い方だった。
カイはちらりと彼女を見た。
セリアの目が、聖域の奥――巨大な白銀の扉を射貫くように見つめている。その瞳に浮かぶのは怒りでも悲しみでもない、もっと静かで、もっと深い呪いのような何かだ。この場所に記憶がある。そう語る目だった。
「知っている場所か」
「……かつて、所属していた場所よ」
短い沈黙の後、セリアは口を開いた。
「ここの石畳の並びも、光の差し方も、全部身体が覚えてる。毎朝、指が壊れるまで磨いたから。……今となっては、嫌になるくらい覚えてる」
「感傷は後にしろ」
「言われなくても」
セリアは前を向いた。その横顔は石像のように固く、しかし揺るがなかった。
ボルグが小声でカイに囁く。
「あの……カイさん。ここ、本当に大丈夫ですか? なんか、入っていい場所じゃない感じがして……」
「大丈夫ではない。だから三分以内に終わらせる」
カイは、迷いなく歩き出した。
聖騎士団長ヴァルザクは、巨大な白銀の扉の前で待ち構えていた。
全身を重装甲で包み、背丈ほどもある十字の巨盾を携えたその姿は、圧殺的な威圧感そのものだ。身長はボルグに並ぶほどで、鎧を含めれば横幅はボルグを上回るかもしれない。
しかしボルグが自分の巨体を縮めて歩くのに対し、ヴァルザクはまるでここが自分のために設計された世界であるかのように、傲慢に空間を占有していた。
ただ、ボルグとの決定的な違いは――その瞳に宿る、狂信的なまでの「確信」だった。
自分が正しい。自分が守るものが正しい。
その確信が、熱病のように全身から滲み出ていた。一点の疑いも、一点の迷いもない目だ。それが、ある種の人間には何より恐ろしいものに見えるということを、ヴァルザク本人はおそらく死ぬまで知らないだろう。
「立ち去れ、バグに侵された不浄なる者どもよ」
低く、よく通る声が聖域に響き渡る。
「この聖域を、貴様たちの卑しい足跡で汚すことは許さぬ。……セリア・シルヴァ・ランスロット。まだ生きていたか」
セリアの全身が、一瞬だけ鋼のように強張った。
ヴァルザクの視線は彼女を上から下まで舐め、それから興味を完全に失ったように前方に戻った。まるで、道端に落ちている汚物を確認した時のような目だった。
「落ちるところまで落ちたな。欠陥品の仲間に加わるとは……かつての誇りはどこへ消えた」
「……黙れ」
セリアの声が、低く、地を這うように響いた。
「今日は、口を聞く気分じゃないの。さっさと終わらせたいから」
「ほう」
ヴァルザクが巨盾を持ち上げた。
「では相応の覚悟があるということだな。その欠陥を抱えたまま、我が前に立つ愚かさ――今ここで清算してやろう」
ヴァルザクの頭上に、規約の文字列が冷酷に浮かび上がった。
【規約:聖域の増殖】
対象が受けるすべてのダメージを無効化し、そのダメージ値をそのまま最大HPに加算する。
「ダメージを無効化して、最大HPに加える……? そ、そんなの勝てるわけないですよ!」
ボルグが盾の影で、歯の根も合わないほど震えながら叫んだ。
無理もない。この世界の戦闘において、相手のHPをゼロにすることが勝利の絶対条件だ。
しかしヴァルザクに対しては、攻撃を加えれば加えるほど、彼を殺すために必要な手数は永遠に遠のいていく。戦えば戦うほど、敵はより巨大で、より盤石な神へと進化する。
カイは脳内のコンソールを静かに展開した。
HPバーの最大値が際限なく伸びていく様を、冷徹にシミュレートする。一億。十億。百億。どこまで行っても終わらない数字。それを見れば、誰でも「詰んでいる」と絶望するだろう。
しかしカイは逆から考える習慣がある。
「どうすれば勝てるか」ではなく、「なぜシステムはこの規約を欠陥だと気づかなかったのか」――その問いから入る。
規約を設計した者たちは、ヴァルザクのHPが無限に増えることを「強さ」と定義した。だが、増え続けるということは、どこかで止まらないということでもある。
そして止まらないものは、必ず「型の限界」にぶつかる。
ヴァルザクのHPが伸びれば伸びるほど、その存在は終わりに近づいていく。それをヴァルザク自身は知らない。
「フハハハ! 我が肉体は正義の器なり!」
ヴァルザクが巨盾を床に叩きつけた。衝撃波が走り、聖域の空気が悲鳴を上げて震える。磨き抜かれた床に、初めて無残なひびが入った。
「貴様たちの悪意が募るほど、我が命の器はより大きく、より強固に満たされるのだ!」
セリアが苛立たしげに鉄パイプを握り直す。黄金の光が、彼女の周囲で火花を散らす。
「カイ。どうするのよ。私のこの力でさえ、あいつを強くするだけの餌になるってわけ?」
「ああ、正攻法でいけばな」
カイは、ヴァルザクの頭上に表示されたHPバーを、死神のような冷徹な目で見つめた。際限なく伸びる可能性を持つ、その数値を。
「だが、この世界というシステムそのものに、器の大きさを制限する『型』があることを忘れていないか?」
「何をたわ言を……!」
ヴァルザクが巨盾を構えた。
「我が器に限界などない! さあ、来い! その卑しき力で、我をより高みへと導くがいい!」
カイの口元に、薄い、刃のような笑みが浮かんだ。
この世界の管理システムは、数値を処理する際に「三十二ビット符号付き整数」という型を用いている。それは、一つのデータが保持できる限界値があらかじめ決まっているということを意味する。
その上限は――二十一億四千七百四十八万三千六百四十七。
どれほど巨大な器も、型が決まっている以上、溢れれば壊れる。
システムを構築した者たちが見落としたのはそこだ。「ダメージをHPに変換する」という規約を書いた時、誰もその数値が上限を超えることを想定しなかった。
想定しなかった理由は単純だ――通常の戦闘において、HPが二十一億を超えることなど、あり得ないからだ。
だが、一万倍のステータスを持つ存在が、全力で殴り続ければ話は別だ。
カイはその計算を、昨夜のうちに、脳が焼けるような演算の果てに終わらせていた。カイが静かに、死刑宣告のように言った。
「敵を殺すためではなく、敵を『太らせる』ために。お前のその異常な火力を、すべてあいつの器に叩き込め」
「……意味がわからないけど、あんたの命令なら」
セリアが地を蹴った。
ステータス一万倍の脚力が生む加速は、もはや肉眼では追えない。黄金の残像を残し、彼女はヴァルザクの巨盾へと肉薄する。
「いっけえぇぇぇ!」
鉄パイプの一振りが、大気を爆ぜさせ、ヴァルザクの盾に直撃した。
轟音とともに、目も眩むような火花が散る。本来なら山をも砕く一撃だが、規約の力によって衝撃は瞬時に「変換」された。
ヴァルザクのHPバーが、狂ったように右へと伸びていく。
一億、五億、十億――。
「ハハハハ! 素晴らしい! 力が満ちる! もはや何者も、我という存在を消し去ることはできん!」
カイは脳内のコンソールに展開されたHPの数値を注視しながら、ボルグに指示を飛ばした。こめかみを流れる汗が、演算の過酷さを物語っている。
「ボルグ、反射壁をヴァルザクの前に固定しろ。セリアの衝撃の一部を反射させ、ダメージの入力頻度をさらに上げる」
「は、はい! うおおおおおぉぉ!」
ボルグが咆哮し、反射コードを展開する。セリアの超高火力、ボルグの多重反射――聖域のあらゆるエネルギーが、ヴァルザクという一点に向かって収束し、圧縮されていく。
その時、カイはボルグとセリアの目が一瞬だけ合うのを見た。
言葉はなかった。だが、セリアが小さく頷き、ボルグが力強く頷き返した。次の動作への確認――それだけの、無言のやりとりだ。
いつ取り決めたわけでもない。打ち合わせたわけでもない。それでも、死線を越えた二人の動きが重なった。セリアが最大火力で叩き込む瞬間、ボルグが反射壁のコードを最大展開する。タイミングはぴたりと一致していた。
二人が初めて、互いを「駒」ではなく「相棒」として動かした瞬間だった。カイはそれを、コンソールの端に冷徹に記録した。
「感情的な同期は、時として計算を超える」――そう書き留めて、すぐに次の演算へ意識を戻した。
ヴァルザクのHPは、ついに二十億を超えた。
彼の肉体は膨れ上がる魔力の負荷に耐えきれず、白銀の鎧の隙間から、バグのようなおぞましいノイズが漏れ出し始める。
「な……何だ? 体が……重い……。器が、熱い……!」
「そろそろだな」
カイが指を鳴らした。
「チェックメイトだ、ヴァルザク」
セリアの最後の一撃が、ヴァルザクの盾の中央を真っ向から貫いた。
その瞬間、彼のHPが、システム上の「絶対境界」である『2,147,483,647』を突破した。
[ IF Current_HP > 2147483647 THEN Value_Overflow ]
世界が、一瞬だけ停止したかのように静まり返った。
次の瞬間、ヴァルザクの頭上に表示されていた莫大なHPバーが、突如として真っ黒に塗りつぶされた。表示されていた数値は、正の最大値から一転、もっとも深い「負の最小値」へと反転した。
[ Current_HP = -2147483648 ]
「……な、……が、あ……っ!?」
ヴァルザクの絶叫が、聖域に響き渡る。
HPがマイナス二十一億。システムは、彼が「致死量を遥かに超えるダメージを受け、生存不可能な状態にある」という無慈悲な判定を下した。
規約によるダメージ無効化さえ、もはや意味をなさない。なぜなら、ダメージを吸収した結果そのものが「死」そのものへと直結してしまったからだ。
ヴァルザクの白銀の肉体が、内部から噴き出すエラーログの奔流に飲み込まれていく。鎧は砕け、汚れた光の粒子となって霧散し、彼の存在そのものがシステムから「不正なゴミ」として抹消されていく。
消えていく直前、ヴァルザクがセリアを見た。
憎しみでも恨みでもなく――理解できない、という絶望に満ちた目だった。なぜ、規約に叛く者が、規約に従う者に勝てるのか。その問いを呑み込んだまま、彼は光の中に消えた。
「お前の『無限の成長』という規約は、この世界という箱の大きさを考慮していなかった」
カイは、光の中に消えていく聖騎士団長を一瞥もせず、奥に鎮座する昇降機へと歩き出した。
「どんなに器が大きくても、中身が溢れれば壊れる。単純な算数だ」
黄金の光が収まり、聖域に死のような静寂が戻った。
セリアが肩で息をしながら、震える鉄パイプを下ろした。
荒い呼吸が整うにつれ、彼女の目が――ヴァルザクが消えた虚空を、静かに見つめているのにカイは気づいた。怒りを吐き出したはずなのに、その目はどこか虚ろだった。
長い時間、ここに来ることだけを考えて生きてきた。ヴァルザクに一撃を叩き込む瞬間を、何千回、何万回と夢に見、爪を研いできた。
しかし実際にそれが終わってみると、胸の中は予想よりずっと冷たく、静かだった。怒りの出口が塞がれたわけでもなく、かといって満たされたわけでもない。ただ、一つの残酷な章が終わった――そんな感覚だけが、重く沈殿していた。
アリアはもういない。ヴァルザクを倒しても、それは一ミリも変わらない。
セリアは知っていた。知っていて、それでもここまで来た。
「……あんた、本当に性格悪いわね。敵を強くして殺すなんて」
「効率的だと言ってくれ」
「同じよ」
セリアは吐き捨てるように言ったが、歩き出した。その足取りは確かだった。
ボルグが恐る恐る、カイの隣に並んだ。
「……カイさん。あの、ヴァルザクさんって……セリアさんと何かあったんですか?」
「俺の調べた範囲では、セリアを騎士団から追放した張本人だ」
「え……」
「詳しくは本人に聞け。俺の知ったことじゃない」
ボルグはちらりとセリアの背中を見た。
少し迷ってから、ボルグは歩みを速めてセリアに並んだ。
「……セリアさん」
「何」
「その……あいつを、倒せましたね」
セリアは答えなかった。
「よかった、って言ったら変ですか」
「変ね」セリアは前を向いたまま言った。「あんたには関係ないでしょ」
「関係ない、かなあ」ボルグは少し考えた。「でも……なんか、嬉しかったです。セリアさんが一撃入れた時」
セリアが一瞬だけ歩みを緩めた。ほんの僅かな、自分でも気づかないほどの変化だ。
「……馬鹿ね」
それだけ言って、また前を向いた。
セリアは首元のペンダントを指先でそっと押さえていた。それだけだった。ボルグは何も言わなかった。
三人は、昇降機に向かって歩き続けた。
聖域の床はまだ、戦闘の余波でひびだらけになっている。磨き抜かれた白が、至る所で無残に割れていた。かつてこれほど「完璧」だった場所が、今は癒えない傷跡を晒している。
セリアはそれを一度だけ振り返って見てから、また前を向いた。
どんな顔をしていたか、カイには読み取れなかった。
昇降機の前で、カイは一度立ち止まり、脳内のコンソールを整理した。
次の階層――ジャンク・データ・フォレスト。そこに、必要な「砲台」がいる。
盾と剣は揃った。次は、遠距離から圧倒的な火力を叩き込める存在が要る。
ただし、それは単純な強さではない。カイが必要としているのは、「情報を処理する」という異常な才能を持ちながら、それゆえに世界から弾き出された異物だ。
(ディノ・リク・ハルモニア。暴発魔法の欠陥品。……使える)
カイはボルグとセリアを振り返った。
ボルグは盾を背負い直しながら、まだ少し手が震えている。セリアは黄金の光を微かに灯したまま、息を整えている。二人とも、今日の戦いで著しく消耗している。
しかし次の階層は、体力の消耗よりも「精神への負荷」が問題になる。あの森は、情報の解像度が異常に高い。規約という薄っぺらな秩序に慣れきった者には、劇薬になる。
「次の階層は情報密度が高い」
カイは二人に向かって、警告するように言った。
「頭が痛くなっても黙って歩け。騒ぐとターゲットに気づかれる」
「……どんな人なんですか、次の人は」
ボルグが聞く。
「臆病な天才だ」
「臆病な、天才……」ボルグが繰り返した。「カイさんって、なんで欠陥品ばかり集めてるんですか? もっと普通に強い人を仲間にしたほうが、効率的じゃないですか?」
カイは少し間を置いた。脳内のファンが回るような微かな音が聞こえる。
「普通に強い人間は、管理者にとっても脅威と映る。そういう存在は、塔に近づく前に排除される。だが欠陥品は違う。管理者は欠陥品を『問題』とは見るが、『脅威』とは見ない。……そこが穴だ」
「……つまり、弱いから見逃されてる、ということですか?」
「正確には、欠陥があるから計算に入れられていない、だ」
カイは昇降機の扉に手をかけた。
「管理者の想定を外れた存在こそが、管理者の盲点を突ける。……それが俺の計算の基本だ」
セリアが鼻で笑った。
「ずいぶんと都合のいい解釈をするのね、悪魔は」
「都合がいいのではなく、正しい」
カイは昇降機に乗り込んだ。
盾と剣が、その後に続く。
リアナを救うためのチェックメイトまでは、まだ程遠い。
だが、駒は確実に、増えていく。
========================================




