第2話「鉛筆は剣より強し」
意識が戻るのは、電源が入るのとは少し違う。
暗い場所に沈んでいて、水面に向かって浮き上がっていくような感覚がある。
最初に音が戻る。虫の声。次に重さ。体の輪郭が戻ってくる。足の裏に草の感触。最後に、光。
目を開ける。
星があった。昨日と同じ——昨日という概念が正しいのかは分からないが、前回意識があったときと同じ、多すぎるくらいの星空。金色、白色、淡い青色。空の端から端まで。
大きな木の下にいた。ケヤキに似た木。丁寧な木目。広がった枝の隙間から星が覗いている。
何も変わっていない。
——と思ったが、一つだけ変わっていた。
根元。
木の根が地面に潜り込む、その隙間。昨日は何もなかった場所に、何かが生えている。
しゃがむ。
双葉だった。
小さな二枚の葉。暗い緑色。茎は細くて、虫の声の振動だけで揺れそうなほど頼りない。草の間に埋もれるようにして、ひっそりと立っている。
ここは昨日——川から拾った芯を何となく地面に刺した場所だ。シャーペンの芯。透明な筒に入った、細い黒い棒。川の水底に落ちていた。拾って、何となく持って、何となく地面に刺した。何となく。理由はなかった。
それが、芽を出している。
植物が生えるシステムがこの世界にあるのかは知らない。草が「生える」のを見たのはこれが初めてだ。
触ろうとして——手を止めた。
折れそうだった。触ったら折れる。たぶん。茎が細すぎる。
手を引いた。しゃがんだまま、眺めた。
双葉は揺れていた。風はないはずなのに。昨日もそうだった。
風がないのに草がときどき揺れる世界。
原因不明の揺れ。バグか仕様か——開発者の気持ち次第、らしい。
双葉は揺れている。揺れて、止まって、また揺れる。
しばらく眺めた。
時間の感覚が曖昧だ。どれくらいしゃがんでいたか分からない。分からないが、不快ではなかった。
---
足音が聞こえた。
しゃくしゃく。しゃくしゃく。速い。走っている。全力で。テクスチャの境界を踏むたびにブツッとノイズが混じるが、お構いなしに走っている。
振り向く前に声が来た。
「レンーーーーーっ!!」
全力疾走のひまりが突進してきた。パーカーのフードがはためいている。両手に大きな木箱を抱えている。木箱を抱えたまま全力疾走しているせいで体が左右にぶれている。足元の草のテクスチャが処理落ちで一瞬灰色格子になって戻った。
「来——た——!!」
急ブレーキ。足が滑る。草が散る。木箱を地面にドスンと置いた。土煙——は出ない。パーティクルはおやすみハウスの煙突で使い切ったらしい。
ひまりは肩で息をしている。顔が赤い。走りすぎだ。
「……お前、ログインしてすぐ走ってきたのか」
「だって! 早く見せたくて!」
ひまりが木箱をばんばん叩いた。
「戦闘システム実装しましたーーー!!」
両手を広げた。星空に向かって。効果音はない。BGMもない。虫の声だけが鳴っている。
「……朝三時まで頑張った!」
「学校は」
「行った! ちょっと寝た! 五限で」
「授業中に寝るな」
「だって数学だし」
「数学だからこそ起きてろ」
「プログラミングはできるもん!」
「プログラミングと数学は別物だろ」
「似てるよ!」
「似てねえ」
ひまりが木箱の蓋に手をかけた。蓋の表面に手書きフォントで「ひまりの武器庫」と書いてある。「武」の字が微妙に間違っている。
「じゃーん! 開けます!」
蓋が開く。
中に五本の武器が並んでいた。
ひまりが指差し棒を召喚した。どこから出したのか分からない。管理者権限で生成したのだろう。透明な棒の先端に赤い三角形がついている。指差し棒のモデリングだけ妙に丁寧だ。
「いきます! ひまり武器プレゼン!」
咳払い。
「一番! ピコピコハンマー!」
木箱から取り出されたのは、おもちゃのハンマーだった。黄色い頭部に赤い柄。握ると手のひらにちょうど収まるサイズ。
振った。
ピコッ。
かわいい音がした。
「かわいいでしょ?」
「かわいいな。で、これ武器なの」
「武器だよ! ATK補正1.4倍! 今回最高火力!」
「見た目と説明が噛み合ってない」
「二番! ブーメラン!」
青い曲線のブーメラン。断面がちゃんと翼型になっている。空力設計は良い。
「投げたら戻ってくる遠距離武器! 唯一の飛び道具!」
「まともだな」
「……ただし、15パーセントの確率で戻ってこない」
「それ武器として致命的な欠陥だろ」
「ロマン枠です」
「ロマンで戦争はできねえ」
「三番! フライパン!」
黒い鉄のフライパン。ずっしりした重さがある。持ち手が木製。
「武器にもなるし、料理にも使えるよ!」
「料理システムは」
「ない!」
「じゃあただの鈍器だろ」
「いつか実装するから! 先行投資!」
「四番は?」
「四番!」
ひまりが木箱に手を入れた。取り出したものが——小さかった。
鉛筆。
黄色い軸。HB。17.5センチ。消しゴムはついていない。尻が平らに切りっぱなし。
「鉛筆! えいちびー!」
「…………」
「リーチは最短だけど、唯一クリティカル判定がついてます! 当たれば一発逆転! たぶん!」
「たぶん」
「五番! ぜったいあたるけどいたくないハンマー!」
最後に出てきたのは、見た目は普通の木槌だった。ただし柄に手書きで名前が書いてある。長い。柄のスペースに収まりきらず、文字が途中からどんどん小さくなっている。
「命中率100パーセント! ダメージ0!」
「存在意義は?」
「ない!」
「ないのかよ」
「飾りです! コレクション用!」
「武器庫に飾りを入れるな」
五本を並べて眺める。ピコピコハンマー。ブーメラン。フライパン。鉛筆。いたくないハンマー。
「剣は?」
「ないよ」
「槍は?」
「ないよ」
「銃は?」
「ないよ」
「……お前のゲーム、まともな武器一本もないのか」
「あるよ! 五本もある!」
「まともなって言った」
「全部まともだよ! ひまりイズム的にはまともだよ!」
「ひまりイズムの基準がおかしいんだよ」
「なんか、違うかなって」
ひまりが笑った。
急にトーンが変わった。さっきまでの声の勢いが一段下がって、少し柔らかくなった。笑顔は笑顔なのに、どこかを見ているようで、ここを見ていないような。一瞬だけ。
「剣とか槍とか、なんか、このゲームっぽくないかなーって」
「…………」
聞かなかった。聞かないほうがいい。その直感がまた来た。パラメータの外から。引き出しの底の、かすかな振動。
「まあいい。どれ使うかは戦ってみてから決める」
「おっ! じゃあ行こう!」
ひまりが五本の武器を木箱に戻して——いや、箱ごと消した。管理者権限。代わりにインベントリのUIが空中に浮かんで、五本の武器がアイコンになって並んだ。
ピコピコハンマーを装備する。握る。軽い。おもちゃだから当然だ。
ひまりが草原の方を指差した。
「あっちにモンスターいるから!」
「モンスターも作ったのか」
「朝三時の成果だよ!」
歩き出す。しゃくしゃく。
---
草原を歩いて——三歩だった。
三歩で足元の草がもそもそと揺れて、地面から何かがポコンと飛び出した。
白い球体。直径三十センチほど。表面がぷるぷる震えている。正面に——顔がある。目が二つ、口が一つ。にこにこ笑っている。丸い目。三日月型の口。全身が微弱に振動していて、近づくと「ぷるるる……」という音が聞こえた。
「出た出た! ぷるりん!」
ひまりが嬉しそうに指差した。
「Lv. 1の初期モンスター! HP10! 攻撃力1! かわいいでしょ!」
かわいかった。認めざるを得ない。にこにこ顔で、ぷるぷる震えながら、歩いてくる。歩いてくるのだが——遅い。異常に遅い。徒歩以下。一歩の距離がこっちの五分の一くらいしかない。ぷるん、ぷるん、と弾みながらじわじわ近づいてくる。
「これが……モンスター……」
「モンスターだよ! れっきとした!」
「全然怖くないんだが」
「怖くなくてもモンスターです! 定義の問題です!」
ぷるりんが体当たりしてきた。ATK1。膝にぽよんと当たった。ダメージの数値は見えないが、何の痛みもない。今のでHPが1減ったのだとしたら、気の毒になるくらい弱い。
ピコピコハンマーを振る。
ピコッ。
ぷるりんの表面が波打つ。にこにこ顔が一瞬ぐにゃっと歪んで戻った。
もう一回。
ピコッ。
ぷるりんが光った。白い光の粒子が散る。散って、星空に混じって——消えた。
足元に何かが落ちた。半透明のゼリー状のアイテム。ほのかに光っている。
「ぷるりんゼリー! HP30回復だよ!」
「倒すのにちょっとした罪悪感があるな」
「にこにこ顔で向かってくるのがポイントなの。殺意ゼロ。純粋。それを倒す罪悪感込みでゲームデザイン」
「性格悪くないか、その設計思想」
「えへへ」
拾ったゼリーをインベントリに入れる。
草原を進む。
十歩ほど歩くとまた足元が揺れた。今度は三体。ぷるりん三匹がポコポコと地面から湧いた。同じにこにこ顔。同じぷるぷる。同じ超低速。
「おっ、三体——」
三体のうち、二体がぬるりと近づいて——合体した。
表面が溶け合う。白い液体が混じるように、二つの球体がひとつに融合していく。サイズが倍になる。いや、倍以上。融合しながら膨張して、直径が一メートルを超え、一・五メートルを超え——
止まった。
直径約二メートル。
にこにこ顔がそのままスケールアップされている。目が人間の頭くらいある。三日月の口が肩幅くらいある。にこにこ。にこにこ笑っている。巨大な白い球体が、ぷるぷるを通り越してずるん、ずるんと脈動している。
「ぷるりんキング!」
ひまりが叫んだ。興奮している。
「やった! 合体するって設定だけ書いて忘れてたのが動いた!」
「やったじゃねえ。でかいんだが」
ぷるりんキングが動き出した。
——速い。
通常のぷるりんとは比較にならない。体が大きいぶん一歩の距離が長い。ずるん、ずるんと地面を弾みながら迫ってくる。にこにこ顔のまま。にこにこ顔が怖い。二メートルのにこにこ顔は怖い。
ピコピコハンマーで迎撃する。
ピコッ。
当たった。表面が波打った。ダメージ——手応えがない。体感でほぼノーダメージ。ATK7のはずだが、HPが600ならそれはそうだ。
ぷるりんキングの体当たりが来た。
顔面に入った。
体が吹き飛んだ。視界が回転する。草の上を転がって、二回バウンドして止まった。体の中心が熱い。HPが大きく削れた感覚がある。数値は見えないが、一発で三割は持っていかれた。
「ごっ、ごふっ——」
「大丈夫!?」
大丈夫ではない。大丈夫ではないが立ち上がる。
ぷるりんキングが次の体当たりの予備動作に入っている。巨大な体が縮こまるように後ろに引いて——ずるん、と前に弾けた。
避ける。横に。ギリギリ。風圧——重さが横を通り過ぎた。
ピコピコハンマーを振る。ピコッ。ピコッ。二連撃。手応えなし。HP600の壁は厚い。
ATK7を何発叩き込めばHP600を倒せる。単純計算で、八十六発。八十六回、あの体当たりを避けながら当てろということだ。
三発目を振ろうとしたとき、横から体当たりが来た。見えなかった。ぷるりんキングは一瞬で俺の横に移動し、方向転換してそのまま突進してきた。速い。腕に直撃。体が横に弾かれて、地面に叩きつけられた。
残ったぷるりん一匹がぽよんと体当たりしてきた。ATK1。蚊に刺されたようなものだが、今はそのATK1が痛い。
もう一発、ぷるりんキングの体当たりを食らった。背中。視界が真っ白に飛んだ。
地面に伏せたまま、体が動かなくなった。
死ぬ。
こんな所で。
画面——視界の端に、赤い点滅。戦闘不能の表示だろう。文字が読めない。意識が遠い。
暗転。
リスポーンした。
大きな木の根元。双葉の横。
「……おっも。重すぎるだろあいつ」
体に痛みはない。HPが全快している。戦闘不能からのリスポーンは全回復らしい。
ひまりが駆け寄ってきた。
「大丈夫? ……ごめんね、ぷるりんキングの強さ設定してなくて、自動スケーリングで——」
「次」
「え?」
「もう一回行く」
立ち上がった。
---
二戦目。
ピコピコハンマーを捨てた。振りが遅すぎる。一戦目で分かった。ATKが最高でも、当てる前に潰される。
ブーメランを装備する。遠距離なら体当たりの射程外から攻撃できる。理論上は。
ぷるりんキングを見つける。さっきと同じ場所にいた。にこにこ顔。ぷるぷる脈動。こっちに気づいて、ずるん、と動き出す。
距離を取る。十メートル。十分な距離。腕を振る。
ブーメランが飛んだ。青い曲線が夜空を切って、弧を描いて——ぷるりんキングの表面に命中した。べちん、と音がして、表面が波打つ。ダメージ、あり。手応えがある。
ブーメランが弧を描いて戻ってくる——
——来ない。
弧を描いたまま、遠くに飛んでいく。星空の向こうに消えていく。小さくなって、小さくなって——見えなくなった。
「…………」
「15パーセント引いたね」
「初投で引くな」
ロスト。ブーメランがインベントリから消えた。遠距離武器がゼロになった。
ぷるりんキングが迫ってくる。距離が詰まっている。走って逃げながらインベントリを切り替える。
フライパン。
振りは速い。ピコピコハンマーより軽くて、モーションが小さい。接近戦向き。
ぷるりんキングの体当たりを横に避ける。一戦目より避けられている。動きのパターンが少し読めてきた。
予備動作がある。体を引いてから弾ける。引く方向で体当たりの軌道が決まる。
フライパンを叩きつける。がんっ。鉄の音。ダメージは通っている。通っているが——軽い。
ATK補正がブーメランとほぼ同じか、それ以下。HP600を削るには回数が要る。
回避。攻撃。回避。攻撃。リズムが出来はじめた。体当たりの隙にフライパンを一発。避けて、一発。避けて、一発。
悪くない。このリズムなら——
そう思っていた途端、体当たりのパターンが変わった。
連続体当たり。一発目を避けた直後に、方向転換なしで二発目が来た。
想定していない。二発目を横に避ける。避けた先に三発目。
避けきれなかった。脇腹に直撃。体が浮いて飛ぶ。
地面に転がる。起き上がる。HPが——残り少ない。体の奥が重い。
フライパンを構え直す。ぷるりんキングが体を引いた。来る。
避ける。
避けた。一発振る。がんっ。
体当たり。避ける。
避けきれなかった。膝。崩れる。
もう一発。
暗転。
また勝てなかった。
リスポーンした。
大きな木の根元。双葉の横。
「……連続で来るのか」
学習した。パターンが増えた。連続体当たりは最大三連。
一発目の方向で二発目が予測できる。三発目は——まだ読めない。次に確かめる。
三戦目。
フライパンで挑む。回避と攻撃のリズムはさらに研ぎ澄まされた。
一戦目で掴んだ体当たりの基本パターン。二戦目で学んだ連続攻撃の軌道。体が覚えている。
しかしダメージが足りない。フライパンのATKでHP600を削りきるには、何十発も当てなければならない。回避しながら一発。また回避して一発。ジリ貧だ。
こっちのHPが先に底をつく。
三度目の暗転。
リスポーン。
「…………」
「……レン」
ひまりの声。心配そうな声。
「大丈夫? ちょっと強すぎた?」
「いや……まだ試していない武器がある」
インベントリを開く。
残っている武器。
ぜったいあたるけどいたくないハンマー——命中率100%、ダメージ0。
鉛筆(HB 17.5cm)——ATK補正1.2倍。基礎ATK5×1.2で、6。
クリティカル率5%。リーチは全武器中最短。
手が止まった。
鉛筆のアイコンを見ている。黄色い軸。17.5センチ。消しゴムなし。
——これだ。
理由を言語化できなかった。フライパンよりATKが低い。リーチは最短。振り数でダメージを稼ぐにしても、最短リーチということは、ぷるりんキングの体当たりの射程内に常に自分の体がある。ゼロ距離で殴り合うことになる。
合理的ではない。
だが、しっくりくる。
鉛筆を選択した。手の中に、17.5センチの黄色い棒が現れた。
軽い。
軽い。フライパンとは比較にならないほど軽い。指先に乗る重さ。手首への負荷がほぼゼロ。モーションが——小さくなる。振りが速くなる。
鉛筆を握った。指先で軸の中央をつまむように持って、くるり、と回した。
一回転。鉛筆の黄色い軸が指の間で弧を描く。先端と尻が入れ替わる。くるり。
もう一回転。くるり。
自然に回った。考えてやっていない。指が勝手にやった。なぜか手が覚えている。
——いや、覚えているはずがない。今、初めて鉛筆を持った。この手は今日まで鉛筆に触れたことがない。
なのに指が知っている。この回し方を。この重心のバランスを。中央よりやや先端寄りを持つと回しやすいことを。
仕様外。
パラメータにない動作。引き出しにない記憶。
指先に残る回転の感触だけが——しっくりくる。理由は分からない。
くるり、と一度回して、順手に握り直す。先端を前に。構える。
「——いちばんリーチ短いよ!?」
ひまりの声。驚きが混じっている。
振り返らなかった。ぷるりんキングの方を見ていた。
「知ってる」
短く答えた。
ひまりの動きが止まった。
一拍。呼吸一回ぶんの沈黙。背中越しに気配だけが伝わってくる。何かを堪えたような——飲み込んだような——
「…………がんばれ」
小さな声。さっきまでと少し違う声。
歩き出した。
---
ぷるりんキングがいた。にこにこ顔。直径二メートル。ずるん、ずるんと脈動している。
距離を詰める。
フライパンのときは間合いの外から様子を見た。ブーメランのときは十メートル離れた。ピコピコハンマーのときは三メートルから踏み込んだ。
鉛筆のリーチは、腕を伸ばして五十センチもない。
つまり——ぷるりんキングの体に触れるくらい近くないと届かない。
体当たりの射程内。常に。一歩の判断ミスで死ぬ距離。
三回の全滅で得たもの。ぷるりんキングの体当たりは予備動作で読める。体を引く方向で軌道が決まる。連続体当たりは最大三連。
一発目が右なら二発目は左。三発目は決まって正面。三発目のあとに二秒の硬直がある。
この二秒。鉛筆で何発入れられるか。
四発。いや、たぶん五発。
走り込んだ。
ぷるりんキングの表面が目の前にある。白い。ぬめっとした光沢。にこにこ顔の口が、間近で見ると裂け目みたいに見える。
体を引いた。来る。
右。
飛び込んでくるぷるりんキングを避け、体を左に倒す。
体当たりが右を通過する。重さがジェットのように空気を押す。白い壁が横を駆け抜けていく。
いまだ。
ぷるりんキングの体が通り過ぎた直後。巨体の背面。ゼロ距離。
鉛筆を突く。
短い。小さいモーション。腕を伸ばす動作すら要らない。手首のスナップだけで先端が刺さる。
手応え。
突く。引く。突く。引く。
速い。鉛筆は軽い。モーションが小さいから、振りと振りの間のロスがほぼない。
フライパンの二倍の速度で連打できる。
ぷるりんキングの表面に鉛筆の先端がめり込むたびに、波紋が広がる。一撃のダメージは6。フライパンより低い。だが手数が違う。
突く。引く。突く。引く。突く。
五発。ダメージ30。
ぷるりんキングが方向転換した。体が膨張するように引いて——来る。
離脱。後ろに跳ぶ。体当たりが正面を通過する。地面が揺れた。着弾の振動が足の裏に伝わる。
すぐに戻る。硬直の二秒。背面に回り込む。
突く。突く。突く。突く。突く。
五発。合計十発。ダメージ60。HP600のうち60。これを10回繰り返す。
ぷるりんキングの二連体当たり。右、左。パターン通り。右を避け、左を避ける。体が覚えている。三回死んで覚えた動き。
懐に入る。突く。突く。突く。
深追いはしない、ぱっと引く。
三連体当たりの三発目。正面。後ろに跳ぶ。ギリギリ。危なかった。白い壁が鼻先を通過した。
風圧で前髪が揺れた。
前髪が揺れるのは物理演算なのか演出なのか。今はどうでもいい。
硬直。二秒。
突く。突く。突く。突く。突く。
「がんばれっ……!」
ひまりの声。遠くから。声が上ずっている。
六十発。七十発。ダメージは蓄積していく。ぷるりんキングの表面に変化が出始めた。白い光沢が曇ってきている。にこにこ顔の輪郭が微妙に歪んでいる。効いている。確実に。
ただ——こっちも削られている。
完全に避けきれていない。体当たりの余波。方向転換時の接触。巨体がずるんと動くたびに、至近距離にいるこっちの体が押される。押されるだけでHPが少しずつ減る。接触ダメージ。仕様かバグかは知らない。じわじわと、体の奥が重くなっていく。
八十発。九十発。
ぷるりんキングの動きが変わった。
速くなった。
残り体力で動作を変えてきやがった。
体当たりの予備動作が短くなっている。体を引いてから弾けるまでの時間が半分になった。
読める。まだ読める。が、体が追いつかない。反応してから回避までの猶予が削られている。
百発。百十発。
体当たりを避けた。避けた——はずだった。巨体の縁が肩をかすめた。体が半回転する。足が地面から離れる。着地。膝をつく。立つ。
百二十発。
とっくにダメージ720を与えているはずなのに、まだ倒れない。
バグか。またバグなのか。
ひまりの声が聞こえなくなっていた。
振り返らなかった。振り返る余裕がない。ぷるりんキングの表面が明滅し始めている。光が不安定に瞬いている。
もうすぐ——あとどれくらいか分からない。HPの数値が見えない。自分のHPも相手のHPも。体感だけが頼りで、体感は「もう少し」と「もう限界」を同時に告げている。
三連体当たり。右——避けた。左——避けた。正面——
まずい。避けられない。
反応が遅い。体が重い。HPが残り少ない。足が地面に貼りついたみたいに動かない。正面からぷるりんキングの白い壁が迫ってくる。にこにこ顔が視界を埋める。
だめだ、避けられない。
——避けられないなら。
足が動いた。
後ろではなく、前に。
ぷるりんキングの体当たりの軌道——その真正面に向かって踏み込んだ。
巨体が通過する。白い壁が左右を通過する。上を通過する。視界が白く染まる。ぷるりんキングの体の中に、全身が潜り込んだみたいな感覚。半透明の膜が全身を包む。
にこにこ顔の表面が、目の前にある。
鉛筆を突いた。
全力で。手首のスナップではなく、腕ごと。肩ごと。体ごと。17.5センチのHBの先端に、体重を全部乗せた。
刺さった。
深く。柄まで。黄色い軸が白い表面に沈んでいく。
画面——視界の中央に、文字が弾けた。
CRITICAL HIT
数字が表示される。桁がおかしい。一、二、三——五桁。
99999
一撃。
ぷるりんキングが震えた。
表面が波打つ。にこにこ顔が歪む。全身がびりびりと振動して、内側から光が漏れ始める。白い光。まぶしい光。亀裂が走る。亀裂から光が溢れる。
にこにこ顔が、最後まで笑っていた。
弾けた。
白い光の粒子が爆発するように飛び散った。細かい粒。星みたいな粒。ひとつひとつが上昇して、空に散って——星空に混じっていく。
どれがぷるりんキングの欠片で、どれが星なのか。
見分けがつかなくなって——消えた。
草原に静寂が戻った。虫の声だけが鳴っている。
勝った。
鉛筆を——指先でくるりと回した。
一回転。自然に。考えていない。指が勝手にやった。
勝利ポーズ、のようなもの。NPCの標準動作だ。元々のパラメータにないものだったが、指先が勝手に作ってやっている。
「…………っ」
ひまりの息を吸う音が聞こえた。
声にならない音。驚きなのか、何なのか。ひまりの動きが止まっている。視界の端で。
一拍。
二拍。
「——ぁ」
何かを言いかけて、飲み込んだ。飲み込んで、別の音を出した。
「ああーっ!! クリティカル倍率の定義忘れてた!!!」
「……は?」
「倍率! クリティカル出たとき何倍にするかの設定! 書いてないの!」
「書いてない」
「書いてない! だからNaN——未定義値になって——デフォルトの99999に——」
「つまり」
「つまりバグ! バグで勝った!」
「…………」
「ごめん!! ごめんね!! ちゃんと直す! 1.5倍にする! ——あっ、でもたまーに必殺判定でドカンってのはアリにしようかな、1パーセントくらい……」
「……好きにしろ」
鉛筆を見る。先端が潰れた、17.5センチのHB。バグで勝った武器。ダメージ6の、ゲーム史上最も地味な武器。
返す気にならなかった。
インベントリに戻さず、右手に持ったまま——くるり、と回した。
指先に馴染んでいる。
---
空気が変わった。
最初に音があった。高い音。電子音。アラートの音。
『バグを検知しました。サポートAIエコーを起動します』
視界の上部に赤い文字列が走った。読めない速度で流れて消えた。
次に光が来た。
白い光。小さい。非常に小さい。ピンポン球くらいの光の球が、空中に出現した。
大きな木の枝の間。ふわっと浮いている。
光が震えた。細かく。高速に。明滅を繰り返す。何かのプロセスが走っている。起動シーケンス。
明滅が止まった。
光が安定した。白。一定の輝度。手のひらに乗るサイズ。ふわふわと、木の枝の間を漂っている。
声が聞こえた。
小さく、透き通った声。子供とも大人ともつかない。感情のない、平坦な声。
「——起動完了。ガイドAI、ECHO。ステータス:アクティブ」
光の球がゆっくりと降りてきた。枝の間を抜けて、目の高さに。
「サーバー `local_stargarden_01` のガイドAIとして起動しました。本来はサーバー起動時に呼び出されるはずでしたが——」
一拍の間。
「——起動コマンドが設定されていませんでした」
「寝てたのか」
「寝ていたわけではありません。呼ばれなかったのです」
声に感情はない。淡々としている。事実を述べている。
「今回の起動トリガーは、戦闘システムのCRITICALアラートです。クリティカルダメージ99999——異常値として検出されました」
エコーと名乗った光の球が、ひまりの方を向いた。向いた、という表現が正しいかは分からない。球体に正面はない。ただ、光の密度がわずかにひまりの側に偏った。
「管理者の方ですか」
「……わ、わたしです。桐生ひまり」
ひまりが一歩後ろに下がっていた。ガイドAIの存在自体は知っていたのだろうが、実際に起動したのは想定外だったらしい。
「桐生ひまりさん。このサーバーの開発者兼管理者ですね」
「……うん」
「サーバー状態の確認を行います。——確認完了」
エコーの光が、一瞬だけ強く明滅した。
「報告があります」
「……なにを」
「バグの報告です」
沈黙。
ひまりの顔が引きつった。
「まず。川エリアの重力ベクトルが反転しています。水が上方向に流れています」
「あっ、それは——」
「草原エリアのテクスチャ読み込み範囲が不足しています。10歩先でデフォルトテクスチャに切り替わります」
「それは、工事中——」
「花畑エリアのランダム配置スクリプトが動作していません。結果として花が等間隔で配列されています」
「それは、仕様——」
「池エリアの反射テクスチャの参照先がデバッグコンソールに指定されています。水面に内部情報が映り込んでいます」
「それ——」
「丘エリアの重力設定に境界値ミスがあります。特定の高度を超えると重力がゼロになります」
「——」
「山エリアのメッシュが片面レンダリングです。裏側が完全に透明です」
ひまりは口を開けたまま固まっていた。
エコーが報告を終えた。
「以上が現時点で検出されたバグの一覧です。修正の優先順位を指示してください」
「…………」
沈黙が長かった。
ひまりの目が泳いでいる。壊滅的な報告を六連発で叩きつけられた顔。
宇宙の真理を突きつけられたネコの顔。あるいは、通知表を見た日の顔。
「……そ、その辺りの改善は、おいおいやっていこうと思うので……仕様なのも、あるし」
「仕様書を確認させてください」
「……仕様書って、なに?」
長い沈黙。
エコーの光が——明滅した。
一回。二回。三回。
「……仕様書が、ないのですか」
声のトーンは変わらない。変わらないはずだ。機械的な声に感情はないはずだ。ないはずなのに、その「ないのですか」には、何かが——乗っていた。困惑。あるいは、困惑に近い何か。
「ないです」
「では、何が仕様で何がバグなのかを、どう判断すればよいのですか」
ひまりがゆっくりと立ち上がった。
膝を抱えていた姿勢から、ゆっくりと。しゃがんだ状態から。まっすぐ立った。
エコーの光を見上げた。白い球体。手のひらサイズ。ふわふわ浮いている。
ひまりの目が据わっていた。
「バグと仕様の違いは——」
声が変わった。いつもの明るさでもなく、照れ隠しでもなく、開き直りでもない。もっと奥の、芯の部分。
「——開発者の、『心意気』です」
エコーの光が止まった。
明滅が完全に止まった。一定の白い光。動かない。
「……それは仕様書の代わりにはなりません」
「なるよ。ここでは、なる。ここはわたしの世界だから」
「…………」
「仕様書はありません。ないけど——わたしがここにいます。わたしが決めます。全部。バグも。仕様も。ここに何を置くかも。誰がいるかも。全部、わたしが」
ひまりの声が震えていた。
震えているのに、強かった。
エコーの光が——ほんの少しだけ、柔らかくなった。光の色は変わらない。白のまま。でも、硬さが抜けた。そういう気がした。
「……記録しました」
「何を」
「開発者の設計方針を。——ひまりイズム、と呼称してよろしいですか」
「…………えへへ」
照れた。
---
エコーがふわふわと浮きながら、草原を移動し始めた。何かを探している。光が低くなり、高くなり、左右に振れる。
大きな木の根元に来た。
止まった。
双葉を見ている。
「……このオブジェクトについて確認します」
光が双葉の上で静止した。
「アセット名:`futaba_test_final_FINAL_v2`。——生成ログを参照します」
沈黙。
「……生成ログが見当たりません」
「え?」
ひまりが首を傾げた。
「生成ログがない? わたしが作ったんじゃないの?」
「管理者による生成記録はありません。自動生成のログにも該当するエントリがありません。環境スクリプトの出力にも含まれていません」
エコーの光がレンの方を向いた。
「NPC `npc_ren_01`。昨日のログに、未登録アイテム『シャーペンの芯』の取得記録があります。川エリアの衝突判定未設定区域から回収。その後、当該座標に芯を挿入する動作が記録されています」
「……ああ」
「このアイテムの生成経路が特定できません。モデルの自動出力にも、環境テーブルにも存在しない素材です。NPCが自発的に未登録アイテムを取得し、それを環境に還元した結果、新規オブジェクトが発生した——」
エコーの光がわずかに揺れた。
「——仕様外の出力です」
「……仕様外?」
ひまりの声が小さくなった。
「重大度は低と判断します。環境破壊やシステム不安定化の兆候はありません。ただし——」
エコーが双葉を見下ろした。
「——前例がありません。経過を観察します」
レンは双葉を見ていた。小さな二枚の葉。暗い緑色。頼りない茎。風のない世界で揺れている。
何となく拾って、何となく刺した。
それだけだ。
それだけのことが——「仕様外」と記録された。
「……勝手に生えたのか」
「はい。あなたの行動が起点です。しかし、この結果を生む設計は存在しません。偶発的な相互作用の産物と推定されます」
「壊すか?」
エコーの光が一度明滅した。
「……壊す理由がありません。重大度は低です」
「じゃあ、このままでいいか」
「はい。モニタリングを継続します」
双葉が揺れていた。
---
大きな木の下に座り込んだ。
根元の、二人分のスペース。座る。ひまりが隣に座った。
エコーが枝の間にふわふわと浮かんでいる。白い光。Star Gardenに新しい住人が増えた。
星が光っている。多すぎる星。金色、白色、淡い青色。
「……鉛筆は剣より強し」
ひまりが言った。
「ペンは剣より強し、の間違いだろ」
「鉛筆だもん。鉛筆は剣より強し」
「……まあ、今日は鉛筆で勝ったからな」
「バグで勝ったんだけどね」
「バグでも勝ちは勝ちだろ。結果が全てだ」
「ひまりイズム的にはそうだね」
ひまりが笑った。いつもの笑い方。
少し黙った。
虫の声。エコーの光。双葉の影。
「……かっこよかった」
ひまりの声。小さくなっていた。
「最後の——避けないで、前に出たとこ」
「……あれは避けられなかっただけだ」
「ううん。避けられなかったんじゃなくて、前に出たの。見てた」
「…………」
「安心した」
「安心?」
ひまりが膝を抱えていた。スカートの裾を両手で握っている。
「お兄ちゃんなら大丈夫だって、信じてたから」
——お兄ちゃん。
その言葉が引っかかった。前回も引っかかった。ゲームのNPCに向ける言葉としては——何かが重い。重さの正体が分からない。
聞こうとした。
「あのさ——」
口が止まった。
いや、聞かないほうがいい。
また、その直感が来た。引き出しの底の振動。パラメータの外から。
前回と同じ場所から。「聞くな」と言っている。
聞いたら何かが壊れる、という予感ではない。
聞いたら——ひまりの、あの笑顔の下にあるものが出てくる。出てきたら、飲み込めなくなる。
「……どうしたの」
ひまりが顔を上げた。
「——いや。なんでもない」
「なんでもないの? ちょっと多くない? スクリプトになんでもない禁止って書こうかな」
「うるせえ」
ひまりが笑った。
「……えへへ」
今日何度目かの「えへへ」。笑い方は同じなのに、全部違う。
この「えへへ」は——嬉しいのと、切ないのが、半分ずつ混ざっている。そういう風に聞こえた。
パラメータに「切ない」の判定基準はない。ないのに聞こえる。
---
「……そろそろ帰るね」
「ああ」
ひまりが立ち上がった。草を払う仕草。草はついていない。癖。
「明日は——何持ってこようかな。新しいエリアか、モンスター増やすか」
「どっちでもいい。好きにしろ」
「『好きにしろ』って言われると逆に迷うんだよね」
「面倒くせえな」
「面倒見てよ。お兄ちゃんでしょ」
——また。
俺は、次の言葉を飲み込んだ。
「……しょうがねえな」
メニュー画面が出た。半透明のウィンドウ。ログアウトのボタン。
ひまりの指がボタンの上で一瞬止まった。前回と同じだ。少しだけ迷う。ほんの少しだけ。
振り返る。
「じゃあね、レン」
「ああ」
「エコーもおやすみ」
「——おやすみなさい。記録を継続します」
エコーの声が返った。律儀だ。
「おやすみ」
ひまりの体が光り始めた。
白い光。足元から。つま先から。光の粒子が上昇していく。
前回と同じだ。ログアウトの光。スニーカーが溶けて、脚が溶けて、スカートの裾が。パーカーの袖が。指先が。
笑顔のまま透けていく。向こう側の星空が見える。
最後に、手を振る形。五本の指の輪郭が光の粒になって——星空に散った。
消えた。
虫の声が戻った。
一人——いや、二人になった。
枝の間で白い光が浮いている。エコー。さっきまでの報告口調とは違う、静かな浮遊。
「……消えたな」
「ログアウトです。正常なプロセスです」
「分かってる」
分かっている。正常なプロセスだ。前回もそうだった。光の粒になって、星に混じって、消える。正常。当たり前。毎日——毎回起きること。
なのに、前回と同じ感覚が来た。
足りない。
何かが。
名前がつけられない、あの感覚。引き出しにラベルがない。空の棚。中身がない。なのに棚が揺れている。何も入っていないのに。
「……エコー」
「はい」
「双葉——あれ、見ててくれるか」
「すでにモニタリング対象です。成長段階に変化があれば記録します」
「そうか」
「……何か気になりますか」
「いや」
気になっている。気になっているが、何が気になっているのか分からない。双葉が気になっているのか、それとも双葉を見ている自分が気になっているのか。
「頼む」
「了解しました。引き続きモニタリングします」
静かだった。虫の声。星の光。エコーの白い浮遊。
右手に鉛筆がある。先端が潰れたHB。17.5センチ。
くるり、と回した。
一回転。指先で。なぜこの動作をするのか分からない。パラメータにない。設定にない。教わった記憶もない——記憶がそもそもない。
指が知っている。
理由は知らない。
くるり。
この世界に日は昇らないが、また明日が来る。
最後に思ったのは——明日もこの鉛筆を持っているだろうか、ということだった。
---
```
Star Garden ── server: local_stargarden_01
player_count: 0
npc_count: 1
guide_ai: ECHO ── status: active
[LOG] プレイヤー himari がログアウトしました ── 23:14:37
[LOG] 本日のプレイ時間:1時間41分
[LOG] NPC npc_ren_01 ── 待機モードに移行
[BATTLE] ぷるりん ×2 ── 撃破
[BATTLE] ぷるりんキング ×1 ── 撃破(CRITICAL HIT: 99999)
[ALERT] クリティカル倍率 ── 未定義値検出(NaN→99999)
[PATCH] クリティカル倍率 ── 1.5倍に修正(必殺判定1%を追加)
[ANOMALY] npc_ren_01 ── 未登録アイテム「シャーペンの芯」の自発的取得を検出
[ANOMALY] 生成経路:特定不能
[ANOMALY] 重大度:低
[NOTE] 経過を観察します
[LOG] オブジェクト futaba_test_final_FINAL_v2 ── 成長段階に変化なし
[LOG] モニタリングを継続します
[LOG] runtime: stable
[LOG```
] anomaly_count: 1
── 記録を終了します。
```
---
ひまりはVRヘッドギアを外した。
髪が静電気で頬に張りついている。手の甲で払った。部屋は暗い。二階の六畳間。窓からオレンジ色の街灯の光。紺色のカーテンが半分だけ閉まっている。
机の上。PC。教科書の山。ポッキーの箱——新しいのが開いている。三本減っている。カルピスのペットボトルは空になっていた。隣に新しいのが一本。まだ開けていない。
ヘッドギアをベッドの横に置いた。仰向けに転がった。
天井を見ている。白い天井。
右手を見た。
何も持っていない。さっきまで——ゲームの中では——レンが鉛筆を持っていた。くるりと回していた。指先で。自然に。教えていないのに。設定していないのに。
右手を握った。開いた。握った。
「……お兄ちゃん」
スマートフォンが震えた。枕元。光る。LINEの通知。
> 美優:今日もカラオケ楽しかったよー! 次は絶対来てね!!
> 美優:ひまりの分のポテトも頼んだのに(泣)
> 美優:てか最近返信遅くない?? 大丈夫??
通知を見た。
見た。
指が画面に触れた。返信を打とうとした。「ごめんね」と打とうとした。指が止まった。
何を謝るのか分からなかった。カラオケに行かなかったこと。返信が遅いこと。それとも——
スマホを裏返した。画面が下を向く。光が消える。
毛布を引っ張って、顔の半分まで被った。目だけが出ている。
天井を見ている。
「……鉛筆、回してた」
声は小さかった。自分にしか聞こえない声。
「教えてないのに」
天井に向かって右手を伸ばした。指を広げた。何かを回すような動きをした。何も持っていない指で。
お兄ちゃんの癖。シャーペンを右手でくるくる回す癖。授業中も、宿題を教えてくれるときも、テレビを見ているときも。怒りながら回す。笑いながら回す。何も考えていないときも回す。
教えてない。
設定にも入れてない。性格パラメータには書いた。ぶっきらぼうとか、優しいとか、ツッコミとか。でもシャーペンの癖は書いてない。書き忘れたんじゃなくて、書かなかった。書いたら——なんか——
「…………なんでもない」
手を下ろした。毛布を顔まで引き上げた。
目を閉じた。
机の上のPCの画面が、スリープに入る前の最後の光を放っている。画面の隅に、ファイルが一つ。
`npc_oniichan.dat`
光が消えた。
部屋が暗くなった。
街灯のオレンジだけが、カーテンの隙間から細く差し込んでいる。
「……明日も行くからね」
毛布の中から、声がした。
小さな声。前回より——少しだけ小さな声。
誰に言ったのかは、分からない。




