異世界デバッグ生活 未完成世界の品質保証エンジニア〜物理法則がバグだらけだったので、元QA責任者の俺が仕様の穴を突いて無双します〜
ソコニ
第1話 世界、リリース初日の崩壊
プロローグ:伝説の終焉
深夜三時。モニターの青白い光だけが、オフィスを照らしていた。
「……よし、マスターアップ」
九条慎也は、最後のチェックリストに判を押した。三年がかりの大型タイトル。バグ報告総数は十万件を超え、そのすべてに目を通した。彼の手を経て、ゲームは完成した。
立ち上がろうとした瞬間、胸に激痛が走る。
(……待て)
倒れ込む身体。薄れゆく意識の中で、九条の脳裏に一つの映像が浮かんだ。
(あの看板のテクスチャ……0.1%の確率で裏返るバグ、修正リストから漏れてた……ユーザーが気づいたら、スクリーンショットを撮られて、SNSで拡散されて……)
床に倒れ込む。冷たいタイルの感触。
(……クソが。美しくない。完璧じゃない)
最期まで、エンジニアだった。
第一章:ブラック神界の新人開発者
「うわああああん! 助けてぇぇぇ!」
目が覚めると、耳をつんざく悲鳴が聞こえた。
真っ白な空間。無数のモニターが浮遊し、赤い警告文字が明滅している。
ERROR: CAUSALITY_OVERFLOW (x1,048,576)
WARNING: PHYSICS_ENGINE_CRASH
CRITICAL: HERO_ENTITY_CLIPPING_INTO_GROUND
// TODO: 納期が足りないので後で直す(リセ)
// 警告:gravity_constant を変更すると太陽が落ちるので触るな
「……開発サーバー、か」
九条は冷静に状況を把握した。目の前には、泣きながらキーボードを叩く少女がいる。長い金髪、純白のローブ。背中には光の翼——半透明で、テクスチャが正しく貼られていない。
間違いなく、女神だ。しかも、自分自身すらデバッグ不足らしい。
「あ、あの! 起きた!? ねえ、助けて! もうダメなの、世界が壊れちゃうの!」
少女——女神リセは、涙と鼻水でぐしゃぐしゃの顔で九条にすがりついた。
「落ち着け。状況を説明しろ」
「う、うん……わ、私、上位神様から『新しい世界を作れ』って言われて……で、でも納期が厳しくて、テストも全然できなくて……それで、さっきリリースしちゃったんだけど……」
リセが震える手で指差したモニター。そこには信じがたい光景が映っていた。
草原に立つ勇者。その足元が、ゆっくりと地面にめり込んでいく。
「ちょ、ちょっと待って! なんで床が!? うわああああ——」
勇者は悲鳴を上げながら、腰まで地面に沈み込み、やがて完全に埋まった。
HERO HAS DIED - CAUSE: GROUND_COLLISION_NULL
RUNTIME: 00:03:24
リリースから三分二十四秒での、世界初の勇者の死。
「……当たり判定のレイヤー設定が逆になってるな」
九条は呆れたように呟き、リセの書いたソースコードをスクロールした。
変数名は適当。a、tmp、xyz123。
コメントアウトすべき箇所は野放し。
関数の入れ子は十重二十重。
そして、すべてのファイルの末尾に——
// もう無理……神様助けて……
という、開発者の悲鳴が刻まれていた。
「素人が書いたスパゲッティコードだな。変数の命名規則すら守られていない。これでは世界が保つわけがない」
「ご、ごめんなさい……私、神界でもポンコツで有名で……でも、納期は絶対だから……」
「で、俺を何のために召喚した?」
「あ、あの、あなたの魂の記録を見たら、QAエンジニアって書いてあって……お、お願い! この世界を、直すの手伝って!」
九条は考えた。三秒後、答えを出した。
「条件がある」
「な、なんでも!」
「俺は勇者じゃない。世界改修のコンサルタントとして契約する。報酬は、お前の持つ管理者権限の一部だ」
「え……それでいいの?」
「ああ。それから——」
九条は冷たい目でリセを見た。
「泣くな。エンジニアは、現場で泣くもんじゃない」
リセは目を丸くし、やがて袖で涙を拭った。
「……は、はい」
「それと、もう一つ」
九条はモニターに映る崩壊した世界を見つめた。
「俺は、この世界を救いたいんじゃない」
リセが首を傾げる。
「バグのある世界が、エンジニアとして我慢ならないだけだ」
第二章:バグまみれの始まりの村
転送の光が消え、九条は異世界の地に降り立った。
青い空、緑の草原、遠くに見える中世風の村。典型的なファンタジー世界——のはずだった。
「……ひどいな」
空に浮かぶはずの浮遊島が、座標計算ミスで地面に半分めり込んでいる。島の底から岩が垂れ下がり、地面に突き刺さったまま固定されている。風に揺れもしない。物理演算が死んでいる。
村の入り口では、村人たちが全員、石壁に向かって延々と歩き続けていた。
ゴツン。ゴツン。ゴツン。
額を壁にぶつけながら、前進を試みる。骨が軋む音。皮膚が擦れる音。それでも止まらない。
「おはよう おはよう おはよう おはよう——」
ループするAI。壊れたレコードのように、同じ言葉を繰り返す。
一人の村人の首が、不自然な角度に曲がっていた。180度反転し、後ろを向いたまま固定されている。それでも、彼女は笑顔で「おはよう」と言い続ける。
「……パスファインディングだけじゃない。ボーンのアタッチメントも崩壊してる」
九条は吐き気を覚えた。技術的な不備に対する、純粋な嫌悪感。
「リセ、聞こえるか」
『は、はい! 通信機能は生きてます!』
耳元のイヤホン型デバイスから、女神の声。
「村人のAIがループしてる。パスファインディングのアルゴリズムを見直せ。経路探索の優先度が、目的地じゃなくて『最も近い壁』になってる」
『わ、わかりました! メモします!』
「それと、ボーンの回転制限を設定しろ。首が360度回るのは人間じゃない」
『あ……あああ、ごめんなさい! 私、スケルトンの設定をコピーして使っちゃって……』
「……まあいい。とりあえず今は——」
九条の視線の先。村の中央で、巨大な何かが蠢いていた。
青いゼリー状の塊。レベル1の雑魚モンスター、スライム。
だが、その周囲には冒険者たちの死体が転がっている。鎧が砕け、剣が折れ、肉体が原形を留めていない。
「あ、あれが! 最大のバグです! あのスライム、攻撃を受けるたびに攻撃力が2倍になっちゃって……もう誰も倒せないんです!」
村人が一人、震える手でスライムに石を投げた。
ぷるん、とスライムが揺れる。
次の瞬間——
ドゴォン!
スライムから放たれた体当たりが、音速を超えた。衝撃波が空気を裂き、村人を吹き飛ばした。壁に激突し、赤いエフェクトと共に——ポリゴンが飛び散り——消滅する。
「計算式が加算じゃなくて乗算になってるのか。初期攻撃力1として、すでに100回は攻撃を受けてるな……2の100乗。これは確かに魔王級だ」
『もうダメ……この世界、リリース初日でサービス終了です……』
「諦めるな」
九条は懐から、リセに渡された端末を取り出した。
『デベロッパー・コンソール』。
世界の変数を直接閲覧し、一時的に書き換える権限。
画面にスライムの情報が表示される。
ENTITY: SLIME_001
HP: 50
ATK: 1,267,650,600,228,229,401,496,703,205,376
// バグ:乗算ループ(修正予定)
DEF: 1
SPEED: 3
POSITION: (X:245.0, Y:0.0, Z:128.0)
FRICTION: INHERITED_FROM_GROUND
九条は、冷たく笑った。
「リセ、質問だ。この世界、物理演算はどうなってる?」
『え? えっと……重力、慣性、摩擦、空気抵抗……一応、全部実装したつもりですけど……』
「なら、使える」
九条はコンソールに入力した。対象は、スライムではない。
スライムが立っている、地面そのもの。
TARGET: GROUND_TILE(X:245, Z:128)
PARAMETER: FRICTION_COEFFICIENT
CURRENT_VALUE: 1.0
NEW_VALUE: 0.0
// 摩擦ゼロ。氷よりも滑る。
EXECUTE? [Y/N]
九条は、迷わず「Y」を押した。
瞬間、スライムの足元の地面から、摩擦が消失した。
「な、何を——」
スライムがわずかに動く。前回の攻撃で得た慣性——それだけで、身体が滑り始めた。
止まらない。制御できない。
音速を超えた攻撃力を持つスライムは、今や音速を超えて滑走する、ただの物体だった。
「うわああああああ!」
人間のような悲鳴を上げながら、スライムは村の外へ、平原へ、地平線へと滑り続ける。やがて描画範囲外に消え、ログに一行だけメッセージが残った。
SLIME_001: OUT_OF_BOUNDS - ENTITY DELETED
// 世界の外に出たオブジェクトは自動削除されます
静寂。
呆然とする村人たち。首が曲がったままの女性が、初めて壁から離れ、九条を見た。
「……あ、ありがとう、ございます……」
かすれた声。壊れたAIが、初めて人間らしい言葉を紡いだ。
「礼はいい。お前たちは被害者だ」
九条は端末をしまい、歩き出した。
「力で勝つ必要はない。これは仕様の穴を突いた、ただの運用回避だ」
エピローグ:デバッグロードの始まり
村の外れ、丘の上。九条は遠くの王都を見つめた。
城のテクスチャが剥がれ、内部のワイヤーフレームが露出している。空からは謎の立方体——デバッグ用のグリッド——が降り注ぎ、建物を貫通して地面に刺さっている。
遠くから、悲鳴が聞こえる。
『く、九条さん……あ、ありがとうございます……』
「礼はいい。リセ、お前にはやることがある」
『は、はい……』
「まず村人のAIを修正しろ。パスファインディングのコードを見直せ。それから、スライムの攻撃力計算式を加算に変更。経験値システムの遅延バグも優先度高だ。ボーンの回転制限も忘れるな」
『わ、わかりました! が、頑張ります!』
九条は小さく笑った。
「この世界は……直すべき場所が多すぎる」
一歩、踏み出す。
その足跡に沿って、地面のテクスチャがリアルタイムで修復されていく。欠けていたポリゴンが埋まり、色が正しく表示され、草が生える。
彼の通った道だけが、正常になっていく。
伝説のQAエンジニアの、異世界デバッグロードが、今始まった。
【第1話:完】
異世界デバッグ生活 未完成世界の品質保証エンジニア〜物理法則がバグだらけだったので、元QA責任者の俺が仕様の穴を突いて無双します〜 ソコニ @mi33x
★で称える
この小説が面白かったら★をつけてください。おすすめレビューも書けます。
カクヨムを、もっと楽しもう
カクヨムにユーザー登録すると、この小説を他の読者へ★やレビューでおすすめできます。気になる小説や作者の更新チェックに便利なフォロー機能もお試しください。
新規ユーザー登録(無料)簡単に登録できます
この小説のタグ
参加中のコンテスト・自主企画
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます