見出し画像

サイバーエージェント主催、開発型インターンシップ「プロトスプリントリーグ」に参加しました!!

 本記事では、サイバーエージェントの開発型インターンシップでの学びや実際の開発の様子をまとめていきたいと思います。


プロトスプリントリーグってなに??

 私が参加した「プロトスプリントリーグ」とは、3日間でお題に沿ったゲームをチームで開発し、ゲームとしての総合的な完成度の高さを競うといったゲームクライアント向けの開発型インターンシップです。Unityで開発を行いWebGL形式で最終的に発表します。開発期間は3日間ですが、事前準備期間が1週間設けられ、その間にゲームの構想を考え、必要となってくる素材集めやクラス設計(どのようなプログラムを書くか)などを行います!

開発の流れ

 開発が始まる1週間前にキックオフイベントがあり、そこで今回開発するチームメンバーが発表されました。私のチームは専門学生や大学生、サークルでゲーム制作を行っている人といった感じで、学校や年齢などはバラバラでした。しかし、唯一全員が「メガネ」をかけてるという共通点があったため、チーム名を「ビジョンエンハンサー」(なんかかっこいい!!)として開発活動を始めました。
 準備期間で最初に行ったことは、ゲームの企画を考えることです。毎日ミーティングを行い、どのようなゲームがよいか各々が企画書を持ち寄りながら話し合いを行いました。その中で、チームのトレードマークの「メガネ」に結びつけ、お客さんにメガネを投げつける「メガネ投げ3Dシューティングゲーム」を開発することになりました。

イケおじメガネかけ職人

 次に、企画書にそって、必要なものを洗い出し、開発本番までの準備物の作成に取り掛かりました。今回のゲームは3Dでの作品だったため、私はVroidで3Dキャラを作成し、Mixamoでアニメーションをつけ、モデルに適切なコライダーをつけるといった、3Dモデルの準備を行いました。他のメンバーはクラス図の作成や当日の開発スケジュールなど、当日の開発がスムーズに進むような準備をしてくれました。

Vroidガールの作成

 そして開発本番の3日間が訪れました。事前準備のスケジュールをもとに各々が開発を進め、手が空いた場合は他のチームメンバーの手助けをするといった形で開発を進めていきました。もちろん計画通りに行くことはなかなか難しく、バグによる開発難航やゲームの仕様の見直しなど、かなりハードな3日間での開発でした。しかし、助け合いの精神のもとメンバーと協力し何とかゲームを作りあげることができました!!

インターンを通しての学び

 ここまではインターン全体の大まかな流れを振り返ってきましたが、ここからは私の反省に少し焦点を当てお話していきたいと思います。
 私がこのインターンを通して気づいた点は「圧倒的な実力不足」でした。5人でのチーム開発だったのですが、周りのメンバーの優秀さに圧倒されるばかりで、プログラム面ではほとんどおんぶにだっこ状態でした。プロジェクト自体はUniRxを導入していたのですが、UniRxをほとんど使ったことがない(認識だけしている)私にはメインプログラムはほとんどわかりませんでした。少しでもチームメンバーの役に立てるよう開発終了後の夜は黙々とUniRxの勉強をしていたのですが、そう簡単に身につくはずもなく、、、結果として、サウンド周りのプログラムやモデル制作、UI周りなど、補助的な役割に徹することになりました。インターン当初の目標は「チームを率先して導き、プログラムの技術を爆上げする!!」的なことだったのですが、1日目も昼にしてこの目標は消え去ってました(苦笑)。
 少しだけ話しは変わるのですが、このインターンに参加する前に「東京ゲームダンジョン3」というインディーゲームのイベントに出展していました。そこでは、初めての出展ながら6時間列が並ぶほどの大盛況であったり、様々なパブリッシャー(ゲームの販売元会社)から資金援助やswitchでの販売の提案をされたりと、自身のゲーム開発について自信を持っていました。しかし2年ほど個人開発を行っていた私は所詮、井の中の蛙、優秀なメンバーが集まるインターンでのチーム開発では必死に食らいつくことが精一杯でした。
 そこで私は本インターンの目標を「たくさんの気づきを獲得し、今後の技術力向上の指針を見つける」ことに変更しました。そこからは、チームメンバーに積極的に質問を行ったり、自分に足りていない部分を探しながら、開発を行うことができました。最後にインターンを通して気づきをもとに今後の学習の方向性をまとめておきたいと思います。

・UniRxの理解を深める。
・デザインパターンを復習し、様々なジャンルのゲームの設計を行う。
・チームでの開発の際は、視野を広く持ち積極的に働きかける。

最後に

 本インターンを通して、様々な気づきや学びを得ることができました。それは、個人開発をしているだけでは到底得られるものではなく、私にとってとても大きな経験になったと思います。またインターンの中では開発だけでなく、現場のプログラマーの方とお話できる機会が設けられていたり、プログラマーの一日や現場での技術のLTなども聞くことができました。最後のLTをしてくださった方は私の担当のメンターさんだったのですが、技術面を話す姿はとてもかっこよく、自分もこのメンターさんのようなツヨツヨプログラマーになりたいなと心の奥底から思いました。
 本インターンを通した学びを大切にし、今後も日々成長していけるように頑張っていきたいと思います。


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