第7章 最終局面!魔王VS最強デバッガー
ワールド・リポジトリの内部は、まるで無限に広がるサイバー空間みたいに見える。
薄暗い床には六角形のパネルが延々と敷き詰められ、その上にコードの断片と思しき光が常に流れ続けている。あちこちで雷鳴のようなバチバチ音が響き、濁った黒い渦がうごめきまわる。
その渦こそが大量のバグやエラーの集合体だとしたら、ここに来るまで以上に骨が折れそうな展開だ。
「うわ……すごい量のコンフリクト」
リナが眉をひそめてパネルを見つめる。足元に表示される巨大モニタには、Conflict detected: 999,999+ なんて呆れた数字が赤字で点滅している。
いかにも「もう際限なくバグが生まれてます!」と叫んでるようで、頭を抱えたくなる。
「まあ、想定内ってやつだな。世界中の魔法が暴走してるんだから、そりゃコンフリクト祭りになるさ」
そう苦笑いで返すものの、内心はバクバクしている。ここを全部解決しなければ、世界の術式は正常に戻らない。だけどそんな大作業をこなす前に、俺たち自身がこの黒い渦に呑まれてしまうんじゃないか――そういう不安が首をもたげる。
「創也くん、あっちから来るよ!」
リナの鋭い声に振り向くと、黒い渦の一部がぐにゃりと形を成し、まるで人型のシルエットがうめき声を上げているみたいに見える。ねっとりと粘度を帯びた気配に、思わず鳥肌が立つ。
以前、バグ=デッドロックと名乗る存在を見たことはあったけど、今目の前でうごめいているのは、さらに巨大で禍々しい。どうやら大量のバグが合体して化け物になりつつあるらしい。
「git stashで封じ込めるにはデカすぎるな……厄介だ」
俺はごくりと唾を飲み込み、シエルの方を見る。彼女はbranchの魔法陣を展開しつつ、緊張した面持ちでこちらをうかがう。
「こ、これはただのバグじゃないかもしれません。魔王コードの破片とか、ギルドが強引にmergeした術式がごちゃ混ぜになってる感じがするんです」
「じゃあ、一部だけcherry-pickで削れないか?」
「やってみます!」
シエルが杖を構えて《git cherry-pick》を唱える。けれど、黒い渦の塊がごぼりと音を立ててうねり、シエルが展開しかけた魔法陣を吹き飛ばす。光の輪が砕かれて散るのを見て、背筋に嫌な冷気が走る。どうやら簡単な小手先じゃ対処できそうにない。
「リナ、魔力をpullして俺に貸してくれ。大規模なrebaseかresetを狙うしかない」 「あ、うん。わかった!」
リナが両手を広げて周囲の魔力を吸い込み始める。ワールド・リポジトリ内のエネルギーは膨大らしく、空間全体からごうっと風が巻き起こったみたいに流れ込んでくる。
彼女の身体を通してやってくる魔力が重くのしかかるように伝わってきて、一瞬膝が震える。
「うおっ……すごい圧だな」
「大丈夫? これ、リナも無理してないか?」
「私なら平気だよ。でも、早めに使って。こんなに貯め込んだら暴走しちゃう」
真剣な口調のリナに、俺は深くうなずく。ギルドの粛清部隊を相手にしてきたときも何度かやったが、大量の魔力を一気に流し込んで“gitコマンド”を強化すれば、より大きな範囲の書き換えや解消が狙えるはず。ここでしぶっても仕方ない。
「じゃあ……“git rebase --root”を想像してみるか。根本から衝突を整理する感じで」
覚悟を決め、頭の中でコマンドをイメージする。黒い渦がじわりじわりと間合いを詰めてきていて、あと一呼吸でこっちへ襲いかかりそうだ。シエルとリナが力を合わせて、俺の周囲に淡い光の膜を作ってくれる。それを合図に俺は心を落ち着かせ、低く呟く。
「git rebase --root!!」
瞬間、足元から大きな円環が広がる。まばゆい光が輪を描きながら広がり、黒い渦の塊に当たると、バチバチッという音を立てて弾け合う。
視界には無数のエラーメッセージが薄っすらと浮かび、互いに競合している部分が可視化されていく。こいつらを全部解消しなければ先へ進めない。
「リナ、シエル、それぞれ“checkout”と“merge”で衝突箇所を整理して! 一気にやろう!」
「うん、わかった!」
「branch切り替えますね!」
二人の声が重なり、ワールド・リポジトリの空間にいくつもの細い光の道が生まれていく。そこを通るかたちで、黒い渦の一部が選別されていくのがわかる。
強引なまとめ方だけど、上手くハマれば膨大なバグを段階的に処理できそうだ。
しかし、黒い渦の中心部だけは執拗に抵抗していて、うねる触手のような魔力の塊をこちらに投げつけてくる。思わず身をかがめると、頭上をすれすれで黒い塊が通過し、後ろのパネルをバキバキに砕いていく。
「くそ、やっぱりただのバグじゃないな。意思があるっていうか、まるで“カオス・マクスウェル”本人の一部みたいだ」
俺が思わず呟くと、リナが眉をひそめる。
「魔王が自分のコードを守るために、こういうバグ形態で干渉してるのかも……。じゃあ、これを倒さないと先へは進めないよね」
倒すって、ソースコードを“倒す”という表現が正しいのか怪しいが、実質同じだろう。バグの集合体を除去しない限り、コンフリクト解消は終わらない。ひょっとしたら魔王自身がリポジトリ内に侵入してきている可能性だってあるし、これがただの前哨戦とも限らない。
「ならば……もう少し火力を上げるか。リナ、追加pullはいけるか?」
「やるよ! git pull --all、全力で魔力をかき集める!」
リナが両手を突き出して空間を掴むような動きをすると、周囲のパネルからバチバチと稲妻のような光が集まってくる。
俺もシエルもその衝撃に負けないように踏ん張り、全身に溢れそうな魔力をどうにか受け止める。あまりに濃密すぎて頭がくらくらするが、踏みとどまらなきゃ意味がない。
「よし……“git push -f”で一気に書き換えてやる!」
巨大な力を体に巡らせながら、俺は再度コード画面を呼び出す。
目の前では黒い渦が不気味な唸り声をあげ、まるで魔王そのものの怒りを象徴するみたいに波打っている。ここを通らなければ世界は救えない。
その思いが恐怖を上回った瞬間、俺は叫ぶようにコマンドをイメージする。
「git push --force!」
白い稲妻がほとばしり、床を叩きつける衝撃が全身を揺らす。
黒い渦が狂ったように抵抗しようと身をよじるが、こちらの魔力がそれを上回ったのか、バチンと裂け目が走って霧散し始める。
無数のエラーログがポップアップし、それが次々に解消されるかのようにフッと消えていく。
「あ……崩れ始めた? やったの?」
リナが思わず声を上げる。確かに、黒い渦の一部がどんどん霧状に溶けていく。シエルも驚いたように息を呑んでいる。どうやら強引なforce pushが成功したらしい。
光のパネルが次々に正常化して、足元に流れていたエラー表示が消えていくのが見える。
「よし、これで一段落……か?」
俺がそう呟いた矢先、まるで拒否反応を示すように床がゴゴゴと唸り始める。あちこちのパネルが乱れた色を発して震えている。バグを片付けた直後の揺り戻しなのか、それとも別の存在が起動したのか……嫌な予感しかしない。
「気をつけて、また何か来るよ!」
シエルが身構えると同時に、今度は空間の奥から一条の闇が走ってくる。先ほど倒したはずの黒い渦とは違う、鋭い力が一本の針のようにこちらへ向かって伸びてくるのだ。
「なんだ、まだ残党がいるのか?」
警戒しつつ見極めようとすると、その闇の針は途中でグニャリと形を変え、突然人影をかたどった。妙に長身のシルエットが足を踏み出し、こっちを睨むように視線を向けている……その雰囲気、見覚えがある。
「カオス・マクスウェル……魔王本人だとでもいうのか?」
正体がはっきりわからないが、あの洞窟で姿を見せかけた魔王の“意志”がリポジトリ内で投影されている可能性は高い。かき集めたバグと融合しているのかもしれない。
それを証拠に、シルエットは低く震える声を立て、まるで我々を呪うように言葉を吐く。
「コードを……いじるな。俺の……コードを壊すな!」 その声は歪んでいるが、確かに魔王の響きを孕んでいる。リナとシエルが息を呑んで後ずさると、シルエットが胸のあたりから闇の塊を引きずり出し、こっちに放り投げようとする。危険な魔力が渦巻いているのが見て取れる。
「これ以上、好きにはさせない……!」
俺は心臓をギュッと鷲掴みにされるような恐怖を押し殺し、再び杖を握り直す。
こんな形で魔王の力が干渉してくるなら、ここで決着をつけるしかない。今ならワールド・リポジトリの権限を活かして、真っ向から相手を上書きできるかもしれない。
「シエル、branchを固定して、逃げ道を作るんだ。万が一失敗したときのために」
「は、はい……わかりました!」
「リナ、追加のpullはまだいける? 大丈夫ならもうひと押し頼む」
「やってみる! git pull --all!」
リナが全力で魔力を呼び寄せると、さっきよりもさらに激しい光と風が巻き起こる。足場が揺れるけれど、なんとか踏ん張って膨大な魔力を抱え込む。
黒いシルエットが不気味に笑う声を上げ、「こんな呪文に俺のコードが屈するか……」とでも言いたげに腕を振りかざす。
「屈させてやるさ。俺は、コード修正のプロなんだ!」
腹の底から沸き上がる気合を胸に、最後のコマンドを心中で唱える。
さっきのforce pushを上回るトドメ。これで相手の根本を完全に上書きしてやる――!
「git push --force -f “master”!!」
奇妙な二重唱のように声がこだまする。
視界が白く弾け、空間が悲鳴を上げるような雷音に包まれる。闇のシルエットがこちらの魔力を飲み込み切れず、バラバラに砕けそうな気配を見せる。
痛みなのか怒りなのか、奴の叫びが耳鳴りのように頭にこびりつく。
「ぐああああああッ……!!」
絶叫とともに、闇のシルエットが溶けるように崩れていく。
リナとシエルが必死に支えてくれるおかげで、俺自身はなんとか意識を繋ぎ止めているが、周囲の光景はぐるぐる回って目がチカチカする。混乱の中、エラー画面が一斉に現れては消え、現れては消える。
どれだけ時間が経ったか、わからない。やがて、足元のパネルが再び安定した色を取り戻す。
黒い渦や闇のシルエットも見当たらない。
どうやらバグの集積体も含め、魔王の影響を排除しきったらしい。
「……終わった……の?」
リナが膝に手をついて大きく息を吐く。俺も全身から力が抜けそうになるが、必死で踏みとどまり、パネルを見下ろす。
そこには“Conflict resolved”という文字列が浮かび、その下に“Remaining conflicts: 0”と表示されている。ゼロ……! 本当にあの膨大なバグをすべて解消したのか?
「やった……マジで片づけたのか……?」
シエルもへたり込みそうになりながら、薄く笑みを浮かべる。俺たちの強引なマージとforce pushが、なんとかワールド・リポジトリ内のバグを消し去ったのだ。
つまり、世界を覆っていた暴走魔法の根源は一応ここで整理されたわけだ。
「ってことは……外の世界から“暴走”が減るんじゃないか?」
「そうだといいけど……確認したいね」
俺たちはまだふらつく足取りで、リポジトリの端にあるターミナル画面へ歩み寄る。
そこにはリアルタイムのステータスが表示されていて、System stable とか All merges successful といった心強い文言が並んでいる。
これを信じるなら、世界中で暴走していた火球や雷撃は少なくとも大人しくなるはずだ。
「や、やったね、創也くん……!」
リナが破顔しそうなほど喜びの笑みを浮かべ、こっちに寄りかかってくる。
俺は彼女の背中をそっと支えながら、今さら沸き上がる実感をかみしめる。世界規模のデバッグが完了した……そう考えると胸が熱くなる。
「でも……魔王が完全に消えたわけじゃないかもしれない。もしカオス・マクスウェル本人が本格的に復活したら……」
シエルが弱々しい声で言う。確かに、魔王コードそのものの封印はどうなったのか。今回のforce pushで混乱は一時的に収束しても、魔王自身の存在が完全に消えた保証はない。
それでも、暴走を止めたのは大きな一歩だ。
「まあ、あいつの復活を阻止できただけでも良しとしよう。もしまた動き出すなら、そのときは今の俺たちなら対抗策を持てる気がする」
大きく深呼吸をすると、空間全体が静寂を取り戻しているのを感じる。バグがはびこっていた痕跡はあるものの、前みたいに黒い渦がうろつく様子はない。ワールド・リポジトリ自体が落ち着きを取り戻したみたいだ。
「よし、そろそろ外に戻るか。このままここにいたら、粛清部隊に邪魔されるかもしれないし……」
俺がそう提案すると、リナとシエルが同時にほっと息を吐く。
全員、身体中がガタガタだが、魔法陣を使えばギルド本部の管理所へ戻れるだろう。
ひとまず世界の混乱は収まるはずだから、少し落ち着いてから次の手を考えよう。
「ああ……でもすごいデスマーチだったね、今回」
リナの脱力系の一言に、思わず笑ってしまう。まさか異世界でバグ修正の巨大プロジェクトをやるなんて、誰が想像しただろう。だけど同時に、なんともいえない達成感がこみ上げてくるのも事実だ。
これがエンジニア――いや、“魔法デバッガー”としてのやりがいなのかもしれない。
「次は魔王本人と向き合うことになるかもしれないし、まだ気は抜けないな。けど、一歩ずつ前に進めてる気がする」
そう言いつつ、再び仲間の顔を見回す。リナとシエルはくたくただが、目の奥には確かな自信が宿っている。バグの嵐を消し去った事実が、俺たちの背中を押してくれているのだろう。
「よし……一旦お疲れ。戻ろう。世界がどれだけ落ち着いたかを確かめたいし、粛清部隊がどう動いてるのかも気になる」
「うん。やっと一息つける……といいな」
「私たちのbranch、まだ維持できるので早めに帰りましょう!」
三人そろって笑い合い、ワールド・リポジトリの暗い奥に視線を向ける。
もはや大きな脅威は姿を消しているが、漠然とした違和感が残るのも否定できない。
魔王カオス・マクスウェルの“意志”が完全に途絶えたのかどうか――それはきっと次の課題として訪れるだろう。
それでも、まばゆく輝くパネルの上を歩く今の感覚は、決して悪いものじゃない。
むしろ「一緒にやってやった」という爽快感がある。
俺は最後にもう一度 “Conflict resolved” の文字列を見つめながら、静かに眉を上げてつぶやく。
「このクソコード、ちょっとはマシになったかな……まあ、まだ最終調整は残ってるかもしれないが、いいじゃないか。次のデバッグも気合入れてやってやるさ」
そう心の中で宣言すると、リナとシエルが微笑み返してくれる。希望と疲労を抱えたまま、俺たちはbranch魔法で来た道を戻る。外の世界がどうなっているかはわからないが、少なくともバグの猛威は一段落しているはずだ。
いよいよ“魔王”との真っ向勝負に臨む準備が整いつつある――そんな予感が、胸の奥に静かに宿っている。
面白い/続きが読みたい、と感じて頂けましたら、
ページ下の【☆☆☆☆☆】から評価をお願いします!
ブックマークと、いいね・感想なども頂けると、とても嬉しいです