第十四話:デバッグ地獄とカオスな結束 ~リリースへの道~
京一郎とキラ☆の劇的な和解と、起死回生のブレイクスルーを経て、プロジェクト・ギャラクシーは、かつてないほどの推進力を得ていた。
第7開発準備室には、以前の停滞感が嘘のように、明確な目標に向かって突き進む、ポジティブなエネルギーが満ち溢れていた。
富安京一郎
キラ☆
佐藤涼子
三人の間には、激しい衝突を乗り越えたからこその、奇妙で、しかし確かな連帯感が生まれていた。
「京一郎さん、例の『キメ写モード』のエフェクト処理、負荷計測の結果が出ました。想定よりも若干高いですが、許容範囲内かと」
「そうですか、良かった。シェーダーの最適化が効いたようですね。では、その方向で最終調整を進めましょう」
「キラ☆さん、アバターの初期プリセットコーデ、いくつかパターンを作ってみたんだけど、どっちの方が『今っぽい』かな?」
「んー、こっち! このゆるっとしたシルエットが、今の気分! あ、でも、このアクセサリーは、こっちのコーデの方が合うかも!」
三人のコミュニケーションは、以前とは比べ物にならないほど円滑になっていた。
京一郎は、キラ☆の感覚的な言葉を、頭ごなしに否定するのではなく、その意図を汲み取り(具体性をもって確認し、時には佐藤さんの強力を仰いだが)技術的な実現可能性を探るようになった。
キラ☆もまた、京一郎の説明する専門用語を(相変わらず独自の解釈を交えながらも)理解しようと努め、自分のアイデアが技術的にどのような制約を受けるのかを、以前よりは考慮するようになった。
そして佐藤は、その二人の間を、デザイナーとしての専門知識と、持ち前のコミュニケーション能力で巧みにつなぎ、アイデアを具体的な形へと昇華させていく。
彼らが新たに見出した解決策…「キメ写モード」での限定的なキラキラ演出、LOD(詳細度)の概念を応用した他プレイヤーへのエフェクト表示の簡略化、そして、ユーザー参加型の「キラキラ負荷テスト」イベントの企画…は、高山プロデューサーを通じて上層部にも報告され、その独創性と、課題解決への具体的な道筋が評価された。
「一ヶ月以内」という厳しい期限はクリアされ、プロジェクト凍結の危機は、ひとまず回避されたのだ。
その後も開発は、猛烈なスピードで進んだ。
遅れていたアルファ版(主要機能が一通り実装されたバージョン)の完成にこぎつけ、社内テストを経て、すぐにベータ版(リリース候補版に近いバージョン)の開発へと移行した。
アバターカスタマイズ機能は、当初キラ☆が夢見ていた「無限」とはいかないまでも、髪型、メイク、ネイル、服装、アクセサリーに至るまで、膨大な数のパーツとカラーバリエーションを用意し、組み合わせ次第で、まさに無限に近い個性を表現できるものへと仕上がっていた。
競合作品との差別化の一つに、「AR機能+IN」というモードが入った。
これはキラ☆が「アバターと一緒に自分も写メ撮りたい」「自分のコーデをアバターにしたい」という要望から採用されたもので、AR機能は一般的なカメラモードにアバターをトラッキング(カメラ画角に合わせて位置が固定されている様にシンクロする)して写メが取れるのは勿論、普通に写メを撮るだけで、その人のコーデがAI解析でアバターのパーツから最適な類似パーツを瞬時に組み合わせて、逆にアプリ内に今の自分をそのまま投影できるシステムで、ヘアスタイルからメイク迄かなりの精度で取り込めることから画期的な仮想空間との往来が可能なシステムとして採用された。
勿論キラ☆こだわりの「キメ写モード」も、佐藤のデザインセンスと京一郎の技術力によって、驚くほどリッチで「盛れる」演出が実現されていた。
SNS連携機能や、「推し」応援ランキングといった、キラ☆が熱望した要素も、法的な問題をクリアしつつ、ゲームの魅力を高める形で実装されていった。
第7開発準備室には、連日、深夜まで明かりが灯っていた。
モニターの光だけが煌々と照らす室内で、キーボードを叩く音、マウスをクリックする音、そして時折交わされる短い会話だけが響く。
誰もが、迫りくるリリース日に向けて、己の限界に挑むかのように作業に没頭していた。チームには、新たに数名の若手プログラマーとQA(品質保証)テスターも加わり、文字通り、総力戦の様相を呈していた。
しかし、開発が佳境に入るにつれて、彼らは新たな、そして避けては通れない壁に直面することになる。それは、ゲーム開発における、最も地道で、最も過酷な工程の一つ――「デバッグ」という名の、終わりの見えない戦いだった。
機能が増え、コードが複雑化するにつれて、予期せぬ不具合…すなわち「バグ」が、まるで雨後の竹の子のように、次から次へと発見され始めたのだ。
「京一郎リーダー! アバターの特定の髪型と帽子を組み合わせると、頭部が突き抜ける現象を確認しました!」
「佐藤さん! ショップ画面で、特定の手順でアイテムを購入しようとすると、UIがフリーズします!」
「サーバーサイド! 高負荷時に、ユーザーデータの一部が稀に破損する可能性のある脆弱性を発見!」
QAテスターから上がってくるバグ報告は、日に日にその数を増していく。
バグ管理システムには、未解決のチケットが山のように積み上がり、その一つ一つに、優先度が付けられ、担当者が割り振られ、修正作業が進められていく。
それは、まさに地獄のような作業だった。
報告されたバグの再現手順を確認し、原因となっているコード箇所を特定し、修正し、再びテストする。
その繰り返し。
修正したと思ったら、別の箇所で新たなバグが発生する(デグレードと呼ばれる)ことも日常茶飯事だ。
開発メンバーは、心身ともに疲弊していく。
オフィスには、栄養ドリンクの空き缶と、コンビニの弁当ガラが山積みになり、仮眠用の寝袋が持ち込まれるようになった。
「もー! なんなの、この『虫』たち! 倒しても倒しても、無限に湧いてくるんだけど!」
最初は「宝探しみたいで楽しいかも」などと言っていたキラ☆も、この終わりなきデバッグ作業には、さすがに音を上げ始めていた。
彼女には、プログラミングの知識はないため、直接的な修正作業はできない。
だが、QAテスターの一員として、ひたすらゲームをプレイし、不具合を見つけて報告するという、地道な作業を割り当てられていたのだ。
「センパイ! このバグ報告の書き方、マジでめんどい! なんで、こんな細かいことまで書かなきゃなんないわけ?」
「再現手順を正確に記述しないと、原因の特定が困難になるからです。バグの修正には、正確な情報が不可欠なんです」
京一郎は、根気強く説明する。
「ふーん…。あ、ねえ、このバグ、見て見て! この服着て、このダンス踊ると、スカートがなんか、ありえない方向にめくれて、パンツ丸見えになるんだけど! 超ウケる!」
キラ☆は、不具合を発見すると、それを面白がって京一郎に見せに来ることもあった。
「…笑い事ではありません。これは、クリティカルな表示バグです。すぐ修正が必要です」
京一郎は、真顔で答える。
しかし、そんなキラ☆の、ある意味で「開発者の常識」にとらわれない視点が、思わぬ形でプロジェクトに貢献することもあった。
ある日、彼女は、アバターの自撮り機能(キメ写モード)を試している最中に、血相を変えて京一郎の元へ駆け込んできた。
「センパイ! 大変! 大事件だよ!」
「どうしましたか? また、面白いバグでも見つけましたか?」
京一郎は、半ば呆れながら尋ねた。
「違う! 笑い事じゃないの! この新しいフィルターかけて、この角度で自撮りすると、顔がマジで事故る!」
「事故る…? 具体的に、どういう状況です?」
「なんかね、目がめっちゃ離れて、鼻が潰れて、超ブサイクになるの! こんなん、絶対アップできない! 炎上する!」
京一郎が、実際にその操作を試してみると、確かに、特定の条件下で、顔のパーツを認識して加工するフィルターのアルゴリズムが誤作動を起こし、アバターの顔が、ホラー映画のように歪んでしまう現象が確認できた。
これは、通常のテスト項目では見落とされがちな、しかし、ターゲットユーザーであるギャルにとっては、絶対に許容できない、致命的な不具合だった。
もし、これに気づかずにリリースしていたら、キラ☆の言う通り、「炎上」騒ぎになっていたかもしれない。
「…よく、気づいてくれました。キラ☆さん。これは、重大なバグです。すぐに対応します」
京一郎は、キラ☆に、素直に感謝の言葉を述べた。
「えへへ、まあね! うちら、そーゆー『事故画』には、マジで敏感だから!」
キラ☆は、少し得意げに胸を張った。
またある時は、ゲーム内のショップに並ぶアイテムについて、キラ☆が鋭い指摘をした。
「ねー、このスタンプさー、なんか古くない? 今、こんなの使ってる子、いないよ?」
それは、開発初期に仮で実装されたまま、忘れ去られていた古いデザインのスタンプだった。
京一郎や佐藤は、機能的な側面ばかりに気を取られ、そのデザインの「古さ」には気づいていなかったのだ。
「…確かに、言われてみれば、少し時代遅れなデザインかもしれませんね」
佐藤も同意する。
「すぐに、最新のトレンドに合わせたデザインに差し替えましょう」
キラ☆の、常に最新の「カワイイ」を追い求めるその感性は、ゲームの細部のクオリティを高める上で、欠かせないものとなっていた。
デバッグ地獄の中、チームには、奇妙な、しかし確かな連帯感が生まれていた。
徹夜作業が続く深夜、誰かが差し入れた温かいコーヒーや、栄養ドリンクを分け合い、互いを励まし合う。
仮眠室代わりに使われている会議室のソファで、雑魚寝をするメンバーたち。
モニターの光だけが煌々と照らす静かなオフィスで、黙々と作業を続ける京一郎と若手エンジニア達と、その横で、最新のヒットチャートの曲を小さな音で口ずさみながら、ひたすらゲームをプレイし続けるキラ☆。
それは、傍から見れば、異様でカオスな光景かもしれない。
しかし、そこには、共通の目標に向かって、共に苦しみ、共に戦う「仲間」としての絆が、確かに存在していた。
高山プロデューサーも、そんな彼らの様子を、心配そうに、しかしどこか頼もしそうに見守っていた。
彼は、上層部からのプレッシャーと、現場の過酷な状況との間で、胃をキリキリさせながらも、必死でプロジェクトを守ろうとしていた。
時には、自ら夜食を差し入れたり、役員会への報告資料作成のために、京一郎や佐藤と夜通し議論したりすることもあった。
京一郎の同期である佐々木も、噂を聞きつけて、時折、第7開発準備室に顔を出した。
「よお、ケイチ! 生きてるかー? なんか、ゾンビみたいな顔してるぞ」
「…佐々木か。見ての通りだ」
「こりゃまた、壮絶な現場だな…。例のギャル…キラ☆ちゃんだっけ? 彼女とは、上手くやってるのか?」
「…まあ、なんとか」
京一郎は、曖昧に答えた。
「そっか。まあ、無理すんなよ。何かあったら、いつでも相談乗るからな」
そういう佐々木も、別案件のプランナーとして忙しくしているのを京一郎は知っていた。同期として気になる…程度以上の彼なりの気遣いが消耗戦の今はとてもありがたかった。
佐々木は、栄養ドリンクの箱をドンと置くと、励ますように京一郎の肩を叩いて去っていった。
キラ☆の親友である、るなちんも、時折、キラ☆の様子を見にやってきた。
本来部外者立ち入り禁止の開発室ではあるが、ことあるごとにキラ☆のサポートとして貢献してくれている彼女に対して、常に入出許可を高山プロデューサーが出すようになっていた。
彼女は、部屋の惨状と、メンバーたちの疲弊した様子を見て、呆れたように溜め息をつきながらも
「キラ☆、あんた、ちゃんと役に立ってんの?」
などと軽口を叩きつつ、大量のコンビニスイーツを差し入れてくれた。
そして、キラ☆が発見したバグについて
「あんた、たまには鋭いじゃん」
と褒めたりもしていた。
様々な人々の思いが交錯する中、デバッグ作業は、終わりが見えないながらも、着実に進んでいった。
バグチケットの数は、徐々に減少し始め、ゲーム全体の安定性も向上していく。
リリース日は、刻一刻と迫っていた。
彼らの長く、そして過酷だった開発期間も、ようやく、最終局面を迎えようとしていたのだ。
残された時間は、あとわずか。
本当の正念場は、これからだった。