unity依存者がunityから脱却するまで


こんにちは。unity歴9年半の、元unity依存者です。


今年度の始めまでは、ゲームを作るにはunity、映像を作るにもunity、3Dモデリングもunity、音楽、アプリ、その他諸々なんでもunityのunity依存者かつunity信者だったtsumu。
今回は、そんなtsumuがunityから脱却するに至った過程を見ていく。



決意


2023年始め頃。就活で、これまでの惰性でなんとなくゲーム業界を志望するtsumu。そこには大志などはなく、あるのはただの惰性である。1月に行われたC社の面接で、面接官に「unityだけじゃなく他にもなんかやった方がいいですよ」と言われる。tsumuももちろんそんなことはわかっているつもりだったが、それまで何もしてこなかった。
折しも卒論が本格化しており、専攻の音プログラミングのためにunityを脱却することを決意する。



始めの一歩


4月。短期決戦のつもりだった就活は長期化の傾向を見せ、就活が終わってから卒論をやるといった幻想は打ち砕かれる。まだゲーム業界を完全には諦められていないtsumuは、音プログラミングの本C++ゲームプログラミングの本を買い、CとOpenGLの講義を取る。折りしも3月に行われたunity一週間ゲームジャムを、これまで8回連続参加してきたtsumuは参加しないことを決める。 unity脱却の第一歩だ。



最初のプログラミング


C++での音プログラミング、ゲームプログラミングの第一歩を踏み出したtsumu。その最初の作品として、なぜか音割れポッターを作ってしまう


この音割れポッターは、周波数が線形に変化する正弦波を生成するプログラムのはずなのだが、どこで間違えたか事故により音割れポッターのようなスペクトルになってしまった。このプログラムによって生成した音を複数個合体させたのがこれである。

さらにこれを4連発したのがこれである。

まるでパチンコ屋のような音だ。ゲームに使えなくもなさそうだが、このままでは使いづらいだろう。



unity襲来


順調に見えたunityからの脱却。しかしtsumuは何を思ったか、unityでこんなものを作ってしまう。


これこそC++ゲームプログラミングの出番だったはずだ。買った本で使っているライブラリ、SDL2や、講義で使っているOpenGLならば簡単なはずなのに。



転換


未だに終わらない就活。ゲーム会社を受けつつも、元々そんなにこだわっていなかったゲーム業界を半ば諦めるtsumu。であるならばもうゲームプログラミングを本業にする必要もない。unityもC++も好きなようにやればいい。ここからはunityとC++を双方とも適度にやっていくことにした。フルスクラッチの楽しさに囚われかけていたtsumuは、これからは基本としてC++もしくはCを使い、適度にunityを使うことを決める。



unity1week不参加


6月に入り、やっと就活が終わったtsumu。内定した会社はゲーム業界とは無関係だが、幼少期から馴染みのある、最も好きな会社の一つで、一気に心が晴れ渡る。もうtsumuを縛るものは卒論しかない。もうゲーム開発に囚われることもなくなった。しかし未だにゲーム開発は最も大きい趣味として残り続けており、tsumuはそれを卒論に向けることにした。即ち、卒論をゲーム開発にしたのである。使う言語は当然C++. 就活に向けていた全ての労力を卒論に向け、6月に開催されたunity1weekは不参加とした。ここにtsumuのunity依存症は消滅した。



unity1week参加


9月。C++で卒論を進めていたtsumuは、そろそろ普通のゲーム開発がやりたくなる。そんな時、ちょうどunity1weekが開催される。 長らくunityを使っていなくても、体が使い方を覚えている。それで3日で完成させたのがこれ。


これまでの制作物の中でも良い出来になった。C++での開発がそこそこできて、unityも使える状態。それでunityに依存もしていない。unity依存症云々はもはや問題ではなくなった。
ちなみに9月始め頃の研究室シンポジウムでこんなことを言われている。
苦行とは楽しいことを指すようだ。



音プログラミングとゲームプログラミングの合わせ技


11月末。卒論テーマであるゲームサウンドを着々と進めるtsumu。Cと、ゲームによく使われるOpenGLと、ゲームによく使われるOpenALでシンセサイザーもどきを作る。前の自分なら迷うことなくunityを使っていただろう。unity依存症は見る影もない。おめでとう。



まとめ


苦行は楽しい。

更新履歴

  • 2023/12/14
    • 一部修正
  • 2023/12/3
    • 記事作成