第3話「勇者の技が止まった日」
* * *
北部山岳地帯、魔獣の巣窟――。
洞窟の奥で、巨大な影が咆哮した。
岩の体を持つ魔獣。体長は五メートルを超え、腕の一振りで洞窟の壁が砕ける。勇者パーティが討伐依頼を受けた、この地域で最も危険な相手だった。
「カイル、左!」
アリアの声が洞窟に響く。金色の髪を束ねた少女が聖剣を構え、魔獣の正面に立っていた。
「わかってる!」
大盾を構えた赤茶色の髪の青年――カイルが左腕を打ち下ろしてくる魔獣の前に割り込む。盾が衝撃を受け止め、カイルの足が地面を削った。
「フィオナ、分析は!?」
「弱点は背中の結晶部。ただし硬度が高い。私の魔法では二発必要ですわ」
後方で冷静に指を動かしているのは、深い紫色の長髪の魔導士フィオナだ。翡翠色の目が、まるでデータを読み取るかのように魔獣の全身を走査している。
「リーゼル、カイルの回復お願い!」
「うん! 大丈夫、治せるよ!」
小柄な神官リーゼルが杖を掲げ、温かい光がカイルの傷を癒やす。杖の先端で、小さな鈴が不規則に鳴っていた。
アリアが踏み込んだ。聖剣ルミナスが淡く光り、彼女の体が加速する。
「――聖剣技・ルミナスブレイク!」
光を纏った斬撃が魔獣の背中に向かう。
あと一瞬で届く。
――そのとき、光が消えた。
アリアの手の中で、聖剣の輝きがふっと途切れた。加速が止まり、ただの剣の重さだけが手に残る。
「えっ……?」
技が、止まった。
魔獣の腕が振り下ろされる。アリアは咄嗟に体を捻ったが、衝撃が脇腹をかすめ、洞窟の壁に叩きつけられた。
「アリア! おい、無茶すんなって……!」
カイルが叫ぶ。リーゼルが駆け寄り、回復の光を当てる。フィオナが氷の壁を生成して魔獣の追撃を遮った。
「アリアさん、大丈夫!?」
「……うん、大丈夫。でも、技が……」
アリアがもう一度聖剣を構える。光を込めようとする。だが、何度やっても、聖剣は光らなかった。
「何が起きてるの……?」
* * *
管理層に、新しい警報が鳴った。
『アラート:スキル発動システム — 処理拒否多発(WARNING)』
俺はダッシュボードを見た。あのステータス障害を直してから数日が経っていた。その間にも小さな警告はいくつか出たが、大事には至っていない。だが今回は毛色が違う。
「ノード、スキル発動システムって何だ?」
「えーと、地上の住人が技や魔法を使うとき、世界の基盤に『この技を発動してください』って依頼を送るんです。基盤がそれを受け取って、魔力を計算して、効果を実行する……みたいな流れです」
技を使うたびに、世界の基盤に処理の依頼が飛ぶ。基盤はそれを受け取って実行する。
前の世界で言えば、利用者のアクションに対して裏側のサービスが処理を返す――あの構造そのものだ。
アラートの詳細を開く。
『処理拒否理由:単位時間あたりの依頼数が上限を超過』
上限を超えた。
つまり、一定の時間内に受け付けられる依頼の数が決まっていて、それを超えたから弾かれている。
前の世界では、こうした制御を「流量制限」と呼んでいた。一度に殺到する依頼から基盤全体を守るために、わざと受付数に上限を設ける。これ自体は正しい設計だ。
問題は、その上限が適切かどうかだ。
「ノード、この上限値はいつ設定されたものだ?」
「えーと……」
ノードの目がちらつく。数秒の沈黙。この子はときどきこうなる。何が原因でフリーズするのか、いずれ調べる必要があるな。
「あっ、フリーズしてました。えーと……たぶん、最初からです。前任の方が世界を作ったときのまま」
数千年前の初期値。
あの頃と今では、住人の数も、使われる技の種類も、戦闘の激しさも全く違うだろう。なのに、受け付ける量の上限だけが当時のまま。
俯瞰画面を開いた。北部山岳地帯の洞窟が見える。
中で戦闘が行われていた。四人のパーティが巨大な魔獣と戦っている。先頭の金髪の少女が剣を振るい、大盾の男が庇い、後方から魔法と回復が飛ぶ。
「ノード、この金髪の子は……」
「あ、今の勇者です。アリア・ヴェルダンさん」
勇者。ダッシュボードの俯瞰図で初めて見た、あの「若い女の子」か。
アリアのスキル発動の依頼ログが画面に流れている。一行ずつ追う。
聖剣技・ルミナスブレイク。処理コストが通常のスキルの数倍。さらにその前段階で、加速用の身体強化、剣への魔力付与、攻撃範囲の判定――一つの技を放つために、裏では四つも五つも依頼が走っている。
短時間にこれだけの依頼を連発すれば、数千年前に設定された上限などあっという間に突き破る。
つまり勇者が強すぎて、スキル発動の処理能力が追いつかなかった。
俯瞰画面に目を戻す。
アリアが壁に叩きつけられていた。仲間が駆け寄っている。大盾の男が魔獣の前に立ちふさがり、小柄な神官が回復の光を当て、紫髪の魔導士が氷の壁で時間を稼いでいる。
だが魔獣はまだ立っている。
――まずい。今、戦闘中だ。あいつらが持ちこたえている間に、終わらせなければ。
「ノード、この受付の上限値を変更できるか?」
「あっ、それは管理者権限で変更できるはずです! えーと、スキル発動システムの設定画面は……」
設定画面を開く。
受け付ける依頼の上限値。流量を調整する弁のような設定が並んでいる。前の世界では、こうした流量制御を「スロットリング」と呼んでいた。水道の蛇口を絞ったり開いたりするイメージだ。
今、蛇口が絞られすぎている。数千年前は十分だった流量が、今の世界には足りない。
だが、闇雲に全開にするわけにもいかない。上限を外してしまうと、今度は大量の依頼が殺到したときに基盤全体が倒れる。流量制限は世界を守るための安全装置でもある。
前の世界でも、制限を外した瞬間にサービスが丸ごと落ちた事故を何度か見た。安全装置を外すのは、別の危険を招く。
適切な値を見極める必要がある。
俺はスキル発動の処理ログを遡った。過去の発動回数、ピーク時の依頼数、基盤全体の処理能力。数字を追う。
俯瞰画面の端に、まだ戦闘が映っている。大盾の男が膝をつきかけた。魔獣の拳が振り下ろされ、盾がひしゃげる音が聞こえるようだった。
急げ。
数字を追う手が速くなる。過去一年の発動ログ。月ごとの推移。祝祭日のピーク値。魔王軍侵攻時のスパイク。
「……ここだな」
現在の上限は、ピーク時の処理量の六割程度に設定されている。余裕を見込んでも、もう少し開けられる。
上限をピーク時の八割まで引き上げる。これなら勇者の連続技も通るし、安全装置としても機能する。
――本当にこの値でいいのか。高すぎたら基盤に負荷がかかる。低すぎたらまた弾かれる。
正解かどうかはわからない。だが、今あの四人が戦っている。迷っている時間はない。
値を書き換えた。
『スキル発動システム — スロットリング閾値 更新完了』
俯瞰画面に目を戻す。
* * *
アリアの手の中で、聖剣が再び光った。
「……戻った!」
理由はわからない。だが光が戻った。アリアは剣を握り直した。今度こそ、決める。
「――聖剣技・ルミナスブレイク!」
光の斬撃が魔獣の背中の結晶を貫いた。亀裂が走り、魔獣が崩れ落ちる。
「やった……!」
リーゼルが歓声を上げ、カイルが大盾を下ろして息をついた。
だがフィオナは、金属製のペンを取り出し、革表紙のノートに何かを書き始めていた。
「フィオナ、どうしたの?」
アリアが聞くと、フィオナは翡翠色の目を上げた。
「……さっきのスキル停止。魔力の流れを観察していましたけれど、おかしな挙動がありましたわ。技の発動が拒否された瞬間、魔力そのものは正常だったんです。つまり、止まったのは魔力の問題ではなく、もっと深い部分……」
「データが足りませんわね」
フィオナはそう呟いて、ノートに詳細な記録を書き込んでいく。魔力の流れの異常。スキル停止の正確な時刻。停止前後の魔法の挙動。
その横で、リーゼルがふと動きを止めた。
「……あれ?」
杖の先端の鈴が、澄んだ音を鳴らしていた。いつもの不規則なノイズではない、一瞬だけ、透き通った音色。
「今の……なんだったんだろう」
リーゼルは首を傾げたが、鈴はすぐにまたガチャガチャと不規則な音に戻った。
そしてアリアは、聖剣を見つめてこう呟いた。
「……なんだろう。さっき一瞬、誰かが力を貸してくれた気がした」
* * *
管理層で、俺は俯瞰画面を眺めていた。
勇者パーティが魔獣を倒し、洞窟の出口に向かって歩いている。金髪の少女が仲間と笑い合い、大盾の男が肩を回し、紫髪の魔導士がノートを抱え、小柄な神官がその横を小走りについていく。
無事だったか。
息を吐いた。画面越しに見ていただけなのに、肩に力が入っていた。
前の世界でも、本番の障害対応中は時間感覚がおかしくなる。数分が数時間に感じることもあれば、気づいたら朝になっていることもある。今回は数分だったはずだが、ずいぶん長く感じた。
「悠真さん、今の対応、すごかったです。戦闘中にリアルタイムで設定を変えるなんて……」
「本当は、こういう上限値は事前に見直しておくべきだった。事後対応になったのは俺のミスだ」
ノードが不思議そうに首を傾げる。
「でも、間に合ったじゃないですか」
「間に合わなかったら、あの勇者は死んでたかもしれない」
そう言ってから、自分の手が少し震えていることに気づいた。
前の世界では、サービスが止まっても死ぬのはサービスだった。ユーザーは不便を被るが、命に関わることはない。画面の向こうで誰かが「使えないんだけど」と呟くだけだ。
だがここでは、設定値一つで人が死ぬ。さっきの値の判断を間違えていたら、あの金髪の少女は洞窟から出てこなかったかもしれない。
俯瞰画面の中で、アリアたちが洞窟を出て陽光の下に立った。アリアが空を仰いで大きく伸びをしている。隣でカイルが何か言って、アリアが笑って返した。さっきまで命がけで戦っていたのに、あっけらかんとしている。
紫髪の魔導士だけが笑わず、まだノートに何か書いている。
あの記録が気になった。魔法の挙動異常を記録している。地上側から、基盤の異常に気づいた人間がいる。
技が止まったのは「魔力の問題ではない」と、正確に見抜いていた。鋭い。
「……他にも、上限値が古いままの設定がないか、全部見直す必要があるな」
俺はダッシュボードを開き、世界の基盤の設定一覧を呼び出した。
数千年前の初期値が、あちこちに眠っている。今日は勇者のスキルだった。明日は何が止まるかわからない。次も戦闘中に起きるとは限らない。街で子供が魔法を使った瞬間かもしれないし、商人が荷物を転送した瞬間かもしれない。
一つずつ確認していくしかない。
――自分でやった方が早い。
そう思いながら、俺は画面をスクロールし続けた。
お読みいただきありがとうございます。
【今回のIT用語】
レートリミット(流量制限):一定時間内に受け付ける処理の数に上限を設ける仕組み。サービス全体を守る安全装置ですが、設定値が古いままだと正当な利用まで弾いてしまいます。
スロットリング:流量を絞ったり開いたりする制御のこと。蛇口の開閉をイメージするとわかりやすいです。
次話「眠れない夜の計算式」もよろしくお願いします。
感想・ブックマークいただけると励みになります。




