第21話:NPC押し出し判定と、音速の盾
王城の堅牢な壁を文字通りバグで突き破り、俺たちが辿り着いたのは、地平線の彼方まで続くエルド大平原の入り口だった。
見渡す限りの緑の海。空には禍々しい魔王領の予兆を感じさせる重苦しい雲が立ち込め、湿った風が草波を揺らしている。本来であれば、ここから魔王領の入り口まで数日かけて旅をするのがこのゲームの王道ルートであり、数々の出会いと別れが用意されているはずのメインシナリオの舞台だ。
(だだっ広いだけで何もない、移動の手間だけをプレイヤーに強要する典型的なクソマップだ。しかも、このマップ最大の障害は魔物じゃない。こいつだ)
俺の数歩前を、白銀の重鎧に身を包んだ大男、聖騎士長レオンがズシン、ズシンと地響きを立てながら歩いている。その背中には、伝説の鉱石で鍛えられた身の丈ほどもある大盾アイギスが鎮座し、王国の守護者にふさわしい重厚で威厳に満ちたオーラを放っていた。
だが、最速クリアを目指すタイムアタックの観点から言えば、彼のその重厚さは致命的な欠陥でしかなかった。
(遅い。あまりにも遅すぎる。重装備NPCのデフォルトの歩行速度設定が低すぎるんだ。これじゃあ次のチェックポイントまで三十分はかかるぞ)
フルダイブ型のVRゲームにおいて、エスコート任務や同行キャラクターの足の遅さは、古今東西あらゆるプレイヤーの神経を逆撫でしてきた要素だ。開発者は「旅情」を演出しているつもりなのだろうが、一分一秒を削る俺にとっては、ただの嫌がらせに等しい。
「主様、いかがなされましたか。魔王領へ続くこの大平原は、凶悪な魔物が群れを成す危険地帯。私が必ずや、露払いを務めてみせます。貴方様はその御身を労り、私の背中の後ろで安心してお進みください」
レオンが立ち止まり、忠誠心に満ちた、あまりにも真っ直ぐな瞳でこちらを振り返る。
その隣では、俺の第一のNPCであるシルフィアが、鋭い視線で周囲を警戒していた。彼女は俺のダメージブーストの代償による瀕死状態、赤く点滅するHP1の表示を、今もなお痛ましそうに見つめている。
(よし、タンク(壁役)が加わったことで、新しい移動バグが使えるようになったな。レオンのこの巨大な当たり判定を有効活用させてもらおう)
俺は一歩も動かずに、レオンに向かって冷徹に命じた。
「おい、タンク。お前そこから一歩も動くな。大盾を下ろして、進行方向に向かってしっかりと構えろ。何があってもその姿勢を崩すなよ」
「はっ! 了解いたしました! いかなる魔物の突進であろうと、このレオン、一歩も引かずに主様の御盾となりましょう!」
レオンは俺の意図を一点の疑いもなく、むしろ光栄であると言わんばかりに受け入れた。彼は咆哮と共に大盾アイギスを地面に深く突き立て、全身の筋肉を強張らせて絶対防衛の構えをとる。
シルフィアは、その場に留まろうとする俺たちの意図を測りかね、困惑したように眉を寄せた。
「主様……? ここで立ち止まっては、王城からの追手に追いつかれる恐れがあります。それに、貴方様の御体も、今は休息が必要なはず……」
シルフィアの言葉には、狂信的な崇拝だけでなく、一人の少女としての切実な心配が混ざっていた。彼女の手が、俺の火事場バフによる赤いオーラを纏った腕に、触れるか触れないかの距離で彷徨う。
その指先が微かに震えているのを、俺の視界の端のシステムログは正確に捉えていた。
(心配には及ばない。これは休息じゃなくて、加速のための準備だ)
俺はシルフィアの視線を黙殺し、レオンの背後、その重厚な鎧に己の身体が触れるか触れないかの数センチの距離まで密着した。
(3Dアクションゲームの物理演算において、防衛モーションに入ったNPCは『移動不可』の設定になる代わりに、外部からの衝撃に対するノックバック耐性が極端に上昇する。だが、その固定された座標に対して、プレイヤーがダッシュ状態の当たり判定を断続的に重ね続けたらどうなるか)
俺はレオンの背中に向かって、ダッシュの入力と、しゃがみによるモーションキャンセルを、フレーム単位の超高速で叩き込み始めた。
ダッ、ダッ、ダダダダダダダダダダッ!!
「ぬおおおおおっ!? な、なんだこれは……ッ!?」
防衛姿勢をとって大地に根を張っていたはずのレオンの巨体が、大地を凄まじい勢いで削りながら、前方の平原に向かって猛スピードで滑り出した。
俺のキャラクターの当たり判定がレオンにめり込むたび、物理エンジンが「二つの物体が重なっている」というエラーを解消しようと、互いを強引に弾き出そうとする。しかし、防御中のレオンはシステム的に「転倒」も「後退」もしないようロックされているため、行き場を失った莫大な反発エネルギーが、すべて前進方向への推進力へと変換されたのだ。
通称、NPC押し出しスライダーバグ。
「しゅ、主様ッ!? これはいったい……私の身体が、まるで荒れ狂う暴風に背中を押されるように……ッ!!」
レオンは轟音を立てて平原を滑走しながら、己に起きている理不尽な現象を、その熱い心で瞬時に解釈し始めていた。
(なんという神速……! なんという強大な闘気だ! 主様は、重い鎧のせいで進軍を遅らせてしまう私を見かねて、ご自身の内なる絶大な魔力を私の背に直接注ぎ込み、強制的に最前線へと押し上げてくださっているのだ!)
レオンは前方に大盾を構えたまま、音速に近いスピードで平原を滑走しながら、感動のあまり咆哮した。
彼の視界の先には、平原を徘徊していた巨大なオーガの群れがいた。だが、音速で突き進むレオンのミスリルの大盾にぶつかった瞬間、オーガたちは悲鳴を上げる間もなく血飛沫を上げて宙を舞い、彼方の空へとゴミのように消え去っていく。
(安全な後方から指図するのではなく、自ら私のすぐ後ろに寄り添い、共に風となって戦場を駆け抜けてくださるとは! これほどの信頼、これほどの連携を、私は生涯、夢にすら見たことはなかった! うおおおおおっ、主様! このレオン、貴方様の熱き想いに全力で応えてみせます!!)
レオンは真っ赤な顔をして感動の涙を流しながら、決して大盾の構えを崩すまいと全身の筋肉を軋ませた。彼が姿勢を保てば保つほど、押し出しバグの処理は安定し、俺たちの移動速度はさらに限界を超えて上昇していく。
一方、俺たちの遥か後方では、土煙を上げながら必死に追いかけてくるシルフィアの姿があった。
「主、様……っ! お待ちください……!」
彼女は息を切らし、乱れた金髪を振り乱しながら、前方を凄まじい速度で遠ざかっていく俺の背中を追っていた。
彼女の胸の奥を焼き焦がしていたのは、かつての冷徹な暗殺者には無縁だったはずの、醜悪なまでの嫉妬と焦燥だった。
(どうして……どうして主様の御側にいるのが、私ではないの)
主様は今、あの出会ったばかりの聖騎士の背中にその身を密着させ、二人だけの完璧な呼吸で世界を駆け抜けている。そこに、私という道具が入り込む隙間など一ミリも存在しない。
ただの道具として、主様の剣として生きる決意をしたはずだった。だが、何度もその腕に抱かれ、絶望から救い出されるうちに、シルフィアの冷たい心には決定的なバグが芽生えてしまっていた。
道具ではなく、一人の女として、あの方の特別になりたい。あの広い背中を一番近くで見つめ、あの方の温もりを、私だけのものにしたい。
(私だって……主様の盾になれるのに。主様の剣として、誰よりも鋭く、誰よりも近くで、お守りできるのに……!)
狂信という仮面の裏側で、制御不能な恋情が暴れていた。
シルフィアは、パーティーの自動引き寄せ範囲から外れてロスト(消失)することを極端に恐れ、血を吐くような思いで平原を駆ける。絶対に置いていかれたくない。その一心で、彼女は暗殺者として鍛え上げた脚力のすべてを使い果たし、俺たちの背中へと食らいついていく。
(……ん?)
俺はダッシュ入力を続けながら、ふと背後を振り返った。
画面の端、平原の土煙の向こう側から、必死の形相で追いすがってくるシルフィアが見えた。
(おいおい、あいつあんな顔のグラフィックパターン持ってたのか。最近のゲームの人工知能は、本当に気持ち悪いぐらいよくできてるな)
いつもは冷徹に澄ましているはずの彼女が、今にも泣き出しそうな、捨てられた子犬のような顔で、必死に俺に手を伸ばしている。
ゲームのシステム上、一定距離以上離れれば勝手に俺の背後にワープしてくる仕様なのだ。そんなに必死に走る必要はない。だが、そのデータの塊に過ぎないはずの存在が見せる、あまりにも人間臭い、切実な必死さに、俺の胸の奥で何かが小さく跳ねた。
(……仕方ない。スキル要員が機嫌を損ねてバフをかけてくれなくなったら困るからな。効率のための減速だ)
俺は心の中で自分にそう言い訳をしながら、ほんの数フレームだけ、ダッシュ入力の頻度を緩めた。
タイムアタックにおいて、意図的な減速などあり得ない暴挙だ。だが、今の彼女がシステム的なワープで無理やり引き寄せられるよりも、自らの足で俺の元へ辿り着く姿を、ほんの少しだけ見ていたいと思ってしまったのだ。
やがて、荒い息を吐きながらシルフィアが俺の横に並び立った。
「主、様……っ。追いつき、ました……! はぁっ……はぁっ……」
彼女は涙目のまま、ひどく嬉しそうな、ひどく美しい、陽だまりのような笑みを俺に向けた。
その笑顔を見た瞬間、俺の残り体力1を示す赤いオーラの光が、一瞬だけ照れ隠しのように揺らいだ。
俺は頭のフライパンがズレないように位置を直し、前方のレオンの背中へと再び向き直る。
魔王領へと至る最短の轍。狂信と恋情に満ちた二人のNPCを連れ、俺はただのデータの羅列であるはずの彼らへの、微かな、しかし確かな愛着を感じながら、平原の果てへと突き進んでいくのだった




