CAPCOM Hackathonに参加しました
タイトル通りですが、10月21日および22日、大阪に赴いて、CAPCOM Hackathonに参加してきました。この頃ずっと参加記録しか書いてない感覚に襲われてしまいますね。 形式としては一応インターンシップだったらしいです。
期間が短かったのと、発信について一部制限がかけられているため、正直あんまり書くことがないのですが、ブログをもう少し軽率に書いていきたいなと思っているので書きます。
なぜ参加したのか
たまに言っている気もしますが、そもそも僕がプログラミングを始めたきっかけはゲームを作りたかったからです。高専に入ってからはWebフロントエンドとか低レイヤに興味が移ってしまったものの、依然としてゲーム開発には興味を持っていました。あと、インターンシップに参加したいな~~とずっと思っていたのですが、夏休みは留学のせいで参加できないことが確定しており、残念に思っていました。
そんな中、インターンシップの募集を開始した旨のツイートがTLに流れてきた1ので、いいチャンスだと思って応募しました。
何をしたのか
Unityを使って、ゲームを作りました。僕は主にUIの設置・更新・デザインをやっていました。それに加えて、チームメンバーのGitに関する問題を解決する役割をしていました。
Unity経験はないに等しいレベルで、せいぜい公式チュートリアルの玉転がしと2Dシューティングを完成させた程度の熟練度で、2つほどゲームを作ろうとして挫折した経験を持っていました。UI周りを初めとして、コンポーネントを配置したり、コードを記述したり、クラスを設計したりする際のベストプラクティスが全く分からず、Unityに対する苦手意識すら持っている状態で望みました。
そうしたら、なんとチームメンバーはみんな趣味でゲーム開発をしているじゃないですか!ヤバい!!!足を引っ張ることになってしまって申し訳ないと思っています。とはいえ、実際にUnityを使っている人がどのようにコンポーネントを配置してコードを書いてクラスを設計しているのか、というのを垣間見ることが出来てめちゃくちゃ良かったです。
具体的に言うと、GameManagerというクラスがMVCでいうところのControllerみたいな役割をまとめて担当していて、しかもExplorerで見るとGameManager.csのアイコンが変わるという特別扱いを受けていて、ソフトウェアエンジニアリングでは地雷とされるHogeManagerみたいなやつがわりと普通に使われているんだなあ……という気付きを得られたのがデカかったです。僕はきれいな設計を望みすぎるがあまりゲーム開発に苦手意識を持っていたのかもしれないなと感じました。愚直さは大事だと実感できてよかったです。とはいえこの前のBevyで開発したテトリスは、実装の愚直さ故に2非常に良くない設計になってしまったと感じているので、バランスも大事なのかもしれないですね。
なんか暴言みたいに見えるので一応言っておくと、当然ながら貶しているわけではないです。ちなみに、実際に これを話題に出した時「いや普通はここまでデカいクラスは使わないですね」と言われました。ハッカソンならではって感じらしいです。
おわりに
Unity経験がないのに参加してしまい、当初はどうなることやらと思っていましたが、結果としてUnityぢからを得ることが出来たり、Gitをわりと触っていたというバックエンドを用いてチームに貢献することが出来たりして満足です。非常に良い経験になりました。
大学生になったら、ゲームに限らず別の長期インターンに参加したいなと思いました。大学生になれたら良いですけどね。
Footnotes
Comments
Powered by Giscus