第3話
第3話
百周目。
その数字がダンジョン入口の透過UIに浮かんだ時、特別な感慨はなかった。九十九周目と何も変わらない。同じ苔の匂い、同じ水滴の反響、同じ薄暗い松明の光。変わったのは俺のほうだ。
第一層。コボルドマイナー三体とマッドゼリー二体。かつて四分近くかかったフロアを、今は五十秒で抜ける。敵のポップ位置は足音が聞こえる前に分かる。空気の流れが変わるのだ──右の通路からコボルドが出る瞬間、坑道を抜ける微風がわずかに乱れる。VRの環境シミュレーションが敵の出現を先に教えてくれる。それに気づいたのは四十周目あたりだった。
拳がコボルドの顎を捉える。87。数字は変わらない。ステータスは何一つ上がっていない。だが一体を沈めるまでの所要時間は、一周目の半分以下になっている。無駄な回避がない。無駄な間合い調整がない。最短距離で拳を届かせ、最小動作で攻撃を流す。百周の反復が削ぎ落としたのは、動作の「隙間」だ。
五層、六層と降りていく。ストーンバットの超音波をくぐり抜けながらの連打。背後から急降下してくる二体目を振り返らずにバックブローで叩き落とす。目で見ていない。音と気配で位置を割り出している。
七層を抜けた。クリアタイムは十一分。一周目の二十八分から半分以下。
第八層──最深部。
六体のコボルドが一斉にポップする。もはや作業だった。六体分のタイムラインを頭の中で同時に走らせ、安全地帯に体を滑り込ませながら、一体ずつ確実に沈めていく。最後の一体が光の粒子に散るまで、四十三秒。被弾ゼロ。
リザルト画面を閉じようとした──その時。
足元が揺れた。
坑道全体が軋むような低い振動。天井から砂粒が落ちてくる。地震か。いや、アスクレイド・オンラインに地震のギミックはない。少なくとも攻略サイトには載っていない。
振動の発生源は──奥の壁だ。
前周で見つけた亀裂。あの髪の毛ほどの細い線が、今は指一本入るほどの幅に広がっていた。亀裂の向こうから漏れる光が、前回より明らかに強い。青白い、松明とは異質の光。
壁が、崩れた。
音もなく。最深部の行き止まりだったはずの岩壁が、砂のように崩落し、視界を白い粉塵が覆う。粉塵が晴れた先に──通路があった。幅は人一人がやっと通れるほど。壁面に刻まれた文様が、淡い燐光を放っている。
マップUIに反応はない。この通路は、ゲーム上存在しないことになっている。
百周目にだけ開く隠しルート。そんなギミックが実装初期のダンジョンに仕込まれていたのか。いや──誰も百周なんてしないから、見つかっていなかっただけか。
通路は短かった。十歩ほど進むと、小さな空間に出た。
円形の部屋。直径はせいぜい七、八メートル。壁面全体に同じ文様が刻まれ、青白い光で空間全体がぼんやりと照らされている。天井も光っている。床には何もない。素朴な石造りの、何もない部屋。
──何もない部屋の中央に、それは立っていた。
人型のNPC。灰色のローブで全身を覆い、フードの下に顔は見えない。立っているだけなのに、存在感が異常だった。周囲の空気が歪んでいるように見える。俺のプレイヤースキャンが自動で走る──名前欄に表示されたのは。
「???」
レベル表記なし。所属なし。称号なし。クエストマーカーも出ていない。通常のNPCなら名前の下に役割──商人、鍛冶屋、クエスト発注者──が表示されるはずだ。何もない。ゲーム内のあらゆるUIが、この存在を分類できていない。
NPCが──動いた。
フードの奥の暗がりが、こちらを向いた。ような気がした。顔は見えない。だが視線を感じる。VRの触覚フィードバックが、背筋に冷たいものを走らせた。ゲームのNPCに感じる圧ではない。
「────」
声が聞こえた。ボイスチャットではない。環境音として処理されている。だが明らかに「言葉」だ。低く、乾いた、年齢も性別も判別できない声。
「武器を持たぬまま、ここに至ったか」
至った、ではなく「至ったか」。質問なのか確認なのか分からない口調。定型のNPCセリフとは明らかに異質だった。台本を読んでいる感じがしない。こちらの装備欄を読み取って、リアルタイムで生成された台詞だ。
「百度、同じ道を歩いた。剣も槍も魔杖も持たず、拳だけで」
俺の周回数を知っている。いや、それはシステム的に参照できるだろう。だが言い方が妙だった。データを読み上げているのではなく、見ていたかのような口ぶりだった。
「問おう」
「???」が一歩、前に出た。ローブの裾が床を擦る音が、やけにリアルに響く。
「なぜ、武器を取らない」
選択肢のUIが表示された。だが──一つしかない。通常、NPCとの対話には最低二つ、多ければ五つの選択肢が出る。一択の選択肢UIなど見たことがない。選ぶも何もない。だが表示されている。わざわざ、「選んだ」という形式を踏ませるために。
選択肢の文面はこうだった。
『拳で十分だ』
「……は」
笑いが漏れた。開発者の悪ふざけか、それとも──。
いや、どうでもいい。
これ以外の答えを持ち合わせていないのは事実だ。
選択肢をタップした。
一拍の沈黙。
「──そうか」
「???」の声が変わった。乾いた無機質さが消え、そこに微かな──感情とは言いたくないが、温度のようなものが滲んだ。
「ならば、受け取れ」
ローブの袖から何かが放たれた──ように見えた。光だ。白い光が「???」の手元から飛び出し、俺の胸の中心に吸い込まれた。
その瞬間、視界が白く弾けた。
──見たことのない演出だった。
通常のドロップ演出は金色の光柱。レアドロップでも虹色のエフェクトが三秒ほど表示されるだけだ。だが今、視界を覆い尽くしているのは白──純粋な白。音もない。BGMも環境音も全部消えて、ただ白い空間の中に俺だけが浮かんでいる。
何秒経ったのか分からない。体感では十秒。もしかしたら一秒かもしれない。
白が引いた。元の円形の部屋に戻っている。「???」は──いない。フードの下の暗がりも、歪んだ空気も、全部消えていた。最初からいなかったかのように。
代わりに、視界の中央にシステムメッセージが浮かんでいた。
《スキルを取得しました》
スキル名が表示される。
《虚拳──Lv1》
ステータス画面を開いた。スキル欄の最下段に、新しい項目が追加されている。属性:不明。取得条件:非公開。譲渡:不可。装備制限:素手時のみ。
詳細を開こうとタップした。だが、説明文は一行だけだった。
『空を打ち、虚を穿つ』
意味が分からない。分からないが──右の拳が、熱い。VRの触覚フィードバックが、手のひらの中心にじわりと熱を伝えている。握って、開いて、また握る。さっきまでと同じ動作のはずなのに、拳の中に何か──密度のようなものが宿っている。
壁面の文様は光を失い、部屋はただの石室に戻っていた。帰り道の短い通路を抜け、最深部に出る。背後で、微かに石が擦れる音がした。振り返ると──通路は消えていた。元の行き止まりの壁が、亀裂すらなく、そこにある。
夢のようだった。だがスキル欄の「虚拳」は消えていない。
坑道の入口に転送した。冷たい外気が肌を撫でる。夜になっていた。星空のグラフィックが頭上に広がる。プレイヤーの姿は相変わらずどこにもない。
右の拳を、軽く振った。
空気が──鳴った。
拳が空を切っただけだ。何も殴っていない。なのに拳の先、五センチほどの空間が一瞬だけ歪み、ぱん、と乾いた音が弾けた。衝撃波とは違う。もっと鋭く、もっと小さい。
「──何だ、これ」
スキルの詳細は『空を打ち、虚を穿つ』の一行しかない。効果説明なし。倍率なし。クールタイム表記すらない。攻略サイトで調べても出てこないだろう。百周素手縛りという狂った条件でしか到達できない隠し部屋の、名前すら表示されないNPCからの、一択しかない選択肢を経た取得スキル。データベースに載っているはずがない。
拳を握った。熱は引いていない。
この先に、何があるのか。虚拳は何を変えるのか。今はまだ分からない。だが──百周で掴んだこの拳の延長線上に、それはある。そう確信できるだけの熱が、掌の中にあった。
坑道の入口を振り返る。苔むした岩壁の奥に、あの円形の部屋があった。あの声があった。『武器を持たぬまま、ここに至ったか』。あれはテストだった。百周という行為そのものが、回答だったのだ。
──さて。
試し打ちがしたい。この拳が何を出来るのか、知りたくてたまらない。
ダンジョン一覧を開いた。忘却坑道の横に、もうひとつ──今まで表示されていなかったダンジョン名が、薄く点滅していた。