第22話:ウィンドウ枠の固定(フリーズ・ペイン) 〜スクロールさせない絶対防衛線〜
ズズズズズ……。
地鳴りのような振動が、支部長室の床を通して伝わってくる。
3Dマップ上の赤い奔流(オーガの群れ)が、青い防衛ライン(城壁)に激突した瞬間だった。
`[Alert]: Frontline Engagement Started`
`[Damage Rate]: High`
視界の端に流れるログが、戦場の激しさを物語っている。
俺はマップを拡大した。
城壁の上では、弓兵や魔術師たちが雨のように矢と魔法を降り注いでいる。
城門の前では、ガント支部長率いる「重装戦士団」が、丸太のような棍棒を振り回すオーガたちと正面からぶつかり合っていた。
「被害状況報告!」
俺が叫ぶと、通信役のミリアが青ざめた顔で叫び返した。
「第1防衛ライン、接触しました! オーガの力が強すぎます! 盾の上から吹き飛ばされる冒険者が続出! 支えきれません!」
マップ上の青いドットが、いくつか点滅し、そして消滅(死亡または戦闘不能)した。
胸が痛む。
だが、感情に溺れている暇はない。これは「リソース管理」だ。
「第2班(予備戦力)、前へ! 傷ついた第1班とスイッチしろ! ヒーラーは『範囲回復(SUM関数)』ではなく『単体集中回復(VLOOKUP)』だ! 重傷者を優先しろ!」
俺はギルドカードを通じて指示を飛ばす。
戦況は拮抗しているように見えた。
だが、俺の `Excel・アイ` は、致命的な「傾向」を読み取っていた。
オーガたちの動きが、妙に統率されている。
通常、魔物は本能のままに暴れる「ランダム関数(RAND)」のような存在だ。
しかし、今の彼らは違う。
特定のポイント――城門の右翼、比較的守りが薄いC-4ブロックに戦力を集中させている。
一点突破狙いだ。
`[Analysis]: Strategic Movement Detected`
指揮官がいる。
後方に控える「オーガ・メイジ」か。
奴がこちらの陣形の「脆弱性」を突こうとしている。
「くそっ、C-4ブロックが抜かれるぞ!」
ミリアが悲鳴を上げた。
マップ上、C-4ブロックを守る青いドットたちが、赤い奔流に飲み込まれそうになっている。
そこが突破されれば、街の中にオーガが雪崩れ込む。
市民(非戦闘員データ)が虐殺される。
増援を送るか?
いや、間に合わない。移動コスト(時間)がかかりすぎる。
ここから、遠隔で、物理的に干渉する手段が必要だ。
俺は思考を加速させた。
Excelにおいて、「動かしたくないもの」をどう処理するか?
スクロールしても、データが増えても、常に画面の端に留まり続ける「見出し行」。
そうだ。
`[表示] タブ` → `[ウィンドウ枠の固定 (Freeze Panes)]`。
特定の行や列をロックし、スクロールから除外する機能。
これを、物理空間の「座標」に適用したらどうなる?
俺はマップ上のC-4ブロック、城壁のライン(行)を選択した。
MPバーを確認する。
`MP: 8/10`。
足りるか?
広範囲への物理干渉だ。コストは高いはず。
だが、やるしかない。
「ミリア! C-4ブロックの全員に伝えろ! 『その場から一歩も動くな』と!」
「えっ!? で、でもオーガが目の前に!」
「いいから伝えろ! 動くと『固定』に巻き込まれて千切れるぞ!」
ミリアが必死に通信を送る。
俺は右手を突き出し、掌をグッと握り込んだ。
`Target Area: Wall_Sector_C4`
`Function: Freeze Panes (First Column)`
実行(Execute)!!
バチィィィィンッ!!!
空間が軋む音が、遠く離れた支部長室まで響いた気がした。
モニター越しに見るC-4ブロック。
そこには、異様な光景が広がっていた。
突進してきた数体のオーガが、城壁の手前、何もない空中で「ビタ止まり」したのだ。
まるで、透明なガラスの壁に激突したかのように。
いや、違う。
彼らは動いている。足を動かし、腕を振り回している。
だが、「座標」が進まない。
世界という画面がスクロールしても、その「枠(境界線)」だけが固定され、絶対に進めない領域と化していた。
「な、なんだあれは!?」
現地からの音声が入る。
冒険者たちも呆然としている。
オーガがどれだけ力任せに押しても、その「固定された行」は1ミリも揺るがない。
物理的な壁ではない。「概念的な固定」だ。
システム上、それ以上右(街側)に行くことが許可されていないのだ。
`MP: 2/10`
ガクンと膝が折れた。
視界が明滅する。
やはり重い。空間そのものを定義し直すような処理だ。長時間は持たない。
「今だ!! 敵は動けない! 一方的に殴れるぞ! 撃てェッ!!」
俺はマイク(拡声魔法)に向かって叫んだ。
ハッとした冒険者たちが、固定されて「的」となったオーガたちに、槍や魔法を浴びせかける。
オーガたちは回避も前進もできず、次々と沈んでいく。
`[Situation]: C-4 Block Stabilized`
凌いだ。
俺は荒い息を吐きながら、椅子の背もたれに倒れ込んだ。
ミリアが駆け寄ってきて、ポーション(俺が経費で買わせた良質なやつ)を口に突っ込んでくる。
「工藤さん! 大丈夫ですか!?」
「……あぁ、なんとかな。だが、今の『固定』は3分が限界だ。その間に態勢を立て直させろ」
ポーションの苦味が広がり、MPが少し回復する。
`MP: 2/10` → `5/10`。
だが、敵も馬鹿ではない。
C-4への攻撃が通じないと見るや、オーガの群れは潮が引くように後退し始めた。
撤退か?
いや、違う。
`[Alert]: Enemy Reinforcement`
`[Type]: Ogre General (Boss Class)`
マップの奥、赤い粒子の中心から、一際巨大なドットが現れた。
オーガ・ジェネラル。
身長四メートル、鋼鉄の鎧を纏い、身の丈ほどの巨大な斧を持った化け物。
奴が、ゆっくりと前線に出てきた。
そして。
奴の周囲に、奇妙なエフェクトが発生している。
赤い霧のようなオーラ。
それに触れた周囲のオーガたちが、一回り大きく膨張し、目が血走った赤色に染まっていく。
`[Effect]: Battle Cry (War Song)`
`[Buff]: ATK +50%, SPD +30%, Pain Resistance (MAX)`
広範囲バフ(強化魔法)だ。
バーサーカー化したオーガの群れが、再び雄叫びを上げて突撃を開始した。
今度は小細工なしの、中央突破。
その速度と質量は、先ほどの比ではない。
「ウィンドウ枠の固定」のような小手先の防御では、処理落ち(ブレイク)して突き破られるかもしれない。
「……厄介だな。バフ持ちか」
俺は舌打ちした。
こちらの冒険者は疲労し始めている。
ステータス異常『恐怖』が蔓延しつつある。
このままぶつかれば、押し負ける。
敵のバフを消さなければならない。
しかし、どうやって?
俺のスキルは、接触か、視認範囲での操作が基本だ。
ここ(支部長室)から戦場までは距離がある。マップ経由での干渉には限界がある。
その時。
マップ上で、一つの「青いドット」が、突出して敵陣に切り込んでいくのが見えた。
カイルだ。
『暁の剣』パーティが、オーガ・ジェネラルを目指して特攻を仕掛けている。
「無茶だ! 孤立するぞ!」
俺は叫んだが、カイルは止まらない。
彼は知っているのだ。
このまま防戦ジリ貧になれば負けることを。
だから、リスクを承知で「社長」の首を取りに行った。
だが、ジェネラルの周囲はバーサーカー化した親衛隊で固められている。
カイルのHPバーが、見る見るうちに削られていく。
`HP: 240/240` → `180` → `120`……
援護が必要だ。
物理的な援護ではない。
カイルがジェネラルに届くための「道」を作る、論理的な支援が。
俺は机の上の羽ペンを掴んだ。
マップではなく、手元の羊皮紙に、ある「関数」を書き殴る。
それを、通信魔法でカイルの元へ「転送(添付ファイル送信)」する。
「ミリア! カイルに繋げ! 俺の声を届けるんだ!」
「は、はい! 繋がりました!」
俺は叫んだ。
「カイル! 聞こえるか! 今からお前の剣に『属性』を付与する! 30秒だけだ! その間にジェネラルの武器を叩き折れ!」
『属性だと!? 俺は魔法剣士じゃねぇぞ!』
カイルの苦悶の声が返ってくる。
「魔法じゃない! 『計算式』だ!」
俺はカイルの剣をリモートで選択した。
そして、そのプロパティにある `[攻撃属性]` 欄を書き換える。
通常は `物理 (Slash)` だ。
だが、オーガの鎧は物理防御が高い。
ならば、どうする?
俺は `TEXT` 関数を応用した。
数値を、特定の表示形式に強制変換する関数。
物理ダメージを、別の形式に変換する。
`=TEXT(Sword_Damage, "################")`
シャープ(#)。
Excelにおいて、列幅が足りない時に表示されるエラー記号。
だが、その形状は「鋭利な格子」にも見える。
そして何より、「桁溢れ」を意味する。
俺の意図はこうだ。
カイルの攻撃力を、一時的に「システムが許容する桁数」以上に増幅させ、防御計算をバグらせる(貫通させる)。
実行!!
モニター越しに、カイルの持つ大剣が、まばゆい「ノイズ」のような光を纏ったのが見えた。
『うおおおおおっ!! なんだこれ! 剣が勝手に唸ってやがる!!』
カイルが叫び、ジェネラルに向かって跳躍した。
ジェネラルが巨大な斧で迎え撃つ。
鋼鉄とノイズが激突する。
次の一撃が、戦局を決める。
俺は祈るように、Enterキー(虚空)を叩いた。




