記事の概要
この記事はQualiArts Advent Calendar 2022の2日目の記事になります。
はじめまして、UnityエンジニアとしてQualiArtsに所属している岩井春樹です。
今回は業務を経験した上で役立った経験や、学生の時やっておけば良かったことをまとめた記事となっております。
役立った経験
チーム開発経験
基本的に会社で行うゲーム開発は、エンジニアやプランナー、デザイナーなど様々な職種の方とチームを組んで開発を進めていくことが多いです。
そのため機能をひとつ開発するにしても、一人で進めていくことはほとんどなく、チームメンバーと相談してスケジュールを組んだり、何を優先して開発するべきかなどを意識して行動するなど、チームを意識した行動が重要になってきます。
具体的な例として、技術的な問題で機能開発に支障が出た場合、問題点を明確にして解決法を模索します。
エンジニアだけで解決できる問題なら良いですが、他職種の方にも対応を依頼しなければいけない場合や仕様変更が必要な場合もあります。
そんなとき、エンジニア目線だけでなく、別職種の方にも理解しやすいよう、問題点と解決法の提案をスムーズにできるかが大切です。
こういったコーディング以外の部分もエンジニアとして重要です。
これらは業務に取り組んですぐに身につくものではありませんので、学生の内からチームで活動する経験を積み重ねていくことが必要です。
特にエンジニア以外の職種を巻き込んだ開発ができると、より現場で活きる経験を積むことができると思います。
インターンシップへの参加
インターンシップへ参加するメリットはたくさんあると思いますが、その中でも同じ目標を持った人と出会うことができ、さらに自分の技術力と比較できる点が非常に大きなポイントだと考えています。
私は大学3年時にサイバーエージェントが開催しているプロトスプリントリーグに参加しました。3人1組のチームが3日間でお題に沿ったゲームを開発するハッカソン型のインターンです。このインターンに参加するまで私は、周りにゲームエンジニアを目指している人が少なかったこともあり、自分の実力感が分かっていませんでした。
そして実際にインターンに参加した時、周りとの実力差にショックを受けたことを覚えています。
しかしこの経験から自分が目指すべき技術力の温度感がある程度分っただけでなく、同じ目標を持ったライバルと出会えることができ、よりゲームエンジニアになりたいという気持ちが強くなりました。
インターンにも就業型やハッカソン型など様々な形態があります。もちろん実力に自信がある方は積極的に就業型のインターンにチャレンジしていくことでより成長できると思います。逆にまだ自分の実力や開発経験に自信がない人は、短期間で開発経験を得られる、ハッカソン型のインターンに挑戦してみることをお勧めします。
完成まで作品を作り切る
ちゃんと最後まで作品を作り切る、言うのは簡単ですが実際に途中で投げ出さず完成させるのは非常に難しいです。
実装イメージがつく、もしくは作っていて楽しいと感じる部分を開発している段階までは誰でも実行できると思います。
しかし、開発を進めていくうちエラーになって動かなくなったり、ゲームに必要だけど苦手な部分の開発など、苦しくなる場面が必ずと言っていいほど出てくると思います。ここで諦めず解決方法を模索して、最後まで開発を続け作品を形にできるかが非常に大切です。
業務でゲーム開発を行う場合、すぐ実装方法が思いつく機能だったり、自分が作りたい機能ばかり開発するわけではありません。そんな時苦労を乗り越えて開発した経験があるかないかで、実装方法を模索する調査力に差が出てきます。
難しいものや非常に多機能なゲームを作れることは確かにすごい、だけど途中で挫折して作るのをやめてしまっては勿体無いです。
まずは一本すごくシンプルなゲームでも最後まで作りきることが大事だと私は思います。
やっておけばよかったこと
設計などを考えた開発経験
同じオブジェクトやコードがたくさんあって、一つ仕様を変えようとしたら大量の差分が発生してしまう......こんな経験ありませんか?
実際自分も個人で開発しているときは、思いつくままにコードやオブジェクトを作成し、後々どうすればいいか分からなくなった経験がたくさんあり、設計理解などが入社後一番苦労した部分でもあります。(今も苦労してます....)
このような悪循環に陥ってしまう一番の原因は最初に実装周りの設計や考え方、仕様を考えられていない、またはしっかり詰め切れていないために起きてしまいます。
特に個人で開発をおこなっていると、「自分が読めればいいや」という気持ちで進めてしまい、設計などを無視しがちだと思います。
ただ一歩踏み出してみて、開発を始まる前に設計や仕様を決めて置けると、後々の修正のしやすさや、コードの追いやすさが全然変わってきます。また、一度成功体験を得られるとチャレンジしていく姿勢も身につけやすいです。
こういった部分は最初の一歩が踏み出しづらく大変ですが、設計思想が違っても設計を考えて開発した経験は、必ず現場で生きてくると思います。!
作った作品を公開する
開発を続けていると、どうしても視点や考え方が凝り固まってきてしまう経験ありませんか?特に個人開発ではそうなりがちだと思います。
作品を公開すれば、良い反応だけではありません。ただ誹謗中傷を除き、フラットな視点を持った人からの反応は非常に参考になります。
私は学生時代、いくつかのゲームを作成してはきましたがどれも公開したりせず、自己満足で終わってしまい、この経験を入社後に初めてすることができました。
今振り返るとすごい勿体無いことをしていたなと思います。
当時は「一つも反応がもらえなかったらどうしよう」など後ろ向きな気持ちが大きく作るだけに終わっていましたが、これだけ世の中にたくさんゲームが溢れている時代ですので、下手に心配せず公開した方がよかったなと反省しています。
まとめ
自分の経験をもとに、どんな経験が役立って、何をしておけば良かったと感じたかまとめてみました。
ゲームエンジニアを目指している人にとっては当たり前のことばかりになってしまったかもしれませんが、少しでも参考になれば幸いです。