第三十九話:カームとバグ曲線
『Calm』という魔法を、これまでは英語表記していましたが、今回から他の魔法に合わせて、カタカナの『カーム』に変更します。
以前の話の『Calm』と『カーム』は同じ魔法を指していると思ってください。
よろしくお願いします。
獅子の獣人――ラオは、あの時のことが頭から離れなかった。
* * *
あの時――
――霧の幻影城・ホール前。
薄暗いホールを漂うメイドと執事の幽霊たち。
ケンタは状況を一瞥すると、ラオへ小声で囁いた。
「ラオ、カームは二度掛けしてくれ」
「二度……了解」
本来なら重ね掛けなど必要ない魔法。
理由はわからないまま、ラオは二度続けて詠唱した。
「カーム……カーム!」
幽霊たちのリンクが静かに切れ、一体ずつ誘き出して処理していく。
淡々と倒し終えるまで、浮遊する幽霊たちは一度も絡んでこなかった。
(……そういえば)
ホールを抜ける頃、ラオはふと気づいた。
(結局、一度も掛け直す必要がなかった……)
『カーム』の効果時間は本来はそれほど長くはない。
(……何がおかしい?)
その疑問だけが、ずっと胸に残り続けていた。
* * *
本来『カーム』は、敵対心を鎮め、群れのリンクを断つための補助魔法。
重ね掛けしても効果時間が伸びるわけでも、効果が増すわけでもない。
だから普通は、一回唱えれば十分で――二度掛けなどまずしない。
――にもかかわらず。
二重詠唱のあと、ホールの亡霊たちを片付け終えるまで、
一度も掛け直す必要がなかった。
ログにも「効果終了」の表示は出ず、どう見ても効果時間が“無限”扱いになっていた。
バグ技使用は褒められた行為ではない。
だがログアウト不能のデスゲーム――生き延びるためと割り切らざるを得ない状況だ。
――割り切るしか、ないのだが。
「……カルネアデスの板か……」
ぽつりと独り言が漏れた。
倫理か、生存か。
選択肢は単純だと頭ではわかっている。
それでもラオは、生真面目な性格ゆえに、どうしても“理由”が気になってしまう。
「どうして、二回かけただけで無限になるんだ……?
本来なら、一回目と何も変わらないはずだろ……?」
この疑問をジンに漏らしたとき、軽く笑われた。
「いや、ソコかよー……」
仲間たちからすれば、“そこで疑問を抱くのはラオだけ”という感覚なのだろう。
だが因果が曖昧なままというのは、ラオにはどうしても落ち着かなかった。
(……詳しい者に聞くしかないな)
そう思い立ったラオは、市場で手土産を吟味してから『ルーイン・ゴート』に向かうことにした。
相談に行く以上、礼を欠くわけにはいかないという、生真面目な性分ゆえだ。
* * *
市場通りに着いたラオは、ふうと息をついた。
「やはり、食べ物かな……?」
露店には色とりどりの野菜や果物が並び、実に目移りする。
そのとき、馴染みの野菜商が手を振った。
「ラオの旦那、いい野菜入ってるよー!」
「すまん、今日は贈答品を探しているので、野菜は……」
断ろうとしたその瞬間、視界に瑞々しい葉物が飛び込んできた。
新鮮な野菜の光沢が、思わずラオの足を止めさせる。
「晩飯の素材にどうですか? 大根以外ならなんでもおすすめですよ」
「大根はないのか?」
問われた八百屋が、なぜか肩をすくめる。
「いや、だから“大根以外”って言ったでしょうが」
そう言われると逆に――頭に浮かぶ、完璧なビジュアル。
(みずみずしく……シャキシャキの……大根……)
脳内で、湯気の立つ白い身がふるふる震えた。
「ふろふき大根……いや、ブリ大根か……」
「いや、だからないんですって!」
野菜商は苦笑しつつ、事情を説明する。
「シルヴァノールからの供給がなんでか止まってましてね。
それに――隣のお客さんが大食いでして……」
「隣? 隣は武具屋では?」
ちらりと覗くと、その隣から元気な声が飛んできた。
「ラオさん、いいメイスありますよ!」
小柄なハーフリングの少女、クルミである。
「おお、ガン鉄殿の一番弟子の……」
「やだ、一番弟子なんて……そもそも一人しかいないっすよ」
差し出されたメイスを見るや、ラオは唸った。
「こ、これは……うむむ……」
真っ黒な金属。表面をうごめく紫の禍々しいオーラ。
どう見ても“やばい”武器だ。
ラオが恐る恐る手に伸ばすと――
ビン!
メイスは拒絶するように弾け、露店の奥へ吹っ飛んだ。
「あー、やっぱダメっすね……」
クルミは拾いに行きながら肩を落とした。
「魔メイスなんて、使える聖職者いないって言ったんすけど……
師匠ったら……どうしても作りたいって……」
「そ、そうですな……では、私はこれで……」
背中に冷たい汗がつーっと流れる。
これ以上あのメイスに関わると“良くない予感”しかしない。
ラオはそそくさと武具屋から離れ、
結局、無難なフルーツ盛り合わせを一式購入した。
(……よし。これなら間違いあるまい)
紙袋を持ち直し、足を『ルーイン・ゴート』へと向ける。
* * *
――ルーイン・ゴートのホール。
「カームについて聞きたい?」
ケンタの怪訝な声に、ラオは静かにうなずいた。
「ああ、すまん、ちゃんと説明してもなかったか?」
「なぜ、あのような動作になっているのですか?
どうにも理屈が見えず、気になっておりましてな」
ラオの真剣な問いに、ケンタは小さく「ああ……なるほど」と息を漏らす。
そのとき――
テーブルの脇から、ちょこちょこと小さな影が忍び寄ってきた。
「ほっほっほ、ラオ殿もとうとう“バグ”に興味を持たれたんじゃの」
ノームの老エンジニア――ログ爺である。
すでにホワイトボード窓を展開し、やる気満々の顔つきになっていた。
「よいか、説明するぞい!」
ログ爺はペンを取り、人型モンスターを二体描き、
その周囲に大きな円を描いて重ね合わせる。
「そもそもカームは、“モンスターの反応範囲”を狭める魔法じゃ」
続いてその円の内側に、ひとまわり小さい赤い円を描き足した。
今度は、赤い円同士は接触していない。
ラオは即座に理解し、うなずく。
「それは存じ上げております。
複数ポップの部屋から一匹ずつ釣り出し、各個撃破を可能にする――戦術上の要ですね」
「うむ。うまく使えば、インビジの代わりにもなるぞい」
「おお……!
なるほど、気付かれないというのは、すなわち“見えていない”のと同じ……!」
哲学めいた話にラオが感心したそのとき――
「石ころ帽子みたいだな……」
タクヤがぽつりとつぶやき、場がゆるむ。
「やっとわかった!見えてるのに無視されるアレね!」
結が思わず手を打つ。
「……結ちゃん言い方がダメなやつだがね」
シャチョーが顔を引きつらせて苦笑する。
「コホン!」
ログ爺が咳払いし、話を続ける。
「このカームという魔法、元々はモンスター専用の認識範囲に干渉する魔法じゃった。
じゃが今は、プレイヤーにかけると“心を落ち着かせる”効果まで出る。
つまり――対象によって処理が違うのに、それをひとつの魔法に共用してしまったんじゃ」
ここで、ログ爺とケンタは、
以前皆に説明した“カームをアイテムに使うと素材化可能フラグに干渉してしまう”という事実を、ラオにもかいつまんで伝えた。
「な、なるほど……!
では二度掛けで効果時間が無限になるのも、その干渉のせいなのですか?」
ラオの問いに、ケンタはすぐに首を振った。
「いや、それだけじゃ説明がつかない。
範囲を狭めるとか心拍数を抑えるってのは、“数字を小さくする処理”だ。
むしろ効果時間は短くなりそうなくらいだ」
「うむ。そもそもコンピューターの扱う数字は有限ビットじゃ」
ログ爺がホワイトボードに
「0 → -1 = 最大値」
と簡潔な図を描く。
「0から1を引くと普通は -1 じゃが、型によっては“最大値”と解釈される。
つまり少し短くするつもりが、逆に最大値に飛んでしもうた――
そういうバグはよくある話じゃ」
「ちょ、ちょっと待って!」
そこで結の頭が爆発した。
「なんでマイナス1が最大値なの……?」
「常識だろ?」
ケンタが当然のように返す。
「あー!!私の世界の常識どこいったのーー!」
結はテーブルに突っ伏し、魂が抜けかけていた。
「例えば16ビットなら、65,536個の数値を表せる」
ログ爺は落ち着いた声で続け、ホワイトボードに数直線を二本描く。
一本は――
左端が 0、右端が 65,535。
もう一本は――
左が -32,768、右が 32,767、真ん中に 0。
「これを“符号なし数値”として扱うなら上。“マイナスも扱いたい”というなら下の割り当てになるんじゃ」
そしてログ爺は“0”の左をトントンと指先で叩く。
「この線はな……ループしとる。
0 から左にはみ出すと反対側――つまり“最大値”に飛ぶんじゃ。
上の割り当てなら、0 引く 1 は 65,535。これが最大値なんじゃ」
「?!?!……???」
結の頭の上で、金色のクエスチョンマークがさらに増殖した。
「結ちゃん、でらクエストNPCみたいだがや」
シャチョーが肩を揺らして笑う。
「そんなこと言って、シャチョーは分かるの?」
結が突っ伏したままじとっと睨む。
「16ビットゆーたら、メガ◯ライブだがや!」
シャチョーは胸を張って、明後日の方向の知識を披露するのだった。
「そうか、型変換ミスか?……いや、待て。
モンスターにかけるカームは普通に“反応範囲の数値”を書き換えているだけだし……
効果時間の処理は、おそらく別の場所にある……」
「ふむ。つまり“別のバグ”ということかのお……」
ログ爺とケンタが同時に腕を組む。
気付けば、ルーイン・ゴートの一角は――
完全に“デバッグ検討会”の様相を呈していた。
* * *
ケンタがぱん、と手を叩いた。
「実験しよう! 煮詰まってきたら、まず手を動かすのが一番だ」
そう言うと、店の隅からいろいろなアイテムを寄せ集めてくる。
コップ、お皿、フォーク、スプーン、そして――大根。
「ちょ! 俺の大根じゃねーか! やめてくれ、今や希少なんだぞ……!」
タクヤの悲鳴がホールに響いた。
「アンさん怒らせちゃったから、供給止まってるものね……」
結が苦笑する。
「世界の真実のためだ、許せ……」
ケンタは妙に真顔になりながら、『カーム』を唱える。
「カーム!」
「私も手伝いましょう」
ラオも参加し、二人で次々とかけていく。
淡い光が、集められた物品を包む。
「……さて、どうだ?」
ケンタがまずコップや皿を触り、おお、と頷く。
「普通のアイテムはやはり素材化できて、他のスキルで加工できるようになるな……」
「“先割れスプーン”、でら懐かしいでよ……」
試しに加工されたスプーンを取り上げてシャチョーがしみじみ呟く。
「さて、大根は……もともと素材アイテムだけど……」
タクヤがそわそわしながら大根を覗き込む。
見た目は変わっていない。
そのことに、タクヤは胸を撫でおろした。
しかし――
「か、硬てえ……!?」
次の瞬間、大根をつかんだタクヤの手が固まる。
まな板に移して包丁を当てても、刃が一ミリも入らない。
「まるで鈍器のようね。大根というより大棍棒ですわ……」
カグヤが興味津々に大根を見つめている。
ゲテモノに目がない素が滲んでいた。
「なるほど……もともと素材だと、フラグが消えて加工できなくなるのか……」
ケンタが顎に手を当てる。
「なるほどのお」
ログ爺も満足げにうなずく。
「どーすんだよ俺の晩飯!!」
タクヤが絶望の声を上げた。
「もう一回かければ戻るさ」
「頼むから戻してくれ……!」
ケンタが再度詠唱する。
「カーム!」
淡い光が、再び大根を包む。
「あれ? おかしいな?」
ケンタは大根を触って怪訝な顔をした。
「変わらないじゃねーか! どうしてくれんだよーー!」
「まあ、これで“一回じゃ戻らない”ってことが分かった。ソリューションに一歩前進だ!」
力強く宣言して――誤魔化すケンタであった。
* * *
「……そういえば」
ケンタが、ふと思い出したようにつぶやいた。
「旧EOFのアナウンス担当統括GM……覚えてるか?」
「おお、いたなぁ。サイゴードンとかいう、妙に偉そうな名前のやつ!」
タクヤが思い出し笑いを浮かべる。
「あいつ、やたら強硬な対応してたでよ。
当時から“AIじゃねえか?”って疑われとったもんな」
「そのサイゴードンが、カーム戦術に反対でさ。
“前衛は突っ込むもの、リンク上等、死ぬ気で殴れ”
……みたいなアナウンスを何度も出してたんだよ」
「あっはっは、あったあった!
『計算されたプレイは卑しいものだ』とか言っとったわ!」
シャチョーが腹を抱えながらも、ふと表情を曇らせる。
「……で、うちのカーム機能付き腕輪も、奴にナーフされちまったでよ。
せっかくの便利装備やったのに……まったく、アホやて」
「なんで……カームの仕様変更、アイツのせいかもな」
ケンタがぼそりと言う。
「うむ。ならカームは――被害者じゃな」
ログ爺は静かにペンを取り、ホワイトボードに一本の曲線を描き始めた。
右肩上がりの滑らかな線は、途中から急カーブを描き、ほとんど垂直に伸びる。
「無理な仕様変更を繰り返せば……
このように“バグ曲線”は急激に上昇していく。
やがてソフトウェアは――寿命を迎えるんじゃ……」
ぞわり、と空気が冷えた気がした。
誰もが言葉を失い、ホールの一角に小さな沈黙が落ちる。
「……世界が寿命を迎える前に、脱出したいものですな」
ラオがしみじみとつぶやいた。
ホワイトボードに描かれた、指数関数のようなバグ曲線。
無限に伸びるカームの効果時間。
仕様変更の痕跡。
ケンタは腕を組んだまま、ゆっくりと息を吐く。
「……仕様変更。
モンスター、プレイヤー、アイテム、素材、レシピ、神像……
挙げ句に鑑定窓まで。
……範囲、広すぎだろ。
もしかしたら、無限効果時間バグは、とんでもない何かを対象に追加した痕跡なんじゃないか?」
だがその“気づき”は、言葉になる前に霧散した。
ケンタ自身の中でほどけて消え、誰の耳にも届くことはなかった。
ただ――もしも。
もしもこの場に、
エレネか、
ナナがいたなら。
そして、気づきの断片をもらしたならば――
こう言ったはずだ。
――それは“次元を永遠に封じるため”の仕様変更だ、と。
* * *
暖炉の上からケンタをじっと見ている者がいた。
黒山羊のゴーちゃん――かつて憎悪の次元ごと封じられた本人だ。
「自分たちで『永遠』を解いたのに、すっかり忘れてるメェ」
ゴーちゃんは座禅をしたまま肩をすくめる。
「ま、忘れててくれた方が有難いメェ」
隣ではヒヨコの置物が、同意するようにプルンと揺れた――。
* * *
──火星の衛星・フォボス、観測室。
監視者B 「Mr.サイゴードン、ですか……」
監視者C「こらまた懐かしい名前でんな」
監視者D 「本当にAIだったんですか?」
監視者A「生きるべきか、死ぬべきか、それがソリューションだ」
監視者D 「……はあ?」
監視者B「共同ペンネームという感じでしょうか?」
監視者D 「なるほど、特定の個人じゃないんですね」
監視者A「タグ付与、#大根は破壊不能オブジェクト」
(おわり)
――第三十九話あとがき
最後まで読んでくれて、ありがと〜ございますっ!
結です!
次回の『マジチー』は閑話を今週金曜日のお昼ごろに投稿予定だよ!
白銀の山で冬季限定イベントがあるみたい。
そちらも読んでくれたら、すっごく嬉しいなっ。
それから……もし少しでも「面白かった!」って思ってくれたら、
ブクマとか★とか……ちょっと押してくれるだけでも励みになりますっ。
にしても今回さぁ……
ビット? 最大値? 0 引く 1 が最大?
もう頭ぐるぐるポンどころじゃなかったよ!
「なんで -1 が最大値なの?」ってケンタに聞いたら、
「常識だろ?」
……ひどくない!? 常識じゃないよね!? ね!?(涙)
あ、そうそう!
ラオさんのフルーツ盛り合わせ、めちゃくちゃ美味しかった〜!
あと、あの大根……あれ絶対またアンさんがキレ……ご機嫌を損ねる気がするんだけど、大丈夫かな?
ではでは、また次回で会おうねっ!
――結




