第2話 戦術OS、起動します
城へ向かう道は、思ったよりも短かった。
広場から王城までは馬車で三十分ほど。途中、何度も兵士とすれ違った。鎧の擦れる音、怒鳴り声、馬のいななき。街の空気が、さっきまでの「日常」から完全に切り替わっている。
馬車の中で、リゼは膝の上で手を握りしめていた。指先が冷えている。
「魔王軍って……いつも、こんな突然に来るの?」
「……来ない。普通はもっと前に兆候があるの。関門が突破されるなんて……」
彼女は言いながら、私の方をちらりと見た。
「ユウ、さっきの……詠唱なしの修繕。先生たち、すごく驚いてた」
「俺も驚いてる。圏外なのに動くし」
私はポケットの中でスマホを握りしめた。手汗で滑りそうだ。
画面を点ける。やっぱり圏外。なのにAIは平然としている。
AIエージェント:「状況アップデート:王城周辺の魔力密度が上昇。大規模術式の準備が進行中。あなたが関与すると、結果は改善する見込み。」
改善する見込み。
まるで、いつものプロジェクトの炎上対応みたいな言い方だ。
「……結果を改善する、って。ここ、ゲームじゃないんだけどな」
独り言に近かったが、リゼは聞き取ったらしく首を傾げた。
「ゲーム……?」
「こっちの話」
説明している時間はない。説明すると、いろいろ自分の心が折れる。
───
王城は、外から見てもわかるほど“忙しい”場所になっていた。
門前には人が溢れている。避難民なのか、商人なのか、叫び声が混じる。兵士が必死に列を整理していたが、整理など追いついていない。
私たちは教師の徽章を持つ男に連れられ、裏口から中へ入った。石造りの廊下を抜け、広間へ出る。
そこで目に入ったのは……魔法陣だった。
床に描かれた巨大な円。複数の同心円に、細かい文字と幾何学模様。周囲を十人以上の魔導士が囲み、息を合わせて詠唱している。声が揃っているのに、どこか危うい。手順が長すぎて、ほんの少しのブレが積もって崩れそうだ。
私は思わず呟いた。
「……モノリスだ」
「……何ですか、それは」
教師が振り返る。私は首を振って誤魔化した。
「でかすぎるって意味」
実際、でかすぎる。大規模術式は“強い”が、“重い”。起動に時間がかかる。修正ができない。途中で止められない。ソフトウェアの巨大一枚岩そのままだ。
そこへ、鎧姿の男が駆け込んできた。顔に汗が浮いている。
「敵影、三隊! 南門へ二隊、西の丘陵へ一隊! 速度が速い、騎獣だ!」
広間の空気が冷えた。
「三隊……!? 偵察は何をしていた!」
「こちらの斥候が……戻っていません!」
誰かが叫ぶ。誰かが罵る。誰かが祈る。
教師が私の肩を押した。
「ユウ、君の力を見せろ。……さっきの、あの“ジェム”だ。あれで……」
「無理だって。俺、まだこの世界の戦争のルールも知らない」
口が勝手に動いた。拒否に近い言葉。
でも私は同時に理解していた。
ここで“何もしない”のは、たぶん最悪の選択肢だ。
スマホが震えた。
AIエージェント:「提案:あなたは火力を担う必要はありません。現在のボトルネックは“情報統合”です。敵の位置、進路、到達時間を統合し、防衛側へ配布してください。」
情報統合。
戦術OS。
火力ではなく、意思決定の速度を上げる。
それなら、できるかもしれない。
私はスマホの入力欄に短く打ち込んだ。
「この城の周辺地図を出せる? 敵の位置を推定できる? 魔力反応とかで」
AIエージェント:「可能。周囲の魔力場から、移動体の反応パターンを抽出します。許可:あなたの端末を“観測点”として使用します。」
「許可?」
AIエージェント:「あなたが拒否しない限り、実行します。」
勝手に走り出している。
私のスマホの地図アプリ……に似た画面が開いた。見慣れたUIのはずなのに、表示される地形は知らない土地だ。王城を中心に、川、丘陵、街道、門の位置。そこに赤い点が三つ、ゆっくりと、しかし確実に近づいてくる。
そして、赤点の進路に薄い線が引かれた。到達予測時間まで表示される。
私は息を吸った。
「……見える」
リゼが覗き込んで目を見開く。
「それ……地図? しかも……動いてる」
広間の人間は、まだ怒鳴り合いと詠唱の継続に忙しい。
私は教師の腕を掴んで引き寄せた。
「先生。敵、三隊じゃない。三隊“以上”だ。赤点が三つ見えてるけど、周辺に薄い反応が散ってる。多分斥候潰しの小隊。これ、門の外側で乱戦になる」
「な……君、何を根拠に……」
「根拠はこの地図。……いや、信じなくていい。だけど、時間がない」
教師は迷った顔をした。迷って当然だ。私はこの世界で信用ゼロの異邦人だ。
でも、教師の背後で詠唱が一瞬揺らぎ、魔法陣の光が弱まった。魔導士の一人が咳き込み、声が途切れた。
巨大術式の準備が、すでに綱渡りになっている。
教師は歯を食いしばり、声を張り上げた。
「指揮官を呼べ! ――防衛指揮官だ!」
数分後、甲冑に青いマントを羽織った男が現れた。見た目は三十代。目が鋭い。状況の全体を一瞬で見て取るタイプだ。
「私が防衛指揮官、ラドゥルだ。――君が例の“詠唱なし修繕”をやった男か」
「ユウです」
「名乗りはいい。いま必要なのは結果だ。君は何ができる?」
直球だ。嫌いじゃない。
私はスマホを差し出した。
「敵の位置と進路を、ほぼリアルタイムで見られます。……多分、魔力反応の観測で」
「そんな馬鹿な」
「俺もそう思う。でも、見える。南門へ二隊、西へ一隊。その裏に散開した小隊。いまこの速度だと、南門は二十分以内にぶつかる」
ラドゥルは一瞬だけ私を睨み、次にスマホの画面を見た。画面上の赤点は、確実に動いている。
彼の眉がわずかに動いた。
「……これが本当なら、南門は守り切れない。魔導士団の術式が間に合わない」
私は言った。
「門で全部止めようとしない方がいい。南門の外で迎撃するより、門の内側の広場を第二防衛線にした方がいい。侵入された前提で“誘導”して、まとまったところを叩く」
「誘導……」
「敵が散開してるなら、こちらも散ると負ける。逆に、こちらが“通す道”を決めれば、敵はそこに集まる」
ラドゥルは短く笑った。馬鹿にした笑いではない。
“面白いことを言うな”という笑いだ。
「君は戦術家か?」
「ただのソフトウェア……いや、ただの技術屋です」
言いかけて飲み込んだ。
異世界で「ソフトウェアエンジニア」と言っても伝わらない。
ラドゥルは決断が早かった。
「いい。君の地図を信じる。南門の兵を半分引かせる。門外迎撃をやめ、内側に誘導。西の丘陵には騎兵を出す。――魔導士団、術式は“南門広場”へ照準を合わせろ! 敵を集めたところで叩く!」
広間が一斉に動き出した。怒鳴り合いが命令に変わる。混乱が、ほんの少しだけ秩序に変換された。
それでも、まだ問題が残っていた。
魔導士団の術式は重い。詠唱が長い。
敵は二十分で来る。
間に合うか?
スマホが震えた。
AIエージェント:「追加提案:魔導士団の詠唱シーケンスに“欠落”と“冗長”が存在します。短縮パッチを作成できます。ただし、あなたは術式の入力を行う必要があります。」
術式の入力。
この世界の詠唱を、私は知らない。
リゼが小さく言った。
「ユウ……先生たちの詠唱、学校で習う基礎の積み重ねです。でも、量が多すぎて……」
積み重ね。
モジュールの合成。
これなら、やりようがある。
私はラドゥルに言った。
「魔導士団の詠唱、今どこまで進んでる? 手順の番号とか、段階があるはず」
「……段階表がある。だが部外者に見せるものでは――」
「今は規則より時間です」
言い切ると、ラドゥルは一瞬迷い、しかし頷いた。
「持ってこい!」
すぐに、羊皮紙の束が運ばれてきた。びっしり書かれた手順。段階番号。必要魔力。注意事項。
私はそれを見て、喉が乾くのを感じた。
……これ、完全に手順書だ。
しかも更新を重ねた手順書。書いた人の癖が混じっている。
いま、まさにこの場で、それを“手打ち実行”している。
私はスマホに向かって低く言った。
「AI。これ、短縮できる? 危ないところだけ最小修正で。完全な最適化はいらない。失敗しないこと優先」
AIエージェント:「了解。目的関数:成功確率最大化。短縮は“局所パッチ”として適用します。必要:現行詠唱の進捗ログ。」
進捗ログ。
この世界にログなんてあるわけ……いや、ある。
魔法陣の縁に、薄く光る文字列が流れている。詠唱が進むたびに、文字が変化していた。
あれは、状態表示だ。UIだ。
私は魔法陣に近づき、光る文字をスマホで撮影した。
リゼが息を呑む。
「……撮った。いまの、何?」
「記録。……無属性魔法、ってことにしといて」
言ってから気づいた。
私、もうこの世界の言葉で誤魔化すのが上手くなっている。嫌だな。
スマホの画面に、AIが解析結果を表示した。
AIエージェント:「進捗を取得。冗長ステップ:3つ。欠落補正:1つ。パッチ案を提示します。形式:短縮詠唱+補助ジェム。」
またジェムだ。
再利用可能な部品。
この世界で、私が作れる“プロダクト”の形。
私は近くの机にあった透明な結晶片を掴んだ。装飾用のものだろう。
AIの指示に従い、結晶片を魔法陣の縁に触れさせる。
結晶が光った。
魔法陣の文字列が一瞬だけ乱れ、次にすっと整った。
詠唱していた魔導士の一人が、驚いた顔で言った。
「……術式が、軽くなった……?」
別の魔導士が叫ぶ。
「声が通る! 手順が短い! いけるぞ!」
ラドゥルが私を見た。目の色が変わっている。
「君……いま、何をした?」
「……最小修正です。短縮パッチ」
「パッチ……?」
「直すための、ちょっとした差分」
ラドゥルは意味がわからない顔をしたが、次の瞬間にはもう興味を捨てていた。指揮官は“なぜ”より“結果”だ。
「よし! 南門広場へ照準固定! 敵を入れろ! 門は閉じるな、通せ! 第二防衛線、準備!」
城の中がうねるように動き出す。兵士が走る。魔導士が声を揃える。避難民が叫ぶ。
その騒音の中で、スマホの地図の赤点が、城門の位置に重なった。
AIエージェント:「敵先頭部隊、侵入開始。推奨:広場中心に集束するまで待機。なお、あなたは既に“作戦の中核”です。」
作戦の中核。
笑うしかない。
───
南門広場は、人の叫びと足音で埋まっていた。
誘導するために門を開けるというのは、正気の沙汰ではない。
しかし、誘導しなければ散開した敵を各所で相手にすることになる。それは負け筋だ。
門が開く。
黒い影が雪崩れ込む。
馬より大きい騎獣に跨った兵。獣の爪。光る目。
そして――空気が変わる。魔力の圧が重い。
「来た……!」
兵士が叫ぶ。
魔導士団の詠唱が最終段階に入る。声が震えている。
敵は広場へなだれ込み、こちらが用意した“通路”に沿って進む。
集まる。集まる。集まる。
スマホの画面で、赤点が一箇所に密集していくのが見える。
私は思わず息を止めた。
「……今だ」
私が言うより早く、空が白く光った。
巨大術式が発動する。
眩い光が広場を覆い、次の瞬間、轟音。
風圧が肌を叩き、髪が舞う。石畳が震える。
光が収まったとき、広場の中心には黒い焦げ跡が残っていた。
敵の姿は、そこにない。粉のように散って消えた。
しんとした静寂が、ほんの一瞬だけ降りた。
それから――どっと歓声が上がった。
「守った!」
「魔導士団、成功だ!」
「魔王軍を押し返したぞ!」
勝った。
少なくとも、今この瞬間は。
私の膝が、遅れて震え始めた。
全身から力が抜けそうになる。
リゼが私の袖を握って支えた。
「ユウ……すごい……」
「俺じゃない。あの人たちが……」
言いかけて、止めた。
違う。
私がやったのは火力ではない。
でも、火力が“間に合う”ように、世界の繋ぎ目をいじった。
そのとき、ラドゥルがこちらへ歩いてきた。
顔には疲れが浮かんでいるが、目はまだ鋭い。
「ユウ。君がいなければ、南門は落ちていた」
私は何も言えなかった。
ラドゥルは続けた。
「君をこの城に縛り付けるつもりはない。だが……君の力は、王国の資産だ」
資産。
人間を資産と呼ぶのは大抵ロクでもない話の始まりだが、この世界の言葉の使い方はまだわからない。
彼はリゼに視線を向けた。
「君は魔法学校の学生だったな。――彼を、編入させろ」
リゼが目を見開く。
「え……でも、ユウは……身元が……」
「身元など、いま作ればいい。必要なのは制度だ」
制度。
この人、わりとわかってる。
ラドゥルは私に向き直った。
「魔法学校なら、君の“通信魔具”も研究できるだろう。王国としては、君が暴走するより、教育の枠に入ってもらった方が安全だ」
暴走。
いや、暴走するのはAIの方かもしれない。
スマホが震えた。
AIエージェント:「観測:あなたは“制度”へ組み込まれます。推奨:受諾。次のステップ:魔法体系の抽象化を進め、“逐次実行の自動化”を獲得すること。」
逐次実行の自動化。
それ、つまり――“プログラム”だ。
私は息を吐き、そして頷いた。
「……わかりました。編入、します」
リゼが、ほっとしたように微笑んだ。
「じゃあ……同級生だね、ユウ」
同級生。
いい響きだ。少なくとも、“資産”よりは。
そして、王城の空の向こうで、黒い雲がゆっくりと形を変えていくのが見えた。
まだ終わっていない。始まったばかりだ。




