見出し画像

CA Tech Challenge(ヒダッカソン)に参加したら“ときめいた”話

先日、サイバーエージェント様主催のCA Tech Challenge、通称『ヒダッカソン』に参加してきました。

私が参加したのは『1day ゲームクライアント向け 開発型インターンシップ ONLINE』というもので、開催要項は以下の通りです。


与えられた仕様書をもとにUnityを用いて1日でゲームを開発してもらいます。実装項目ごとに点数が設定されており、合計の獲得点数を競い合う競技形式のインターンです。仕様書の各項目に点数が設定されており、スピードと正確さを意識しながら満点を目指して実装してください。
技術メンターとなるエンジニア社員のバックアップのなか、学生同士で点数を競い合っていただきます。


今回はオンライン開催ということで、メンターの方々によるSlackやZoomを使用した手厚いサポートが印象的でした。

残念ながら権利上、競技そのものについてはあまり語ることが出来ません。

しかしながらとても学びの多い一日だったので、これから参加することを迷っている学生の皆さんに少しでも雰囲気を味わってもらえればと思い、参加記を綴らせていただきます。



私、マチコーについて

こうしたイベントは往々にして能力や知識量による感覚・認識のズレが生じるものだと思うので、まずはヒダッカソンの話の前にちょっとだけ自分の話をします。


私は都内の大学に通う学部2年生(23年卒)で、画像・動画・音楽・CGといったメディア学とプログラミングを総合的に学ぶ、少し変わった学科に所属しています。

昔からゲーム業界に対する漠然とした憧れがあり、学部1年の夏には株式会社バンダイナムコスタジオのゲームデザイナー向け1dayインターンに応募、幸運なことに合格しました。周りは学部3年や修士1年の学生ばかりだったものの、メインの催しである『アナログゲームジャム』でのディレクション力プレゼンテーションが高く評価され、結果としてはメンター賞を獲得することができました。


それと同時期に『スーパースターマイン』というゲーム制作系の学生団体を立ち上げ、現在私はディレクターやプランナーといった立場で計3つのプロジェクトに携わっています。


特に今力を入れているタイトルが『れーぞく!ネクロマンスちゃん』という全方位型STGで、今年中のリリースを目指しています。

チームとしての活動以外にもグローバルゲームジャムやゲーム業界交流会への参加東京大学VRサークル『UT-virtual』への加入など、外部でも精力的に活動しています。

特に今年の6月からはVRコンテンツ開発会社で、Unityでの開発インターンにジョインしています。


最後に、私のポートフォリオはこちらです。


……と、ここまで書いてきましたが、実は私自身はエンジニア職一筋というわけではなく、企画職も視野に入れています。プログラミングは大学入学後に始め、もちろん今も独学で学んでいるものの、制作はもっぱらチームで行うことが多く個人としての作品はありません。

私はこれまで自分でゲームを企画し、仕様書やスケッチを書き、プログラマーやデザイナーに手渡していました。しかし肝心の実装部分についてはプログラマーに任せきりで、エンジンについての理解が及ばないこともしばしばありました。

ヒダッカソン参加選考の面接でもその点で「プログラミングのスキル面で不安な部分がある」と指摘されながらも、「設計力と実装力を鍛えてエンジニアリングについての知見を深め、自分の可能性を広げたい」という私の想いを汲んでいただき、参加させていただけることになりました。



競技準備、前日までに行なったこと

ヒダッカソンでは前述の通り、与えられた仕様書を元に実装を進めていきます。私は他者の作った仕様を実装する、あるいは自分で作った仕様を実装した経験も少ないので、まずはUnityでゲームを一本まるごと完成させる必要があると考えました。

使用したのは『Unity 3D/2Dゲーム開発実践入門』という本です。


この本でuGUIの取り扱いやコルーチンを学んだこと、さらに(本当に初歩的ですが)機能を実装するにあたってどのような粒度でメソッド・クラスを分けるのか、という部分にも意識を向けたことは本番でも自分の力になったのかなと思います。

また学んだことを再び調べ直す時間がもったいないと考え、お世話になった技術記事はメモ帳にクリッピングしておきました。これが直接競技で役に立ったというわけではありませんが、習慣にしておくことで普段の開発をもっと効率化できるかと思います。



午前11時、戦いの火蓋は切られた

開始は10:30、Zoomにてメンターの紹介や競技説明があり、11時から開発がスタートしました。仕様書等はPDFで頒布され、Slackでは質問部屋も設けられました。


お題そのものについては何も言えないのですが、私が今までに開発したことのないジャンルで勝手が分からなかったというのが本音です。しかし慌ててコードを書く前に、ひとまず落ち着いて仕様書や得点表を眺め、実装すべき機能の切り分けを行いました。

