第17話「クレイジー・デスマッチ」
画面太志の熱弁は止まらなかった。
昼食休憩中も、彼は延々と「恋する筋肉天使」の魅力を語り続けた。
デスクの上には、コンビニで買ってきたおにぎりとお菓子、アニメの資料が所狭しと並べられている。
設計はサンドイッチを片手に、納男は弁当を前に、時折相槌を打ちながら画面の話を聞いていた。
……聞かざるを得なかった。
「――だからな、ぷろてぃの、あの、しなやかな筋肉の描写が、まじで神なんだよ!作画が毎回毎回神でさあ!! あの白くて柔らかそうに見えながら誰よりも硬い筋肉から繰り出される技が!愛を力に変えるってのが、最高じゃないか!」
画面の瞳は、熱狂のあまり焦点が定まっていないように見えた。
設計は静かにコーヒーを一口飲んだ。
「お前の情熱はよく分かった。
でも、その情熱をどうやってサイトに落とし込むか具体的なアイデアは進んでるのか?」
裕は冷静に問いかけた。
途端に、画面はよくぞ聞いてくれたというように顔を輝かせる。
「もちろんだ! まずはトップページ!
ぷろてぃが舞い降りてくるような演出は必須だろ?
あと、背景には常に筋肉天使たちのシルエットを薄く表示させて……」
画面のアイデアはとめどなく溢れ出てくる。
しかし、そのどれもが、ウェブサイトの常識を遥かに逸脱していた。
実装すればサイトは激重になり、ユーザー体験は著しく損なわれるだろう。
まさに、理想と使いやすさの「デスマッチ」ーー。
「あの……画面さん。
その演出、全部やるとサイトがかなり重くなるかと……」
納男が恐る恐る口を挟んだ。
いつもなら、そのような指摘する言葉を画面にかけない。
かけたことがない。
だが、今回は違った。
「納男! お前もそう思うか! 俺もそう思うんだ!
だからこそ、どうすればあの神々しい演出を、ユーザーにストレスなく届けられるか、それが俺たちの腕の見せ所だろうが!
俺は妥協したくない!
ぷろてぃへの愛に、妥協は許されないんだ!」
画面の言葉に、納男は思わず息を呑んだ。
瞳には確かに狂気にも似た熱が宿っていたが、同時に、純粋なクリエイターとしての挑戦心が見て取れたのだ。
画面はただひたすらに「最高」を追求している。
その勢いと決意に押され、納男だけでなく設計まで、立ち上がって天を指さしている画面をじっと見つめてしまった。
翌日からの開発は、まさにクレイジー・デスマッチと呼ぶにふさわしいものだった。
画面は次々と技術的に難易度の高い要求を突きつけた。
まるで、チューニングを限界まで施されたモンスターマシンのよう。
「このアニメーションは、もっと滑らかに!
ぷろてぃの髪の毛一本一本が、風になびくのが感じられるように!」
「ボタンの色は、ぷろてぃの瞳の色に合わせたい!
でも、クリックしたら、彼女の笑顔が浮かび上がるように!」
設計は無謀なアイデアを前に、眉間にしわを寄せて唸り続けた。
まず、トップページのWebGLを用いた3Dキャラクターアニメーションの負荷をどう捌くか。
Canvas APIでの2D描画に切り替えるか、それとも既存のThree.jsやBabylon.jsといったライブラリを最適化して組み込むか……
頭を悩ませた。
何度も「無理筋だ」と口にしかけるが、画面の「ぷろてぃへの愛に妥協はない」という言葉がまるでエンジンの爆音のように設計の頭にこだまする。
GPUレンダリングの限界と、ユーザーの回線速度という現実が、常に彼の思考を縛り付けた。
そして納男。
彼は普段の無表情をどこかにやり、画面と設計の間を奔走した。
画面の抽象的な指示を設計が理解できるように、具体的な仕様書に落とし込む。
そして設計が懸念しているDOM操作の複雑性や非同期処理の問題を画面に分かりやすく説明する。
Slackでのやり取りは深夜まで続き、時には彼らの間で激しい議論が交わされた。
その様子は、限界ギリギリでマシンを調整するピットクルーそのものだった。
「設計さん、このシェーダーでの表現、本当に無理なんですかね? 画面さんは、どうしてもって……」
納男は設計に尋ねた。
裕はディスプレイに映るVRAMの使用率を示すグラフを見つめたまま、答えた。
「無理じゃない。
だが、レイトレーシング並みの計算量になる。
それでもやるか、って話だ」
納男は画面の方を見た。
画面は資料に囲まれ、まるで狂ったようにFigmaに何かを書き込んでいる。
その横顔には疲労の色よりも、途方もない情熱が宿っていた。
納男は、そんな太志の姿になぜか胸が締め付けられるような感覚を覚えた。
普段は冷めた目で見ていたはずの画面の「愛」が、まるでエキゾーストノートの轟音のように響き伝わってくる。
モニターに食いつくようにして指を走らせる画面を見て、設計はふと、画面が熱弁していた「愛が力になる」という言葉を思い出していた。
自分はこれまで、論理と効率を追求してきた。
だが、画面の「愛」は、その論理の壁を軽々と超えていくように見えた。
設計は、ディスプレイに映るJavaScriptのコードを前に、ふとキーボードを打つ手を止めた。
彼の頭には、WebAssemblyやService Workerを使ったパフォーマンス改善のアイデアが芽生え始めていた。
納男もまた、画面の提案をいかに実現するか、徹夜でReactのコンポーネントと格闘していた。
普段なら諦めるような難題も、「ぷろてぃへの愛に妥協はない」という太志の言葉が、彼の指を動かし続けた。
そして、彼の目の前で画面が描いた狂気じみた演出が、CSSアニメーションとSVGの組み合わせで少しずつ形になり始めるのを見た時……
納男の胸に、かつて経験したことのない高揚感が芽生え始めていた。
彼らは、画面のクレイジーな「愛」という名のデスマッチに、否応なく巻き込まれていくのだった。