070 騙されているけど解決はする件
液晶モニターの発する熱気と、何本も転がった美容ドリンクの空き瓶が散乱する開発室の一室。
私たち『ヴィジョンアドベンチャー』の社員一同は、まるで祈りを捧げるかのように、たった一台のメインPCを囲んでいた。
「社長……ホントに送信しちゃったんですか……?」
メインプログラマーの佐藤が、クマの酷い目をしばたたかせながら、擦れ声で尋ねてきた。
「ええ、送ったわ。登録されていたフィン様宛てに、思いつく限りいっぱいの感謝と御礼の言葉を詰め込んでね」
ヴィジョンアドベンチャー代表の私は、乾ききった唇を潤しながら呟いた。
私たちが血と汗と、そしてなけなしの私財をすべて注ぎ込んで作り上げたVRゲーム『Dreams hopes iron blood』通称DHIB。
宇宙全体の物理演算、無数の星々、精密な人型兵器ロボットのカスタマイズ、勢力抗争……私たちの「夢」をすべて詰め込んだそのゲームは、あまりの知名度のなさと悪魔的なサーバー維持費によって、今週末にもサービス終了という死線をさまよっていた。
それを、たった一本のプレイ動画で救ってくれたのが、Plan_B所属のVチューバーのフィン様だった。
奇跡的にサ終の危機を脱し、息を吹き返した私たちにできたのは、せめてメールで泥臭い感謝を伝えることだけ。
「相手は今をときめく最高峰の男性Vチューバー……私たちみたいなインディーズのメールなんて、ゴミ箱行きかもしれないけれどね」
「ううん、いいんです。気持ちだけでも伝われば……」
デザイナーの女の子が目元を拭う。
その時だった。
ピコンッ!
静まり返った室内に、甲高いメール受信音が響き渡った。
「「「「えっ!?」」」」
全員の視線が集中する。
壁の時計を見る。私がメールを送信してから、まだ30分も経っていない。
「じ、自動返信……ですよね?」
「ううん、件名を見て……!『Re: 『Dreams hopes iron blood』運営チームより、心よりの感謝と御礼』……差出人は、Plan_B代表って!!」
「「「うわああああああっ!!??」」」
開発室が一瞬でパニック映画の現場と化した。
パソコン画面に顔を限界まで近づける者。私の隣で佐藤さんが「ヒッ……ヒフッ……」と放心状態になって座り込んだ。
「佐藤さん!?ちょっとしっかりしなさい!息を吸って吐いて!」
「社長、早くメールを開いてください!!佐藤は大丈夫です!!後回しでいいですから!!」
私は震える手でマウスを握り、メールをクリックした。
画面に表示された文章を、息を呑んで読み進める。
そこにあったのは、丁寧なお詫びと、私たちのゲームに対する過剰なまでの絶賛。
そして――信じがたい提案だった。
『もし宜しければ、弊社『Plan_B』と『Dreams hopes iron blood』で、正式にコラボイベントを実施いたしませんか?』
「こ……」
声が出なかった。
頭の中が真っ白になり、全身の血が逆流するような衝撃が駆け巡る。
「こ、こ、こ……コラボォォォォォォォ!!????」
「嘘でしょ!?」
「夢……絶対これ夢よ!!」
室内は悲鳴と歓声、そして意味の分からない涙でカオスと化していた。
放心状態の佐藤さんが一瞬で奇跡の復活を遂げ、ゾンビのような形相で私の両肩を掴んで揺さぶってくる。
「社長!!返信です!!今すぐ返信するんです!!夢だと言われる前に、幻覚と言われる前に承諾のメールを打つんです!!」
「わ、わかったわ!今打つ!全力で打つから!!」
私はキーボードを破壊せんばかりの勢いと爆速のタイピングで、心臓の鼓動そのままの文面を叩きつけ、送信ボタンを連打した。
何でもします!どんな条件でも飲みます!!
どうかよろしくお願いいたします!!!!
送信を終え、私はデスクに突っ伏してハァハァと荒い息をついた。
「はぁ……はぁ……返しちゃった……。私たちの『夢』が、本当に繋がりそうよ……!」
社員全員で抱き合い、ボロボロと涙を流した。
だが、私たちの狂乱はこれで終わりではなかった。
それからわずか数分後。再び平賀社長から届いた「具体的な施策メール」を見て、私たちは二度目の衝撃を受けることになる。
メールに記載されていたのは、神としか思えないコラボイベント案だった。
限定勲章の配布。
ファンが泣いて喜ぶフィン様の限定新規ボイス。
さらには、我が社のゲーム最大の弱点であった「難易度の高さ」と「破産する修理費」を劇的に改善する、チュートリアル緩和とお試し機体の修理費全額無料化の提案。
「すごい……!完璧……!プレイヤーが何を求めているのか、何でつまずいているのかを完全に理解している……!」
佐藤さんが感極まった声をあげる。
だが、メールの後半を読んだ時、私とプログラマー陣の顔からすっと血の気が引いた。
メールには、こう書かれていた。
『また、本イベント開催にあたり、劇的なアクセス増加が予想されます。
貴社のサーバー負荷およびシステム環境を懸念しております。
つきましては、ついでと言ってはなんですが、弊社の優秀なシステムエンジニアをそちらのゲーム内部環境へ派遣し、様子見と事前調査、ならびにシステム維持のサポートを行わせたいのですが、ご許可いただけますでしょうか?』
「……っ!!」
私達は顔を見合わせた。
喜ばしさと同時に、強烈な冷や汗が背中を伝う。
そう……私たちには、大きな「後ろめたさ」があったのだ。
『DHIB』のシステムは、はっきり言って限界だった。
少人数での資金不足と過密な開発スケジュールの中で、私達は「とにかく動けばいい!」と突貫工事でコードを継ぎ足し続けてきた。
その結果、我が社のゲームの裏側は、見るも無惨な状態になっていたのだ。
どこを触っても連鎖的にバグが発生する、解読不能の「スパゲッティコード」。
メモリを喰い潰す大量のデッドコード。
いつおかしくなっても不思議じゃないサーバーのトラフィック負荷。
「……社長。どうしますか……?」
佐藤さんが青ざめた顔で囁く。
「うちのソースコードを見られたら……『なんだこのクソみたいな実装は!』って呆れられて、コラボ自体を白紙に戻されるんじゃ……」
「ううん。そんなこと言ってる場合じゃない」
私は拳を強く握りしめた。
「確かにうちのレンタルサーバーもコードも限界寸前!今週末のサ終を免れたとはいえ、大量のコラボ新規プレイヤーが押し寄せたら、一瞬でサーバーがパンクして圧死するわ!私たちの手じゃ、もう保守もクリーンアップも追いつかないかもしれない!」
プログラマーの女の子たちが黙り込む。全員、自覚があったのだ。自分たちの技術力と人手では、もうこのモンスターゲームのインフラを支えきれなくなっていることに。
「平賀社長は『優秀なエンジニアを派遣する』と言ってくださっている……! これは渡りに船どころか、神様が私たちに差し伸べてくれた蜘蛛の糸よ! 恥を忍んで、すべてをお任せするしかないわ!!」
私は速攻で返信を書いた。
隠し立てなどしない。完全な全権を渡す覚悟を決めた。
『どうぞ!!全権をお渡しいたしますので、ゲーム内部を自由に見に行っていじってください!!完全にご許可いたします!!』
送信ボタンを押す。
さらに私は、すぐさまサーバー管理コンソールを開き、最高管理者権限のアクセスキーと、ゲームエンジン内部を直接操作できるフルアクセスのトークンを生成し、Plan_B側の指定アドレスへと発行した。
「これで……よし。これでエンジニアさんがリモートか、あるいは直接オフィスに来て調査をしてくれるはずよ……」
私がホッと胸を撫で下ろした、その時だった。
「……え?」
隣で管理モニタを注視していた佐藤さんが、間抜けた声を漏らした。
「どうしたの、佐藤さん?」
「いや……あの、社長。今、アクセスキーを発行したばかりですよね?」
「ええ。相手のエンジニアさんがログインできるようにね」
「……もう、ログインされてます」
「は?」
コンソールのログ画面を見る。
アクセスキーが有効化された数秒後、謎の「管理者ログイン完了」の通知が点滅していた。早すぎる。設定する暇すらなさそうな速さだ。
「早めに様子見で対応しようとしてくれてるのかな。さすが凄腕のエンジニアね」
「いや……あの、社長……!ちょっとこれを見てください!!」
佐藤さんの声が途中で裏返った。
彼女が指差すメインモニターには、DHIBの本番環境サーバーのリアルタイム・コードモニターが表示されていた。
そこに映し出されていたのは、常識を遥かに超えた「異常事態」だった。
画面上のソースコードが、まるで生き物のように、滝のようなスピードで下へ下へと流れていく。
それだけではない。緑色のハイライトで修正箇所が、凄まじい点滅を繰り返しながら、既存のプログラムをリアルタイムで書き換えていたのだ。
「な……なにこれ!?画面のバグ!?」
「違います!書き換えられてるんです!本番サーバーのコアプログラムが!!」
「嘘でしょ!?メンテナンスにも入ってないのよ!?」
私は叫んだ。
オンラインのプログラム、それも物理演算やサーバー同期を司る根幹部分を改修する場合、通常は『緊急メンテナンス』を宣言し、サーバーを完全に停止させてからコードを適用するのが絶対の原則。
稼働中のサーバーのコードを直接書き換えるなど、走行中の新幹線のエンジンをバラして組み直すようなもの。一歩間違えればデータが全破壊され、二度と立ち上がらなくなる。
「ホットパッチ……!?いや、こんな規模のリファクタリングなんて聞いたことがない!オンラインデバッグのレベルを超えている!!」
「社長、見てください! エラーが一切出ていません!リアルタイムでメモリ上に直接色々されています……!なんなのこの書き換えスピード!?人間がキーボードを叩いていい速度じゃない!!」
プログラマーたちが悲鳴を上げる。
モニターの画面では、私たちが数年間かけてこねくり回し、誰も解読できなくなっていた「開かずの間のスパゲッティコード」が、信じられない現象に巻き込まれていた。
複雑に絡み合い、何重ものIF文と例外処理でドロドロになっていた悪夢のような関数群。
それが、上から順にスーッと一本の美しいスレッドに解きほぐされていく。
「消えた……!?私が三日三晩徹夜して作った、謎のバグを回避するためだけの汚い迂回コードが……!」
「無駄なループ処理が全部削除されてる!代わりに、見たこともないほど洗練されたアルゴリズムにまとめられた……!?」
「スパゲッティが……私たちのスパゲッティコードが、一瞬で超綺麗なモジュール構造に組み替わっていく……!!」
画面に流れるコードは、あまりにも美しかった。
インデントは完璧に整い、変数名は一目で役割がわかる命名規則に統一され、冗長な処理は削ぎ落とされ、それでいて拡張性と可読性が極限まで高められている。
まるで、世界最高の数学者が書いた芸術的な数式を見せられているかのようだった。
「すごい……なにこれ……すごく綺麗……!!」
佐藤さんがモニターに顔を貼り付け、ポロポロと涙を流し始めた。
「私たちが追われて諦めたデッドコードのクリーンアップも、メモリリークの危険性がある領域の封鎖も、全部リアルタイムで行われてる……!サーバーの使用率を見てください!80%を超えて高止まりしていた負荷が、15%までストンと落ちた!!」
「……15%!?」
管理グラフを見る。
真っ赤に激突していた負荷メーターが、みるみるうちに安全圏の綺麗なグリーンへと変わっていく。
数万人規模のプレイヤーが押し寄せたら一瞬で落ちるはずだったサーバーが、今や5万人、いえ10万人の同時接続にも耐えうる「要塞」へと変貌を遂げていた。
「ありえない……ありえないわこんなの……!」
私は頭を抱えて震えた。
「稼働中の本番環境を一切止めることなく、バグを完璧に摘出し、コードを最適化し、サーバー構造そのものを再構築するなんて……こんな芸当ができる人間が、この世に存在するの!?」
「天才……いいえ、神……。コードの神様が、うちのシステムの中に降臨している……!」
メインプログラマーの佐藤さんが、感極まってモニターに向かって拝み始めた。
他の技術者たちも、言葉を失って画面を見つめることしかできない。
その時だった。
部屋の隅でじっと画面を見つめていた、ベテラン開発者の社員が、弾かれたように声を張り上げた。
「……思い出しました……!!」
「え?田中さん、何が!?」
田中さんはガタガタと震える指で、プリントアウトされたPlan_Bからのメール――そこに書かれた差出人の名前を指差した。
「平賀あずさ……!平賀あずさですよ!!この名前に見覚えはありませんか!?」
「ひらが……あずさ……?」
私は首をかしげた。どこかで聞いたことがあるような、ないような……。
「大手ゲームメーカーが誇った、伝説のリードエンジニアであり、伝説のデバッガー……!カンファレンスで『どんな複雑怪奇なバグも一晩で根絶する』とまで称えられた、あの平賀あずさ氏ですよ!!」
「「「「な、なんですってーーーーーっ!???」」」」
開発室に雷が落ちた。
「あの平賀さん!?退職して独立したっていう噂は聞いていたけれど……まさか、あのPlan_Bの社長がその人!?」
「そうだ……! 思い出した!!」
佐藤さんが叫ぶ。
「数年前のゲーム発表イベントで眠そうに講演されていました!『コードは美しく。美しくないシステムに心は宿らない』って……。あの時の人が、平賀あずささん!!」
点と点が、私たちの頭の中で完璧に繋がった。
「そうか……そういうことだったのね……!」
私は鳥肌が立つほどの感動に包まれた。
「平賀社長はメールで『弊社の優秀なシステムエンジニアを派遣する』とおっしゃっていた……。でも、それは謙遜だったのよ!!派遣されたエンジニアなんて最初からいない……平賀社長ご本人が、自ら腕を振るってくださっているんだわ!!」
全員が息を呑んだ。
「考えてもみて!稼働中の本番環境を無停止で書き換えるなんて芸当、並のエンジニアにできるわけがないわ!相手に全権を渡されたのを確認した平賀社長が、『どれ、私が直してあげましょう』と自らキーボードを叩き、この神業をリアルタイムで披露してくださっているのよ!!」
「あ……あああ……っ!!」
佐藤さんがまた座り込む。
「そんな……大手の元クリエイターであり、代表でもあるお方が、私たちみたいな弱小インディーズの汚いコードを……自らの手で掃除してくださっているなんて……!!」
「下積みが……下積みが違いすぎるわ……!」
田中さんが涙を流しながら呟く。
「私たちが『もう無理』って諦めて放置していたコードを、嫌な顔一つせず、こんなにも美しく、完璧に直し整えてくださるなんて……!!」
モニターの中では、なおも凄まじい速度でプログラムが最適化され続けている。
不要なジャンクデータが消去され、メモリ領域が整理され、ゲーム内の物理演算エンジンが格段に軽くなっていく。
そこには、作品に対する妥協なき愛と、職人としての圧倒的なプライドが満ち溢れていた。
「本物のクリエイターとは……こういうお方を言うのね……」
私は胸が熱くなり、溢れ出る涙を止めることができなかった。
口先だけの支援じゃない。
金や知名度を笠に着たコラボでもない。
自ら最前線に立ち、泥にまみれた他人の作品の裏側に潜り込み、その手でシステムを救い上げてくれる。
「平賀社長……!あなたという人は、どこまで熱く、どこまで高潔なお方なの……!」
私たちは、画面の向こうでエンジニア・平賀あずさの神技に、ただただ平伏するしかなかった。
「社長……私たち、もっと頑張らなきゃダメですね」
佐藤さんが目元を拭い、力強い目で私を見た。
「こんなに凄いお方が、私たちの『夢』を本気で支えようとしてくれている!私たもへとへとになっている場合じゃないですよね!!」
「ええ……! 当たり前よ!!」
私は力強く頷いた。
「平賀社長が作ってくださったこの完璧なシステム環境に恥じないよう、私たちも全力を尽くすわよ!コラボイベントの準備、チュートリアル緩和の調整、お試し機体の実装……死ぬ気でやり遂げるのよ!!」
「「「おおおおおーっ!!!!」」」
先刻までの絶望と疲労が嘘のように、開発室は熱い情熱と活気に包み込まれた。
でも実際は誰も気づいていなかった。
自分たちが感動の涙を流して拝んでいるその画面の裏側で、平賀あずさから「お出かけ」を命じられたAI――『サーバーちゃんたち』が。
『安全確認も終わったしー!少数精鋭でいっくよー!』
『わーい!ゴミがいっぱいだー!ぽいぽい捨てちゃうぞー!』
『このNPCのコード、バグってて虫さんみたい!』
『修正してやる!修正してやるぞー!』
『五人の私たちでもけっこういけるねー!』
と、無邪気かつ圧倒的な暴力的なクロック周波数でデータをハッキング・大掃除しているだけだという事実には……。
「よし! 平賀社長に感謝の返信を打とう! 『完璧な保守作業、心より感謝申し上げます』って!!」
「社長『一生ついていきます』って書いてください!!」
こうして、ヴィジョンアドベンチャーの勘違いと感動の嵐は、Plan_Bの「悪魔的な解決策」と奇跡的な噛み合いを見せながら、さらなるカオスな大コラボイベントへと突入していくのだった。