その後、技術記事を参照しながら操作部分の実装に取り掛かりました。この辺りはまだ直感的で分かりやすかったので、参加者のほとんどが着手できたのではないかと思います。

一方、ネックになったのはインゲームのロジック部分でした。ここはUnityについての知識というよりも地の(汎用的)プログラミング力、そしてゲームジャンルについての理解が必要とされたパートで、私はついに最後まで実装方法が分からないまま競技時間が終了してしまいました。


競技についてはそんな感じで得点もおそらく低空飛行だったのですが、印象に残ったのは競技の最中に行われたメンター社員との1on1面談です。

これはメンター社員の方へ最大15分間、技術的なヒントやアドバイスを求めたり、コードについてのフィードバックをいただけるという時間でした。短い時間だったものの、メンターの方が私が所属する大学サークルの先輩の上司だったということもあり、非常に話が弾みました。

エンジニアといえばどことなく「コミュ障」「話しづらい」といったスキーマ(偏見)がありました(※私の周りのエンジニアがそんな人達ばかりというわけではありません)が、CAの方々は人当たりがよく学生の話も親身になって聞いていただき、率直に良い人たちだなと感じました。



結果発表、そして白熱のLT会

競技終了後には結果発表があり、結局私は上位に掠ることもありませんでした。しかしながら自身の弱点もたくさん見つかったので、次回こそは一矢報いるように努力を続けたいと思います。


非常に盛り上がったのは、夜に開催されたLT会でした。

ここでは今回の題材をいかにして効率よく実装するか、というとても実践的な内容を教えていただいたり、CAのSGE(ゲーム事業部)の取り組み、そしてメンター社員自身の入社してからの活動などをお伺いすることができました。

特にためになったのは19卒の社員の方による『SGE若手エンジニア議事録』という題のLTで、学生時代〜CA入社後についての話を聞くことができました。会社についての情報は割とどこでも集められますが、社員自身が学生時代に何を考え、何を就活の軸に据え、どうしてその会社への入社を決めたのかという話を聞く機会はほとんどないので、とても学びがありました。



実力を直視し、更なる成長の伸び代を見つけた一日に

今回の1dayインターンを通して、「設計力と実装力を鍛えてエンジニアリングについての知見を深め、自分の可能性を広げたい」と最初に掲げた目標は100%達成できたと断言できます。

しかもそれだけでなく、「具体的に求められるエンジニアリングのレベルはどの程度のものなのか」「エンジニアとして就職したのち、どのような成長機会があるのか」というディープな話も伺うことができ、自分の将来像についての解像度を飛躍的に向上させられた実感があります。

そしてこのような経験は伝聞するだけではなく、無論自分の足で行動しなければ得られません。


私は学部1年の頃から短期・長期ともにインターンシップに参加していましたが、“それらの経験の中で”自分が周りよりも成長できたと実感したことはありません。


では何のためにインターンに参加するのかといえば、理由のひとつに『自分の視座を上げたいから』というものが挙げられます。漠然と「この業界に行きたい!」と思ってみても、では自分の実力や興味はその業界とマッチングしているのか?就職後のキャリアパスはどのように描けるのか?そもそも自分の『得意なこと』と『やりたいこと』に乖離はないか?という問いに自分だけで解を見つけることはなかなか難しいものです。

現場の雰囲気に触れ、自分自身の実力を直視し、視座を上げれば自然と視界も広がり、今まで霞がかっていた部分が鮮明に見えてきます。そうすれば『自分が今すべきこと』も見つかるので、ここで踏ん張って努力することで初めて『成長』に繋げることができるのだと私は信じています。

つまり、何か行動を起こしたあとはそれを振り返ることが重要であるということです。私が今、このnoteを執筆しているのも、こうした足跡を残すことが今後の私の成長の糧にできると考えたためです。


行動を起こすことに早すぎることも遅すぎることもありません。もし私の記事を読んであなたの心がほんの少しでも“ときめいた”のであれば、今こそあなたが行動を始めるタイミングです。

もしインターンへの参加を迷っているのならば、ぜひその一歩を踏み出してみましょう。参加して自分の実力のなさを知っても、その中で結果が残せなくても大丈夫。

なぜなら成長するか否かは、その後の自分の行動に懸かっているからです。




最後まで読んでいただきありがとうございました。

もし差し支えなければ、Twitterアカウントをフォローしていただけると私の力になります。どうかよろしくお願いします。

https://twitter.com/MachiCollider


それではまた次の記事でお会いしましょう!




いただいたサポートは、明日のアセット代として大切に使わせていただきます。