第2章 コードの正体!魔王のスパゲティコードを発見
あれから数日、俺とリナは町外れの小屋に潜伏している。
ギルドに追われている身だが、幸いここは空き家同然で使われていなかったらしい。屋根こそボロいものの、雨風をしのぐには問題ない。昼間は人目を避け、夜に食糧や水をこっそり買い出ししているうちに、自然と「このままじゃいかんよな」という話になってきた。
「ねえ、創也くん。ギルドの本部には“魔王コード”の資料があるって聞いたことあるよ」
夜な夜な小さなランタンの灯りの下で、リナがそう切り出す。俺はゴロ寝しながらスマホもない世界に退屈していたところだ。もっとも、スマホがあっても電波がないだろうが。
「魔王コードって、あのバグだらけの元凶か?」
「うん。いろんな術式の大元になってるらしいんだけど、あまりにも複雑で……誰も完全には把握してないんだって。だからギルドが本部の地下深くに保管してるみたい」
「そいつを見れば、世界中で起きてる魔法暴走の原因もわかるかもしれないってことか?」
リナがこくんと小さくうなずく。正直、厄介事に首を突っ込むのはごめんだが、放置すればまた火球暴走みたいな惨状が起こるのは目に見えてる。ギルドには追われているが、資料を探るには本拠地へ行くしかない……というわけだ。
「だけど、普通に考えたら潜入なんて無理ゲーだぞ? ギルドのやつら、俺を見つけしだい攻撃してくるだろうし」
「そこは私が知ってる裏口ルートを使ってみる? 実は実地研修の時にこっそり見つけたんだ」
なんだその不穏な情報は。管理官がこっそり抜け出すためのルートでもあったのか。しかしリナは得意げに胸を張っている。明るく無邪気に見えて、妙に抜け道とか裏技を知ってるのが彼女らしい。
「ま、ほかに手段はなさそうだしな。行ってみるか、ギルド本部」
というわけで、その深夜。俺とリナはこっそり町に戻ってきた。昼間よりはいくらか人通りが少ないとはいえ、巡回しているギルドの見張りが時折通りかかる。周囲を警戒しながら、薄暗い路地を進んでいくと、大きな石造りの建物が見えてきた。
これがギルド本部……見るからに厳かで、広い敷地にやたら守りが固そうな雰囲気だ。
「ここ。壁の裏に小さな扉があるんだ」
リナが手招きする先は、正面玄関からはだいぶ外れた場所にひっそりと据えられた木製の扉。鍵がかかっていないのか、そっと押すだけでするりと開く。誰にも見られてないことを祈りつつ、足を踏み入れてみると、そこは魔力を感じさせる妖しげな通路だ。
ほんのり磯っぽい匂いがして、地下へ下る階段が奥に続いている。
「……ほんとにこんなとこに資料があるのか?」
「うん、私も昔ちょっと覗いたことあるんだけど、石碑とか古文書がいっぱい置いてあった。それが多分、術式コードの保管庫だと思う」
「なら、そこに“魔王コード”もあるかもな。よし……行こう」
俺たちは足音を殺して階段を降りる。石の壁の冷たさが肌に伝わり、不気味な静けさが耳を覆う。
外の闇よりさらに暗いが、リナが持ってきた小型ランタンが淡い灯りを揺らしている。途中、壁に刻まれた奇妙な文字を見つけて立ち止まったりしつつ、ゆっくり進むと、やがて開けた空間にたどり着く。
そこはまるで図書館か倉庫のように、古めかしい書物や石板がずらりと並んでいた。
「すご……本当にこんなにあるとは」
まさかの宝の山だ。言語化できない魔術的な記号で埋まった本が何十冊もあるし、奥には巨大な石碑もそびえ立っている。俺は無意識に息をのむ。この世界の“知識の結晶”が、ここに集まっているのかもしれない。
「創也くん、あれ見て!」
リナが指さす先、壁の端のほうに大きな円盤状の石板がある。近づいてみると、そこにうっすらと術式っぽい文字列が刻まれているのがわかる。
ギルド語というか魔法文字というか、まだ慣れないけど、目を凝らせば“function”だの“mana”だのがぎっしり詰まっているのが見える。
「これ、かなりの行数だな……あれ、なんだ? ‘goto sectionA;’とか書いてある。やめろってば!」
思わず声が漏れる。goto文なんて、今時プログラムの禁じ手のひとつじゃないか。行き先が入り乱れてるのはまさに“スパゲティコード”の典型。
「これが……『魔王コード』の一部なのかな?」
リナが不安げにつぶやく。それにしてもすごい量だ。表面だけじゃなく、裏にも細かく書き込まれているらしく、どう見ても整理されてるとは思えない。
「……もしこれが本体なら、そりゃ暴走もするだろうな。こういう複雑すぎる構造は、修正しようと手を入れた瞬間にエラーが雪崩のように発生するんだよ」
「本当に直せるの?」
リナが心配そうに俺を見る。正直、俺とて黙々とマージできる自信は薄い。けど、このまま放置しておけば大規模なバグが次々に噴き出すのは想像に難くない。
「少なくとも現状は無理ゲーに近い。……でも手がかりはあるはずだ」
とりあえず“git blame”で誰が書いたかを追跡できるかもしれない。半ばジョークのつもりでそう思ってみるが、この世界では実際にそのコマンドが魔方陣や石板と連動する可能性がある。小声で呟いてみる。
「git blame……できるか?」
瞬間、石板がぼんやり青白く光りだす。そこに浮かぶ英字がゆっくりと形を整えていき、行ごとに作者情報のようなものが表示され始めた。俺は内心「マジかよ!?」と叫んでるが、口元はかろうじて閉じている。
「Author: Chaos Maxwell…だって。これが魔王の名前か?」
「カオス・マクスウェル……やっぱり伝承どおり、魔王が書いたのかな」
リナが神妙な面持ちでつぶやく。ここには他にも大量のファイル(っぽい刻印)があるので、全部同じ著者名が散見されるのかもしれない。あちこちに「//やばい」とか「//たぶん大丈夫」みたいな邪悪なコメントが散らばってるのも最高に嫌な予感だ。
「直すにしても、部分的にやらないと一気に崩壊しそうだな。再帰呼び出しが繰り返されてる形跡もあるし、そもそも構造的にミスってる。これ書いた奴、完全に勢いだけでコーディングしたな……」
よくある話だが、こんな規模でやられたらたまったもんじゃない。
「魔王が……勢いだけで?」
リナがきょとんとしているが、そりゃそうだろう。だって魔王って強大な存在というイメージがあるはずだ。俺から見りゃ「誰だよこんなスパゲティ書いたの」って怒りすら込み上げるけど。
「でも、ここまで深い場所に資料があるってことは、ギルド側も簡単にはアクセスできないようにしてるんだろうな」
再び石板を眺めていると、上のほうに「権限:魔王のみ」とかいう文字が刻まれているのを発見する。どうやら俺のように外部から好き勝手コードを修正されないよう、保護しているらしい。実際ギルドが“魔王以外の修正を許さん”と激怒してたのも納得だ。
「でも、創也くんはfireball術式を直してたし、あのギルドの人たちも『魔王じゃないならおかしい』とか言ってた。もしかして……」
リナの視線がじっと俺に注がれる。俺が苦笑いを浮かべる前に、誰かの足音が入口のほうで響いた。
「……誰だ、そこにいるのは」
低い声が地下保管庫にこだまする。暗闇からゆっくり現れたのは、黒いマントをまとった男――見覚えはないが、ただならぬ雰囲気を放っている。ギルドの紋章を身につけているようだが、ルシアスとも違う。その瞳には冷たい光が宿り、明らかに敵意を向けてきている。
「勝手に魔王コードに触れるとは。許可なき者は処刑対象だ」
「あー、やっぱりそう来るか……」
内心でため息をつきつつ、リナを背後にかばう。男の口元がわずかに吊り上がった瞬間、背筋にいやな汗が伝う。こいつ、ただ者じゃない。
「お前は何者だ? コードをいじった形跡があるようだが」
男は杖を軽く突き出す。その先からビリビリと魔力が漏れているのがわかる。俺はなるべく落ち着きを装いながら、正面から質問を投げる。
「そっちこそ誰だよ。俺はただの……まあ、“コードを直せる人”ってとこかな」
「ほう。ならば名乗ってやろう。ヴァイス・マージ。ギルドの粛清部隊を統率する者だ」
ヴァイス・マージ……聞き覚えのない名前だけど、“マージ”とつくあたりGitに関わりが深い気配がひしひしとする。見るからに手強そうだ。
「魔王コードは絶対的存在の産物だ。下手に干渉すれば世界が混乱する。先日、町で火球を無断で修正したのはお前か?」
「まあ、そうなるかな」
「ならば、同じくギルドの敵だ。覚悟しろ」
杖の先に青い光がきらめき、空気が張り詰める。リナが小さく息を呑む音が聞こえる。どうやらここで戦闘突入のようだ。しかし、この地下でド派手に魔法バトルをやったら資料が燃えるんじゃないか?
「やるなら外にしてくれ。大事な資料が台無しになるぞ?」
「貴様がそれを言うのか。魔王コードを修正しようとする異端者が、何をほざく」
バチバチと魔力が集まっていくのが目視できるほど強い衝撃を感じる。まずい。こいつは火球なんか比べものにならない大技を放つ気だ。
「リナ、下がれ! ……しょうがない、こっちもやるか。git pull!」
咄嗟に術式のリポジトリを呼び出し、手元にコードを展開する。“branch”だの“merge”だの、色んなログが一斉に流れ始めて混乱するが、まずは相手の攻撃を弾く術式を探さなくては。
「git merge --abort」と……いや、待て、どれが最適だ? 相手の魔法を上書きするか、リセットするか、どちらにせよこの地下空間を安全に保ちたい。悩む一瞬の間にも、相手は「git merge!」と叫んで、二つの術式を無理やり統合してきたようだ。
視界に炎と雷が重なり合うような嫌な輝きが走る。火と雷を同時にかぶせるとか、やる気満々じゃないか。
「ふざけんな、スパゲティ攻撃かよ……! ならこっちも“git rebase”してやる!」
思わず高声でコードを操作する。rebaseで分岐の履歴を整理し、衝突ポイントを一括で巻き戻していく。すると、相手の複数魔法が一瞬だけ衝突を起こしてバラけたようだ。
火と雷が別々の方向に流れ込んで、壁の一部が焦げる程度で済んだ。ほっ、危なかった。
「貴様、意外にやるな……」
ヴァイスが忌々しげに眉をひそめる。その視線がまっすぐ俺の手元を見つめているのがわかる。どうやら“Gitスキル”を使いこなせることが相当に異質らしい。
「git blame したら魔王カオス・マクスウェルの名前が出てきたけど、あれ本当にヤバいコードだろ。あんなスパゲティ放置してるから世界各地でバグってんじゃねーの?」
「黙れ。魔王のコードは絶対だ。むやみに書き換えるなど言語道断」
「絶対ねえ……だったらなんであちこち暴走してるわけ? 理想と現実が食い違ってるだろ」
ヴァイスの表情が一瞬だけ歪む。こちらの言葉に反応したようだが、すぐにその感情を抑え込むように冷たい視線に戻る。
「お前には関係ない。魔王以外がコードを改変するなど、断じて許されん」
「だったらその魔王とやらが責任もって直せばいいだろ。放置してんじゃねぇよ」
言い返した瞬間、ヴァイスが杖を振り上げる。再度襲いかかる魔力の波動。思わず身構えるが、ギリギリ間に合わないかもしれない。咄嗟にリナが前に飛び出そうとするのを押しとどめて、なんとか術式を呼び出す。
「git stash!」 コードを一時保存して衝撃を緩和するイメージを抱く。すると空間に満ちた魔力が一瞬だけ宙ぶらりんになるみたいだ。杖から放たれた炎が弾かれ、壁をかすめて飛んでいく。ズシャッという音と同時に、石壁が派手に燃え上がる。
「……っ、危なかった」
俺は冷や汗を拭いつつ、リナを振り返る。リナは固唾をのんで見守っている。こんな攻防を続けてたら保管庫が全焼しかねない。でもヴァイスの執念は相当だ。ギルドの“粛清部隊”なんて肩書を背負ってるだけあって、動きにも迷いがない。
「さっさとくたばれ、異端者め」
ヴァイスが低く唸り、そのままこちらに突進してくる。もう距離をとる余裕もない。杖からまばゆい稲妻が走る。こっちも何か対抗策を――と頭がフル回転した瞬間、ふと別の気配が地下室に差し込むのを感じる。
まるでガタガタッと扉が開いたような音だ。え、やばい増援か?
チラッとそちらを見やると、幸いギルド兵じゃなさそうだが、足音が複数ある。もしここで囲まれたら逃げ道がないぞ。考える時間もなく、俺はヴァイスの稲妻をかろうじて横に転がって回避する。
石床を転がる痛みに歯を食いしばりながらも、リナを見失わないよう必死に視線を巡らせる。
しかし、その一瞬の隙にヴァイスが更なる魔法を重ねようと杖を振り上げる。こいつ、容赦がなさすぎる。まだ何かでかい攻撃を仕掛けるつもりだ。俺が術式を呼び出すより早い……!
「待って!」
リナが必死に声を張り上げるが、ヴァイスは聞く耳を持たない。正真正銘、ぶっ殺す気で来ている。
それでも俺は手元に映るコード画面を必死に探り、何か、何かないかと焦る。攻撃を打ち消す術式……あるいは時間稼ぎのコマンド……。
すると、不意に視界の端で石板が光る。先ほどgit blameを試したあの巨大なスパゲティコードだ。
なぜかまばゆい輝きを放っていて、一瞬ヴァイスの動きが止まる。
「魔王コード……なぜ今?」
ヴァイスが目を見開く。俺もなんだかわからないが、どうやらコードに何らかの反応が起きているらしい。光が行ごとに走り、それが地面へと連なって魔法陣を形成している。
床に浮かぶ円形の紋様がまるで呼吸するように点滅し、ヴァイスまで怯んでいる。
「まさか……創也くんのせい?」
リナが不安げにこっちを振り向く。俺だってわからない。石板に手を触ったわけでもないし、余計なコマンドを打った覚えもない。でも一つ言えるのは、俺がfireball術式を修正したり、git blameを使ったりしているうちに、“魔王コード”とやらが俺を認識し始めた可能性があるってことだ。
「貴様……本当に魔王の力を継いでいるのか?」
ヴァイスが低く唸る。その眼差しには先ほどまでの殺意とともに、別の感情が宿っているように見える。恐怖か、あるいは警戒か。
「さあな。俺はただのデバッガーだって何度も言ってるだろ」
へらりと答えながらも、内心はドキリとしている。このスパゲティコードを下手にいじった結果、魔王権限を持ったとでも勘違いされてるのか?
……いや、勘違いというより、本当に権限が移ったかもしれないから怖い。
ヴァイスは一瞬だけ動きを止め、魔王コードの光を見つめている。それを見計らったように、リナが俺の腕を引っ張る。
「今しかない、逃げよう!」
「ああ……悪いけど、また今度にしてくれ」
俺はヴァイスを睨み据えながらも、退路の方へとリナと駆け出す。ヴァイスが追ってくる前に、暗い廊下を一気に駆け上がる。後方で「貴様……待て!」という怒声が聞こえるが、ここで戦うメリットはゼロだ。少なくとも魔王コードの一端には触れられたし、相手が油断した隙を見逃す手はない。
半ば強引に地上へと出ると、夜の町の冷たい空気が肌にまとわりつく。心臓がドクドクと鼓動を主張していて、思わず大きく息を吸う。リナも肩で息をしているが、それでもなんとか逃げ切れたようだ。
「はぁ……はぁ……。お疲れ、リナ。おかげで魔王コードの断片を確認できた」
「うん……だけど、すごいスパゲティだったね。あんなの、世界中でバグが起きても仕方ないよ」
お互い息を整えながら顔を見合わせる。ヴァイス・マージって奴は手ごわいが、ヤツの言動からしても、俺が本当に魔王コードを修正できる立場だと感じ始めてるようだ。そこが厄介でもあるし、逆に利用価値もあるかもしれない。
「カオス・マクスウェル……か。いずれ直接対峙することになるのかね」
魔王本人が今どこにいるのか、まだ見当もつかない。ただ、著者名として存在している事実は間違いない。ギルドはそれを崇拝するのか恐れているのか、それすら曖昧なまま管理している。
「創也くん、こんな危ないことに巻き込んでごめん。私、魔法管理官なのに何もわかってなくて……」
リナが申し訳なさそうにうつむく。俺は苦笑して彼女の肩を軽く叩く。
「いや、俺もわけわからんままだけど、ここまで来たら腹をくくるしかないだろ。バグは潰す。スパゲティはリファクタリングする。そういう仕事だと思っておく」
するとリナがぱあっと明るい顔になる。俺自身も不思議と恐怖より闘志が勝っている。だって“自分しかできないデバッグ”って言われたら、エンジニア魂に火がつくんだよ。
夜風がひゅうっと吹いて、火照った頬を冷やしてくれる。街並みの影に隠れて、俺とリナはしばし休息を取る。
あのヴァイスがどこまで追ってくるかはわからないが、今はひとまず退避するのが最優先だ。
「早く安定した場所に戻ろう。次にやることを考えないとな」
「うん!」
俺たちはそっと夜の路地を抜けていく。遠くにはまだギルドの灯りが揺らめいている。いつか魔王コードの本体を綺麗さっぱり修正してやる、その決意を新たにしながら、俺は再び暗闇の中へ身を滑り込ませる。
――魔王のスパゲティコードは、まだほんの一部しか見えていない。だけど、その壮絶な複雑さを目の当たりにした以上、放置すればいずれ世界が大変なことになるのは確実だ。
ギルドに「魔王の後継者」呼ばわりされるのはうんざりだが、スパゲティに対する意地もある。
ブラック企業のデスマ経験が、こんな形で役に立つとは思わなかった。こうなったら意地でも直してみせる。そう、胸の奥で密かに決める。
リナと並んで、裏通りの暗い道を静かに歩きながら、俺はそっと呟く。
「……Chaos Maxwell、だっけ? 覚悟しとけよ。お前の汚コード、全部デバッグしてやるからな」
面白い/続きが読みたい、と感じて頂けましたら、
ページ下の【☆☆☆☆☆】から評価をお願いします!
ブックマークと、いいね・感想なども頂けると、とても嬉しいです