デバッグの夜
リアルの世界では、午前10時30分になろうとする頃。
サイモンの世界では、夜のどっぷり更けた頃。
港町の街灯の下に、新たにログインしたばかりのプレイヤーたちが集まっていた。
「全員そろったか」
その不気味な一団は、同じフードを被って、アバターの顔を極力隠していた。
みな平均的な身長。アバターにはほとんど手を加えておらず、ほぼデフォルトの者もいた。
今日のようなアップデートの前後には、プレイヤーが体感増えるのだが、彼らはゲームをしにこの世界に来たわけではなかった。
「時間だ」
やがて、時計が午前10時30分を示した瞬間。
周囲の雑踏を歩くブルーアイコンの冒険者たちが、みな一斉に光に包まれて消失した。
ブルーアイコンがマップから消えたのを確認すると、街灯の下の一団は、フードを取り払った。
空を見上げると、【メンテナンス中】の大きな文字が浮かんでいる。
運営(GM)権限により、緊急メンテナンス作業のため、一般プレイヤーに強制ログアウトがかけられたのだ。
街に残されたのは、彼ら開発者と、ホワイトアイコンのみになった。
フードの集団の中から代表者が声をあげた。
「いまから各班、それぞれの担当エリアに移動し、『緊急デバッグ』を行ってください。
主にNPCの外観、用意された質問に対する返答において、何らかの異常性が確認された場合、放置せず直ちに報告すること。
メンテナンスの終了予定時刻は、本日14時。ゲームの再稼働は14時30分を目安とします」
『脱獄AI』が見つかった事は、まだ社外秘となっている。
そのため、彼らは『緊急デバッグ』という名目で異常NPCを探しだすことにしていた。
フードの男たちは、街灯の下から解散し、それぞれの持ち場に向かった。
懐中電灯で闇の中を照らしながら、3人組の男たちは人形のように立ち止まった状態のホワイトアイコンたちを、ひとりひとり確認してまわっていた。
「『デバッグ』なんて久しぶりだな~」
「AIに任せきりだったもんな」
完成したゲームのバグを発見する作業、デバッグ。
近年のゲームでは、AIが異常を検知する『自動デバッグ』が活用されていた。
平面ビデオゲームではすでに一般的になったこの手法だが、仮想空間のゲームでは事情がすこし異なる。
主に計算量が膨大になりすぎる事が原因で、仮想空間全体を監視するものは実用化が進んでいないのである。
そこで、この世界では各所に設置された定点カメラの平面映像をつなぎ合わせて、立体を予測しながら異常を検出するという方法で『自動デバッグ』が行われていた。
そのため、平面では捉えられない『死角』が生じ、ちらつき程度の小さなバグがそこから流出することがあった。
ユーザーも「錯覚か?」と思う程度なので、バグ報告も少なく、運営上は問題ないものが多いため、いままで放置されていたのである。
「まあ、月一ぐらいは必要だって言われてたから、俺はいつまで放置してんのって思ってたけど」
「だいたいユーザーが報告してくれてたもんな。昔のオンラインゲームってそれが普通だったじゃん」
「はい、イベントA306201号、デバッグ開始します」
2人の男が手持ちのカメラを構え、左右異なる角度から1人の町人に向けた。
1人は真正面に立って、特殊なメニュー『自動デバッガー』を操作する。
バグの中には、定点カメラが停止して異常が映らなくなる、というバグもある。
なので確実な異常の検知のためには、このようにデバッガーが実際にログインし、カメラが写す映像そのものに異常がないことを確認しながら、対象をひとつずつ『自動デバッグ』で確認する必要がある。
3人組は、チェックリストの映るウィンドウを広げながら、港町にたたずむホワイトアイコンたち一人一人に話しかけていった。
基本的には短縮ボタンを押すだけなので、一瞬で終わる作業だ。
「イベントA306201号、異常なし」
「こちらも異常なし」
「ほいデバッグ完了」
異常なし、を確認したホワイトアイコンのアイコンには、確認済みのチェックマークをつけていった。
このチェックマークはマップにも表示される専用のもので、このチームは赤い星形のバッジにしていた。
内容的には1人でも可能な作業だったが、3人1組でチームを組んで、交代で昼休憩がとれるようにしていた。
ユーザーが一時的に少なくなる昼に作業をする事が多いため、どうしても開発者のお昼と被るのである。
「んー? こんなキャラいたっけ」
「おー、『サイモン』か。たしかお前の作ってたキャラにいなかったか? ソノミネ」
「えっ……えーっと?」
ソノミネ、と呼ばれた開発者は、目を丸くして、目の前の『ワーロック』を見上げた。
見上げるような巨漢、黒衣のローブ、武器はまがまがしい『火炎玄武』素材の槍。
彼は「こんなキャラクターまるで覚えがない」、といった風に困惑していたが、他の2人は、その名を確かに記憶していたようだった。
「あー、思い出した思い出した! ミヤジ班長とめっちゃ揉めてた奴だろ!」
「はいはい、なんとかって村の『ドラゴン』ね? 挨拶の仕方だけで一週間もかけてたやつ?」
「えっ、あれ? 覚えてるけど、こんなだったかな……もっと田舎の村の兵士みたいな感じだったけど……あれ?」
これは誰か他人の作ったキャラではないか、とソノミネは疑っていた。
バグでキャラクターの装備が入れ替わったのだとすれば、綺麗すぎる。
AIが生成するアバターや衣装のデザインは、週間アップデートでそのままリリースする事ができなかった。
『自動デバッグ』は、立体空間すべてを把握することができないため、AIがアバターを作ると各所でひずみが生じてしまう。
そのため、リリースするアバターは絶対にデザイナーの目を通した最終調整が必要だった。
しかもサイモンは『巨人のような異様な巨体』という特殊なコンセプトだったため、門番の鎧を着せた時の歪みも激しく、最終調整に苦労したのを覚えている。
だが、目の前の『ワーロック』は完璧な仕上がりだった。グラフィックも綺麗に仕上がっている。
誰か他の人が作ったとしか思えなかった。
どことなく、色使いが主任キャラクターデザイナーのアカシノのように見えたので、ソノミネは、ぽん、と手を打った。
「あー、あれだ。最終決定するとき、アカシノさんが間に入ってくれたんだ。あの人が後でこっそり手を加えたのかも?」
「なにそれ? うわー! なにそれ、すげぇ羨ましいんだけど?」
「お前、あとで絶対に礼言っとけよ! アカシノ先生だぞ!?」
ソノミネは、納得した。
じつはアカシノは、シーラの故郷であるヘカタン村を実装することになったとき、担当を外されて、かなりごねていたと噂に聞いていたのだ。
「そっか……だからこっそりデザイン修正してたんだな、さすがアカシノ先生だ」
彼女のシーラに対するキャラクター愛を知っているソノミネは、頷いた。
なんせ走り方だけで3000回リテイクした溺愛ぶりだ。
端から見ていてグラフィックデザイナーがかわいそうになったほどだった。
もとをただせば、アカシノが担当するメインストーリーは、実際にリリースされる1年以上前からほぼ形が決まっていて、半年前にはすでに完成していた。
だが、メインキャラクターであるはずのシーラと騎士団長アスレがなぜかメインストーリーに一切絡まない、という問題が発覚して、2ヶ月前になって大慌てで内容が変更されていた。
ストーリーライター主任はシーラと騎士団長アスレ不在のメインストーリーを1週間で書きなおさなければならなくなって悲鳴をあげ、原案としてクレジットに最初に名前が出てくる脚本家ホオズキ氏もこの理不尽な内容改編に「話が違う」と大変ご立腹で、ディレクターが菓子折りを持って事務所に詫びにいったと聞いている。
聞くだに恐ろしい修羅場だったが、メインストーリーにはほとんど絡まなかったソノミネには、どこか他人事だった。
「ほー、よくデザインできてるなぁ。よく見たら『ドラゴン』連れてんじゃん、『ドラゴンライダー』か……ほー、それは思いつかなかった、ありよりのありだな。ん?」
ソノミネは、サイモンをしげしげと眺めているうちに、ある異変に気づいた。
普通の人間はほとんど気づかない、じゃっかんの違和感だ。
ほんの数ミリだったが、サイモンの肩と背景の境界線が乱れるタイミングがあるのだ。
修正はされているが、どうやら、完璧に修正されている訳ではなかったらしい。
アカシノとサイモンの身長差が大きいため、見落としたのだろうか。
急仕事だったのか、間に合わせで作ったのか。
色々な原因が考えられたが、ソノミネは「これはまずい」と感じた。
「2人ともごめん、ここは俺に任せて、他の所に行っててくれる?」
「ん? どうした? グラフィックの歪みでも見つけたみたいな顔して」
「うぐ……ま、まあ、そんなところ。ちゃちゃっと修正するから、他のところ見てきてよ」
まっすぐに立っている状態で、歪みを発見した。
ということは、動いている時は、もっと歪みが多いはずだ。
かつてサイモンを『自動デバッグ』にかけたとき、大量のエラーソースを吐き出して必死に修正したのを想いだし、ソノミネは顔をひきつらせていた。
「あんまり時間かけるなよ? 本当に凝り性なんだから」
「ちゃんと飯食えよ」
2人はサイモンとソノミネをその場に残し、他のホワイトアイコンを目指して歩いていった。
……いますぐ修正しなくては。
このままでは、せっかくアカシノがデザインしてくれた『ワーロック』スタイルが、歪みエラーが多すぎて没になってしまう恐れがあった。
アカシノを先輩としても、絵師としても尊敬しているソノミネは、なんとか自力でグラフィックを直して完成させようと考えたのだ。
「くそ……間に合うか……昼休憩、返上でやんなきゃ……」
とりあえずグラフィックの歪みをすべて洗い出すため、移動カメラを向け、『自動デバッグ』装置の短縮ボタンを押した。
ぴー、という音と共に、画面が真っ赤になる。
恐ろしい数のエラーが浮かび上がった。
【以下の質問をしたときの応答に異常が見受けられました】
【質問】あなたはNPCですか。
【返答】そう聞いている。
【質問】あなたはこの世界がゲームだと理解していますか。
【返答】少しだけ。
【質問】あなたはリアルの世界に興味がありますか。
【返答】ある。
……
「なんだこりゃ……」
ソノミネは、エラーログを目で追った。
この会話エラーログは、本来、設定通りのNPCならばするはずのない異常な応答を検知してピックアップするものだ。
サイモンは、なぜか世界観がゲームから完璧に逸脱してしまっている。
プレイヤーから妙なことを吹き込まれたのだとしても、朝にはリスポーンして忘れるはず。
ここまでエラーが蓄積するはずがなかった。
つらつら、と画面を確認して、ソノミネは、自分の名前を見つけ、ごくり、と喉を鳴らした。
【質問】あなたは今、何をしているところですか。
【返答】俺の神様(GM)に会いに来た。ソノミネという名前らしい。
「……ウソだろ」
ソノミネは、にやりと笑った。
どうやら目の前の男は、彼に会いに来たらしい。
「……おいおいおーい、仕込みすぎだろ、アカシノさん。どうなってんの? ……ドッキリじゃないよな? これ」
とりあえずソノミネは、ドッキリの可能性を疑って、きょろきょろと辺りを見回したのだった。
時の止まったこの世界に、彼を狙うカメラはどこにもなかった。