酔っぱらいゲームプログラマ概論

この文章は酔っ払いが勢いに任せて書いたものである。また、フィクションであり実在の云々は関係ない。そのため、いかなるコメントも受け付けない。なぜなら、記憶が残っているか定かではないからである。この文章は、消す可能性が高い。

私はゲームプログラマーである。同時に、並のプログラマー?いや、並以下のプログラマーである。プログラマーではないと、言ったほうが気が休まる。それくらいに、コンピュータはあらゆる分野に入り込み、それと同時にプログラマーもあらゆる分野に入り込んでいるのである。

今、私はゲーム会社には勤務していない。しかし、ゲームを作っている。会社としてはゲーム「も」作っているのである。新卒で入社させていただいた会社は「ゲーム会社」だった。だから、私はゲームプログラマーとしてのキャリアを積んだのである。

その後、私は思うところがあって会社をやめて田舎の実家の納屋で適当なことをしていた。とても楽しかった。しかし、貯金が減るという事実に耐えきれなかったので、働くことにした。いや、その話はここまでにしよう、ゲームプログラマとは?ということを書きたいのだ。

そう、ゲームプログラマーとはなんなのか?コンピュータゲームという商品あるいはサービスを作るというのが「ゲームクリエーター」だとすると、それをコンピュータで動かすためには「プログラマ」が必要であり、悪く言えば必要悪なのである。

「ゲーム」というエンターテインメントを世の中に届ける効率のいい方法がある。コンピュータを使うことだ。アップルストアやグーグルプレイに並べることだ。カードに印刷してアマゾンに並べたり、ゲームマーケットで売ることもできる。しかし、圧倒的な数のユーザーがスマホに接続されているのである。

ゲームプログラマとはなにか?ゲームをコンピュータで動作させるのが仕事だ。それが最低限求められることだし、それを満たせるのであれば、それが商品として成立するのであれば、どんなにコードが汚くても、許される。コードが「きれい」(主観が強い言葉だ)であることに越したことはない。しかし、「きれい」で「動かない」プログラムはゴミだ。きれいか、汚いかは動くという前提があるし、動かすべきゲームが面白いという前提がある。

動かすべきゲームは面白いのか?これが、由々しき問題である。当時、私は若かった。新卒で配属されたプロジェクトは量産体制に入っているのである。もっとも、新卒が配属されるのは得てしてそういうプロジェクトである。だから、作るべきゲームはすでに量産体制に入れるほどには「面白い」のだ。

私は当時、自己意識が肥大化した新卒だった。井の中の蛙が大海をしらないやつだ。だから、先輩のコードが「汚い」と思った。汚いものをきれいにすることが正義だと思った。汚いコードをリファクタリングをして、きれいにして、気持ちよくなっていた。

違うんだ。そうじゃないんだ。それはそれでいいのだけど、気持ちよくなっている場合ではないのだ。「面白い」ゲームを作るべきだったのだ。量産体制に入るくらいには「面白い」ゲームのコードを改良することに多少の意味があったとしても、もっと大事なことがあるのだ。

もちろんそれは、「面白いゲームを作ること」だ。ある程度、年をとった私はプロトタイプを任されることもあり、テンションマックスで取り組んだ。しかし、「きれいなコード」のためにリソースをたくさん注ぎ込んだ。そう、たくさんだ。これは、一種の逃避だったと反省している。「面白いゲーム」というとらえどころのない問題から、目をそらすために「きれいなコード」に逃げていたのである。本当に反省している。

「きれいなコード」は無料ではない。きれいにするためには精神的なコストがかかるのである。「汚くてもいいや」と思うからできる実験もある。しかし、その後に「きれいにしなければならない」と思うと、精神的に重しがかかって、思考が止まってしまうのである。良いアイディアなんてものは、出せれば奇跡!というか、出せればラッキーと言うようなものだ。出ないときは出ない、という結構デリケートなものなのである。

汚いコードでもいいじゃない!って思わないと、アイディアの元栓が開かないのだ。制約条件を少しでも減らさないと、アイディアを出す気が失せるのだ。クソコードをまきちらす、クソ野郎になればいいじゃないか。コードは所詮手段なのだから、動けば良いのである。

もちろん、「面白いゲーム」になれば、運用とかバージョンアップがあるかもしれないし、そのときにはクソコードが当事者以外に多大な労苦を強いることになるだろう。しかし、「面白いゲーム」を作るというのは、とてもむずかしいことなのだから、悪いけど我慢して欲しい。「面白いゲーム」が生まれたことに感謝というか、経緯を持って欲しい。クソコードだけど。

これは若いときに先輩のコードをクソクソ言っていた自分に対するメッセージである。もちろん届かない。あのときの青二才に言ってやりたいことを書きなぐっている。もちろん届かない。

まとめよう。面白いゲームを作れれば勝ちだ。面白くないゲームをきれいなコードで書いても負けだ。面白いゲームを作れるかどうか?それがゲームプログラマーの仕事だ。リファクタリングは必要に応じてやればいいし、リファクタリングをする価値のあるコードにだけやればいい。今作っているそれは、その価値があるのか?そんな厳しい問いを、酔っ払いながら自分に突きつけるドMな遊びなのだ。

最後まで読んでくれてありがとう。酔っ払って書いたという、免罪符をここに貼っておくし、上記の文章はフィクションであり、実際の云々には関係ありません、とも言っておこう。そして、冒頭にコピペしよう。

今日は、飲みながら「書けないのはハードルが上がっているからだ!」という主張をしたので、ハードルを下げて思うがままに書き散らしてやった。しかし、酔いはまだ足りないのだろう、いろいろ忖度した。


この記事が気に入ったらサポートをしてみませんか?