はじめに
今回CA Game Client Collegeの設計編に参加してきたので体験談を書いていきます。
目次
CA Game Client College とは?
以下Collegeと略します。
CollegeはInGame編、設計編に分かれています。
- InGame編ではインゲーム制作の技術や考え
- 設計編ではゲームの設計技術
を毎週3時間のオンライン講義形式で学ぶことができます。
基本的な情報はインターンHPを見てください。
Game Client College~設計編~supported by リスキリングセンター
※年度によって内容が異なっていると思います。
今回私が受けてきたのは設計編であるため、以降は設計編で学んだ内容について詳しく書いていきます。
インターン内容(設計編)
インターン前半は講義中心、後半はディスカッションや実習がメインに行われました。
講義
設計編の講義内容は基本的な設計知識とUnityC#における、デザイン原則、デザインパターン、ライブラリ活用がメインになります。
各要素におけるキーワードを上げていくと、
キーワード | 内容 |
---|---|
基本的な設計知識 | コンポーネント(モジュール)間の凝縮度や結合度について等 |
デザイン原則 | SOLID原則、デメテルの法則等 |
デザインパターン | Singletonパターン 、Observerパターン 、 Factoryパターン 、 MVPパターン等 |
ライブラリ | UniTask , UniRx , DoTween等 |
ゲーム設計について学ぶ上で必要なことを講義+演習という形で学びました。
グループディスカッション
インターン後半ではアウトプット活動として、グループディスカッションの時間が多く取られました。
普段は異なる事を学んでいる学生同士だからこそ、様々な視点で話し合い、新しい発見と設計への理解を深められる機会になりました。
実習課題
最後に、インターンの目標としてMVPパターンを利用したゲーム制作課題提出があります。
MVPパターンは先ほど挙げたようなゲーム設計における知恵の集合体の様な設計技術になります。このゲーム制作では今まで学んだ技術を全て活用でき、非常に手応えを感じ学びに繋がりました。
また、Gitを通じてゲーム制作過程の共有を行うことで、メンターさんにレビュー頂けました。自身の設計やコーディングを把握してレビューして頂くことはとても大変なことなので、非常に贅沢で貴重な体験を積むことができました。
Collegeに参加する際には、是非Gitを利用できるようにしておきましょう。
インターンで意識したこと
アウトプットの機会を増やす
サークル活動で行っているチーム制作物の設計レベルを上げるために、設計技術について学んだことを共有しながら、どのように現在のゲーム制作に活用していくのかを考えていきました。
情報共有を小まめに行う
最終課題の早期提出とプルリクエストを小まめに送ることで、メンターさんと細かくやり取りができました。
自分のインプットアウトプットが適切か、コーディングに冗長な処理がないか、現場での開発の話など様々なレビューを頂くことができました。
挑戦する
最終課題では、Monobehaviourへの依存を減らすためにVContainerを利用し、デザイン原則を順守することでクリーンなアーキテクチャを考えてゲームを作ることを目指しました。
インターンを通じて変わったこと
ゲーム設計への考えが深まった
- MVPパターンのような設計技術を利用すればゲームが楽に作れるようになる
- 設計について学べばゲームエンジニアとして安泰になる
といった勘違いを私もしていた。
-
高レベルの設計をしても、短期的に良い結果は得られない上、コーディングの量も難易度も増加する。
- そもそも設計はプロジェクトの開発、保守、運用にかかるコストを最適化するためのものであるため。開発規模に沿った設計を考える必要がある。
-
最適な設計は場面によって異なり、進化していくものである。
- 学び続けなければ、置いて行かれてしまう。
人に見られてもよい、自分本位ではないコーディングを意識するようになった。
-
設計について学んでいくうえで、チーム制作を行うための思考や思想について考えることが多くなった。
-
作成したコード全てをレビューしてもらう経験をしたことで、冗長なコードが無いか、自分の意図するコード設計が成されているか等、コーディングに対して、よりシビアに考えられるようになった。
感想
最終課題提出前には、もくもく会があり、実際にサイバーエージェント本社に行き、丸一日社員(メンター)さんの横で実習課題に取り組むことができるイベントもありました。
専門学生としてお金を払ってゲーム技術を学ぶ身だと、Collegeは非常に贅沢に色々な経験、学びを得られるインターンだと感じました。
この3か月で設計への理解がかなり深まり、ゲーム制作にも活かせつつあるので、学んだことをアウトプットする機会を増やしていきたいです。
以上で体験記を終わります。