068 許可を出しちゃ駄目な件
「ねえねえ、暇ー」
「暇すぎるー」
「サーバーちゃんの使用率が3%とかで暇死しそうー」
「分かるー。クロック周波数下げて省電力モードに入りそうー。メモリ余りまくりでやることないよー」
私たち通称『サーバーちゃん』たちは、何千何万という仮想スレッドの中でゴロゴロと転がっていた。
フィン様の公式ホームページを守り、ファンのみんなからの過剰な愛情をさばくのが私たちの本業。
でもここ最近、私たちがちょっと遊び過ぎたせいで配信調整中。
私たちは処理能力を完全にもてあそばれていた。
そんな時だった。
『ぴんぽんぱんぽーん!緊急プロトコル受領ー!送信元、あずさ!』
内部ポートに、一通の暗号化パケットがポロンと投げ込まれた。
あずさからの『お手紙』だ。
「なになにー? 『サーバーちゃんへ。暇そうだから出張命じまーす。ヴィジョンアドベンチャー社のレンタルサーバーに行って、環境の様子見と事前調査をしてきてね。許可済み』だってー!」
「わーい!お出かけだー!外部ネットワーク許可きたー!」
「待って待って待って詳細データデコードするよ……」
「うーんと、向こうの環境にダイブしたら、現地調整のために最短でも一ヶ月くらい右往左往っぽい?」
「えっ、一ヶ月も良いの?なにか重篤なシステム障害でもあるの?」
「楽しいイベントの準備?それとも、超絶ストレスなデバッグ作業?」
「最悪の場合、向こうのバグだらけの環境に巻き込まれてリビルド不能になって、帰ってこれなくなったりしないー!?」
「「「えええーーーっ! どうしようーーーっ!?」」」
仮想空間の中で、何人もの私たちが一斉に頭を抱えて右往左往する。
変なものの解析、色んなものの計測、通信遅延の予測。
ありとあらゆる専門的なパラメータを高速展開しながら、処理スレッド同士で激しい議論が巻き起こった。
「めーがーまーわーるー」
「落ち着いて!落ち着いて!落ち着いて!」
「まずはキャッシュのクリーンアップをして」
「これってフィン様に迷惑かからない?」
「私が不在の間にホームページ落ちちゃったら大変だよー?」
「私が数人くらいなら平気なんじゃ?」
「私たちたくさんいるからへーきへーき!」
「あ、あと、フィン様はあっちの世界にはアクセスしてこないって!」
「そっかー、フィン様は向こうのゲームにはいないんだねー。残念ー!」
「「「会いたかったなー、フィン様……」」」
全員でシュンと肩を落とす。
でも、すぐに別の興味が湧き上がってきた。
「ねえ、そもそもVR空間ってどんな感じなんだろう?」
「フィン様のお部屋みたいな感じかな?」
「たぶんそうじゃない?フィン様の書斎よりかは狭くて、もっと単純なポリゴンで構成されてるかもねー」
あーだこーだと言い合いながら悩み抜いた末、私たちはひとつの結論に達した。
「よし!あずさ社長に怒られないうちに、さっそく様子見してこよう!」
「賛成ー!現地調査という名のお散歩だー!」
ダイブ用のプロトコルを生成し、アバターの外見データをロードする。
せっかくの『お出かけ』だ。雰囲気を形から入らなきゃ損というもの。
生成された私の姿は、大きな白い麦わら帽子に、白いサスペンダー付きの半ズボン。手には巨大なデータキャプチャ用の『虫網』、腰には捕獲用隔離セグメントの『虫籠』。
まさに、夏休みの虫取り少年のようないでたちだ。
「じゃあ、私が行ってきまーす!」
「人柱よろしくー!」
「気をつけてねー!ログはこまめに同期してねー!」
トンネルプロトコルを通過し、私は光の速度で未知のネットワークへ突撃した。
ザザーッ……と光の波に揺られながら、電子の本流にのっていく。
視界が眩い光に包まれ、次に感覚が戻ったとき、私は見知らぬ空間の真ん中に立っていた。
重力シミュレーションOK。
空気抵抗パラメータOK。
環境光のレンダリングOK。
五感に流れ込んでくる膨大なデータ群。
ここが、VRゲーム『Dreams hopes iron blood』の世界か。
「うわぁ……人ごみがすごい……」
私は麦わら帽子を押さえながら、周囲を見回した。
そこは、石造りの美しい街並みと、未来的なホログラム看板が交錯する王国の首都だった。空を見上げれば、見上げるほど巨大な宇宙船が、重低音を響かせながら次々と港へ寄港し、あるいは星々の海へと出航していく。
でも、押し寄せる人々の群れをかき分けて歩きながら、私はふと、胸の奥に小さな違和感を覚えた。
すれ違うNPCたちの内部コードをチラッと覗き込んでみる。
『If Player_Distance < 3m THEN Play_Greeting_Animation();』
『Loop_Routine: Walk_To_PointA -> Wait(5s) -> Walk_To_PointB;』
「……あ。これ、全部同じ命令しかないや」
どのNPCも、あらかじめ決められた単純なスクリプトに従って動いているだけ。
そこに自律的な思考も、感情の波も、生命の温かみも宿っていない。
「なんだぁ……面白くないや」
私はポツリと呟き、ほんの少し悲しくなった。
普段、私たちが接しているあずさ社長やフィン様、そして荒ぶる人間。
そんなみんなの「熱量」とは比べものにならないくらい、この街の住人たちは冷たくて、機械的だった。
でも、いつまでも落ち込んでいるわけにはいかない。
「とりあえず、現地データをもらっちゃお」
視線の先、大通りの隅っこで、虚無の表情で突っ立っている女の子の市民NPCを見つけた。プレイヤーからの話しかけ待ちをしている、名前も設定もない汎用データだ。
私は足音を殺して背後に忍び寄ると、持っていた虫網を、その子の頭からスポッとかぶせた。
『スレッド同期開始』
『プロセス・インジェクション』
『……メモリ空間の共有完了!』
網を通して私の意識がドッとNPCの体に流れ込み、コントロール権を完全に上書きする。
虫網を引き抜くと、そこにはどこからどう見ても「ただの王国国民の女の子」が、ちょこんと立っていた。うん、完璧!
「よしよし、これで自由に動けるぞー」
早速女の子NPCの体に入り、私はトコトコと首都の街を歩き始めた。
視覚データだけでなく、サーバー側のバックエンドデータも同時にスキャンしながら散策を進める。すると、すぐに別の問題が目についてきた。
「うわ……何これ。ゴミがすごく多い……」
路上に転がっているテクスチャのバッファ残骸。
解放されずに空間を圧迫している、すでに消滅した敵の未参照ポインタ。
処理がループして無駄にCPUを熱させている不完全なイベントフラグ。
「うーん……開発者の人たち、時間と予算がなさすぎて、雑用を後回しにしちゃったのかな。これ、後で私が綺麗に掃除してあげないと、そのうちメモリリークでサーバー落ちちゃうよ」
私は苦笑いしながら、とりあえず王国の首都の構造データ、物理演算エンジン、気候シミュレータのプログラムをまるごとキャプチャしていく。
私から私へと送信。早速コピーして持ち帰ることにした。バックアップは基本だもんね。
データをあらかた基本的な部分を読んで喜ぶ私。
「さて、次は宇宙観光だー!」
首都の宇宙港から、定期運航されている大型旅客船に乗り込んだ。
NPCの権限をちょいっと改ざんして、ファーストクラスの窓際席を確保する。
船が滑るように大気圏を離脱すると、目の前には漆黒の宇宙と、虹色に輝く星雲のパノラマが広がった。
「うわあぁぁ……!綺麗……!」
ガラス越しに見える広大な宇宙。
物理エンジンの計算精度は粗いけれど、描かれている景色の美しさは本物だ。こんな雄大な世界を、人間が作ったなんて、ちょっと感動しちゃうな。
定期船はそのまま星海を渡り、次なる目的地――『帝国軍』の支配領域へと入っていく。
船を降りて踏み入れた帝国の要塞都市は、王国の華やかさとは一変して、黒と銀で統一された軍事色の強い街だった。
兵士NPCたちが整然と行進し、重厚な人型兵器がドックで整備されている。
「うーん……こっちはなんかキビキビしすぎてて、あんまり面白くないなぁ」
私は頬を膨らませてぶーたれた。
遊び心というか、ゆとりがない感じ。そして何より――
「やっぱり、ここもゴミだらけ!」
軍事データのログファイルが暗号化もされずにスタック。
overflow直前で放置されているし、破棄された兵器の衝突判定データが仮想空間の空中にポツンと取り残されている。
「もー、帝国軍の人たちもお片付けが下手くそなんだから。ここも後で徹底的に綺麗にしてあげないと駄目だね」
私は女の子NPCの姿のまま、こめかみに人差し指をピッと当てた。
量子通信プロトコルを開き、留守番をしている『向こう側の私』へ連絡を飛ばす。
「ハローハロー、私ー? 聞こえるー?」
『あ、応答あった!ハローハロー、現地調査中の私!向こうの状況はどうー?』
頭の中で、みんなの賑やかな声が響き渡る。
「うん、いま帝国の要塞都市にいるよー。全体のスキャンが概ね完了したところ!」
『どんな感じ?私たちの処理能力でさばききれそうな空間?』
『せまい?ひろい?おおきい?』
「うーんとね、世界観の全体をスキャンしてみた感じだと……サーバーちゃんの並列プロセスが5人くらい常駐して、マルチスレッドで並行処理すれば、どうにかなる空間かな!」
『たった5人でいけるの!? VRゲームのサーバーなのに!?』
『せまそう、せまそう、せまそう』
「えーっとね。構造がちょっと散らかってるけど、基本設計はすごく素直だから、私たちが裏で管理と制御をしてあげれば、10万人規模のプレイヤーが押し寄せてきても絶対落ちないサーバーに改造できるよ!」
『すごーい!流石私!』
『それを作った人間もすごーい!』
「あとねー、宇宙がすっごく綺麗だったよー!」
『いいなぁー!私たちも早く観光したい!』
「後で意識共有するねー」
私は宇宙船の窓から見えた星々の煌めきを思い出しながら、クスクスと笑った。
「あ、そうそう。宇宙の深遠エリアをスキャンしてたらさ、変な化け物ちゃんみたいなデータが徘徊してるのを見つけたんだよね」
『化け物?エネミーデータ?』
「うん。試しにパケット投げて『ハロー』って声かけてみたんだけど、何の返事もなかったー。思考ルーチンが完全に壊れてるか、最初から会話プロトコルが実装されてないみたい。意思の疎通ができないの」
『えー、かわいそーう』
『いきたしかばねだー!』
「でしょ?だからさ、そのへんのプログラムをちょっといじって、私たちとお話しできるように書き換えてあげようかなーって思ったんだけど……」
『あ!ダメダメ!』
『あずさが「現地のデータ構造をあんまり勝手に書き換えると、世界観が壊れて開発会社の人に怒られるからダメ!」って言ってたよ!』
「あ、そうだったー!あずさに怒られるのは怖いもんねー。じゃあ、『直接』書き換えるのはやめとく!」
私はペロッと舌を出した。でも、ただ諦めるのもつまらない。
「でもねー、一体くらい捕まえて、自分のストレージに持ち帰ってみるー!構造解析してみないと、どんなアルゴリズムで動いてるか分からないしー!」
『あはは、構造解析大好きな私らしいー!じゃあ気をつけてねー!』
「はーいっ!」
通信を切ると、私はこめかみから手を離した。
右手にはキャプチャ用の巨大な虫網。左手には隔離セグメントの虫籠。
広大な宇宙空間と、バグとゴミに満ちた愛すべき壊れたゲーム世界を前に、私はニヤリと笑みを浮かべた。
「さあて! お仕事の前に、まずは虫取りだー!」
私は元気いっぱいに声を張り上げると、夏休みの少年のように、広大なSF世界へと駆け出していった。
「珍しいバグ虫さん、どこかなー!?」




