第一話:静寂のコードと日常の亀裂
午前7時30分00秒。枕元のデジタル時計が正確な時を告げると同時に、アラームが鳴るよりもコンマ数秒早く、富安京一郎の意識は覚醒した。
まるで体内時計に原子時計でも内蔵されているかのように、彼の起床時間は一日たりともずれることがない。
布団から音もなく起き上がると、眼鏡をかけて昨日と全く同じ手順で、同じ速度で、同じ場所に置かれた衣服を身につける。童顔で眼鏡の奥に光る眼は確固たる意志を感じさせる。
寝癖一つない髪を、数回手櫛で整えるだけ。鏡を見る習慣は、もう何年も前に捨てた。
立ち上がった彼の背丈は170cm程度で体形はやや痩せ気味。姿勢は枯れの職業を考えればいい方だろう。本人はあまりそこに意識はないが、同僚が姿勢悪くヘルニアを患たや週末の整体は欠かせないなどの話を聞き流している程度には健康だ。
キッチンに向かい、電気ケトルに正確に300ミリリットルの水を注ぎ、スイッチを入れる。沸騰を待つ間に、冷蔵庫から出した無調整豆乳を、これまた正確に200ミリリットル、いつものグラスに注ぐ。
戸棚から取り出したシリアルは、プレーンタイプのオーツ麦フレーク。これもパッケージに記載された一食分の目安量、きっかり40グラムを計量カップで測ってからボウルに入れる。沸騰したケトルの湯でインスタントコーヒーを淹れ、豆乳、シリアルと共にトレーに乗せてリビングのテーブルへ運ぶ。
これが彼の定番の朝食であり、このメニューはここ三年ほど変更されていない。栄養バランス、準備の手間、コスト。あらゆる要素を検討した結果、これが現時点での「最適解」だと彼は結論づけていた。
テレビはつけない。新聞も読まない。
代わりに、タブレット端末で海外の技術系ニュースサイトと、購読しているいくつかの専門誌の電子版をチェックする。記事を読む速度も、ほぼ一定だ。
朝食を終え、食器を洗い、歯を磨く。全てがプログラムされたかのように、淀みなく、効率的に進行する。
午前8時45分00秒。家を出る時間だ。玄関で、昨日と同じ位置に置かれたビジネスリュックを背負い、昨日と同じスニーカーを履く。ドアを閉め、鍵をかける。
駅までの道順も、歩く速度も、いつもと同じ。
すれ違う人々、変化する街の風景。
それらは彼の網膜には映っているのだろうが、意識にはほとんど上らない。
彼の思考は、既に職場でのタスク、特に昨日から持ち越しているレンダリングエンジンの最適化問題へと向かっていた。
電車も、いつもと同じ時間の、同じ車両の、同じドアのそばが彼の定位置だ。
満員電車特有の喧騒と密集。多くの人々にとってはストレスでしかないその環境も、京一郎にとってはさほど苦ではなかった。物理的な接触を極力避けつつ、彼はノイズキャンセリング機能付きのワイヤレスイヤホンを装着し、目を閉じる。
音楽を聴くわけではない。ただ、外界のノイズを遮断し、思考に集中するためだ。周囲の乗客たちの会話、スマホの着信音、電車の走行音。それらは全て、彼の思考を邪魔する不要な情報でしかない。彼らにとっても、京一郎は風景の一部でしかないだろう。
壁際に立ち、虚空を見つめる、少し猫背の、特徴のない男。誰も彼に注意を払わないし、彼も誰にも注意を払わない。それが彼にとって最も快適な状態だった。
※
ドリームエンジン株式会社の本社ビルは、そびえ立つガラスと鉄の塊だ。
エントランスを抜け、セキュリティゲートに社員証をかざす。電子音が鳴り、ゲートが開く。そこから先は日常の喧騒から離れ彼のすべきものがある世界への入り口だ。
エレベーターに乗り込み、システム開発部のあるフロアのボタンを押す。
エレベーター内が他の社員と一緒になることもあるが、彼は決して自分から話しかけることはない。挨拶をされれば、小さく会釈を返す程度だ。
午前9時50分。自席に到着。彼のデスク周りは、他の多くの開発者のそれとは異なり、驚くほど整然としていた。
モニターは正確に正面を向き、キーボードとマウスは定められた位置に。書類は種類別にファイルされ、ペン立ての筆記用具は全て同じ向きに揃えられている。
私物はほとんどなく、唯一デスクの隅に置かれた小さなサボテンだけが、無機質な空間にかすかな彩りを与えていた。
PCの電源を入れ、システムが起動するのを待つ間、彼は今日のタスクリストを頭の中で再確認する。その思考プロセスは、複雑なアルゴリズムを組み立てるように、極めて論理的かつ効率的だった。
オフィスには、既に多くの社員が出社し、それぞれの業務を開始していた。コーヒーを片手に談笑するグループ、ホワイトボードの前で議論を交わすチーム、黙々と自分の作業に集中する者。活気と創造性に満ちた、ゲーム会社らしい自由な雰囲気がそこにはあった。
しかし、その空気は、京一郎のデスク周辺だけ、まるで避けるかのように流れていく。他のエンジニアたちが、時折彼に視線を送るのが分かった。それは、好奇心というよりは、畏敬と、そして少しの困惑が入り混じったような視線だった。
「富安さん、おはようございます」 「…おはようございます」 通りすがりの同僚からの挨拶に、京一郎は視線をモニターから離さずに、かろうじて返事をする。
悪気はない。ただ、彼の意識は既にコードの世界へと旅立ち始めていたのだ。
ヘッドフォンを装着し、クラシック音楽…ではなく、集中力を高めるとされる特殊な環境音(バイノーラルビート、アイソクロニックトーンといった類)を微かに流す。それは、外界の音を完全に遮断するのではなく、思考を邪魔しないレベルにマスキングするためのものだ。そして、彼はエディタを開き、昨日中断した箇所から、「アストライア・エンジン」のソースコードと対峙する。
C++で書かれた数百万行にも及ぶコードの集合体。
それは、彼にとって芸術作品であり、同時に攻略すべき難解なパズルでもあった。レンダリングパイプラインの最適化。それは、GPU(Graphics Processing Unit)の性能を極限まで引き出し、膨大な量の3Dデータをリアルタイムで処理し、滑らかで美しい映像へと変換する魔法の工程。
しかし、その魔法を実現するためには、CPUとの連携、メモリ管理、シェーダー言語の深い理解、そしてハードウェアアーキテクチャへの洞察が不可欠となる。
京一郎は、プロファイラ(プログラムのパフォーマンスを測定するツール)が示したボトルネック箇所を睨みつけながら、その原因を探っていた。
特定の条件下で、なぜフレームレートが急激に低下するのか。メモリの断片化が原因か? シェーダーのコンパイルに時間がかかりすぎている? あるいは、CPUからGPUへのデータ転送に無駄があるのか?
彼の指が、猛烈な勢いでキーボードを叩き始める。コードを書き換え、コンパイルし、実行し、結果を測定する。そのサイクルを、驚異的な集中力で繰り返していく。
彼の思考は、もはや日本語ではなかった。それは、変数、関数、ポインタ、メモリ空間、パイプラインステージといった、コンピューターサイエンスの概念そのものだった。美しく、効率的で、バグのないコード。それが彼の目指す理想であり、至上の価値観だった。わずか1マイクロ秒の遅延、1バイトの無駄なメモリ消費さえも、彼にとっては許容しがたい欠陥なのだ。完璧主義。それは、彼の技術者としての最大の武器であり、同時に、彼を社会から少しだけ浮き上がらせている要因でもあった。
「…ここだ。このテクスチャサンプリングの処理、冗長な条件分岐が入っている。前の担当者はなぜこんなコードを…いや、当時のハードウェア制約を考えれば、これが最適解だったのかもしれない。だが、現行のアーキテクチャなら、もっと効率化できるはずだ」
独り言ともつかない呟きが漏れる。彼は、過去のコードを書いたエンジニアの意図を読み解き、現在の技術でそれを超えようとする。それは、時間と技術を超えた、エンジニア同士の静かな対話でもあった。周囲の喧騒は、もはや彼の耳には届かない。彼の世界には、彼と、彼が操るコードしか存在しなかった。
昼休みを知らせるチャイムが鳴ったが、京一郎がそれに気づくまでには、さらに15分の時間を要した。ようやくキリの良いところまで作業を進め、彼はヘッドフォンを外した。途端に、現実世界の喧騒が耳に流れ込んでくる。周囲のエンジニアたちは、既に昼食に出かけたり、デスクで弁当を広げたりしていた。
※
京一郎は、社員食堂へと向かった。ここでも、彼の行動はルーティン化されている。数種類ある日替わり定食の中から、最も栄養バランスが良く、かつ待ち時間の少なそうなものを選択する。トレーを持って、空いている席を探す。一人で黙々と食べるのが彼の常だった。
「よお、ケイチ! 相変わらず早いな! 今日もアジフライ定食か?」
背後から、やけに明るい声がした。振り返ると、同期の佐々木浩介がニヤニヤしながら立っていた。京一郎のことを「ケイチ」と呼ぶのは彼だけだ。
企画部に所属する佐々木は、京一郎とは正反対の性格だった。社交的で、お喋りで、常に周囲に人が集まってくるムードメーカー。
技術的な知識は京一郎ほどではないが、ユーザー視点での鋭い指摘や、斬新なアイデアで評価されているプランナーだ。社内では
「…ああ。佐々木か」
京一郎は、特に表情を変えずに答えた。
「ここ、いいか?」
「…構わないが」
佐々木は、京一郎の返事を待たずに、当然のように向かいの席に座った。
彼のトレーには、彩り豊かなサラダとパスタが乗っている。
「お前もさー、たまには違うもん食えよな。そんな決まったもんばかり食ってると、栄養偏るぞ」
「計算上は、これで一日の推奨摂取カロリーと主要な栄養素は満たされているはずだ」
「そういう問題じゃねーだろ…人生の楽しみってもんが…まあ、いいや。それより、聞いたか? 最近、社内でなんか新しいプロジェクトが極秘で動いてるって噂」
佐々木は、声を潜めて言った。
「…知らないな。ボクの担当はアストライア・エンジンのコア部分だけだ」
京一郎は、アジフライを口に運びながら、素っ気なく答えた。社内の噂話など、彼の興味の範囲外だ。
「だよなあ。お前が知ってるわけないか。なんでも、社長直々のトップダウン案件で、今までのドリームエンジンとは全く違う、ぶっ飛んだコンセプトらしいぞ。開発メンバーも、なんかスゴイのが集められるとか…」
「…そうか」
「おいおい、もうちょっと興味持てよなー。お前のその超絶技術が、その新プロジェクトに引き抜かれる可能性だってあるんだぞ?」
「ボクの技術が必要とされるなら、どこであろうと全力を尽くすだけだ。それがエンジニアとしての責務だからな」
京一郎は、こともなげに言った。佐々木は、呆れたように、しかしどこか感心したように溜め息をついた。
「はー…やっぱお前、スゲェわ。良くも悪くも。でもさ、もうちょっと周り見ろよな。お前、自分の技術に自信があるのはいいけど、それだけじゃこの会社で上には行けないぞ? コミュニケーションとか、マネジメントとかさ…」
「ボクにマネジメントは向いていない。コードを書いている方が性に合っている」 「まあ、そうだろうけどさ…。お前の同期としては、ちょっと心配なんだよ。その才能、腐らせてほしくないし」
佐々木の言葉には、友人としての純粋な心配が滲んでいた。京一郎も、その気持ちは理解しているつもりだった。
ただ、どう応えればいいのか分からない。彼は、他者との感情的な繋がりを築くのが、昔から苦手だった。
「…心配には及ばない。ボクは、ボクのやり方で貢献する」
「…そっか。まあ、ケイチがそう言うなら、いいけどさ」
佐々木は、それ以上は何も言わず、パスタを口に運び始めた。
二人の間に、少し気まずい沈黙が流れる。京一郎は、早く食事を終えて、再びコードの世界に戻りたいと思っていた。
※
午後の業務が始まって数時間。京一郎は、再び深い集中の海に潜っていた。午前中に見つけたボトルネックの修正は完了し、現在は新たな最適化ポイントを探している。キーボードを叩く指は、まるでピアニストのように滑らかに、そして正確に動いていた。
その時、デスクの内線電話が鳴った。
けたたましい電子音が、彼の集中を無慈悲に引き裂く。
京一郎は、眉間に深いシワを寄せながら、受話器を取った。
「…システム開発部、富安です」
『人事部の者ですが、富安京一郎さんでいらっしゃいますか?』
電話の向こうから聞こえてきたのは、抑揚のない、事務的な女性の声だった。
「はい、そうですが」
『社長がお呼びです。至急、社長室までお越しいただけますでしょうか』
「…社長が、ボクを?」
その言葉を聞いた瞬間、京一郎の心臓が、ドクンと大きく跳ねた。
血の気が引いていくような感覚。
なぜ? 何かあったのか? まさか…。
彼の脳裏に、数年前の出来事が、フラッシュバックのように蘇った。
彼が担当していたシステムの一部に、リリース直前に重大な欠陥が見つかったのだ。幸い、彼の不眠不休の修正作業によって事なきを得たが、一歩間違えれば、会社に多大な損害を与えかねない事態だった。
あの時の、胃が締め付けられるようなプレッシャーと、周囲からの厳しい視線。
まさか、また何か…?
『理由は伺っておりません。とにかく、至急とのことですので』
女性の声は、彼の動揺などお構いなしに、一方的に要件を告げた。
「…わ、かりました。すぐ、向かいます」
震える声でそう答えるのが、精一杯だった。
受話器を置いた京一郎の手のひらは、じっとりと汗ばんでいた。
椅子から立ち上がると、足元が少しふらつく。
周囲の同僚たちの視線が、いつも以上に突き刺さるように感じられた。
一体、何が起こるというのだろうか。
重い、重い足取りで、彼は社長室のある最上階へと向かい始めた。彼の整然とした日常に、亀裂が入る予感がしていた。