渡辺雅央講師による第3回「就職対策ゼミ」!採用される「コード」の書き方とは?

スクールライフ
イベント
学生インタビュー
東京校
大阪校
名古屋校
福岡校
札幌校
ゲームプログラマー専攻【5年制】
ゲームグラフィッカー専攻【5年制】
ゲームプログラマー専攻【3年制】
謎解きクリエイター専攻【3年制】
キャラクターデザイナー専攻【3年制】

バンタンゲームアカデミーでは、在学中からプロフェッショナル講師による指導を受けられます!また就職対策も充実しています。

今回は、プログラマー専攻メンバーに向けた「就職対策ゼミ」をレポートします。
教えてくださるのは、渡辺 雅央講師。株式会社サイバーコネクトツーにて約14年間、プログラマー、リードプログラマー、マネージャー、ディレクター、プロデューサーなど様々なポジションでゲーム開発を担当。

渡辺講師「全4回のうち、第3回となる就職対策ゼミです。1、2回目では基礎的内容を教えました。簡単に言えば、コードを書くときに、同じことを何度も繰り返し書くのではなく、整理整頓をしましょう!というアドバイスです。今回も、就活で評価されるようなコードのポイントを伝授します!」

【1. これまでの振り返り】

① 継承 ②インターフェイス ③デザインパターンを数個
渡辺講師「ここまでやると、プログラムが良い状態になりやすいです。中堅以上のデベロッパーを目指すことができます。逆に言えば、ここまでできないとプログラマーとしてのアピールは、難しいです!」

【2. もう少し上を目指すには?】

① ピュアクラス(継承される“大元”)②ジェネリック
渡辺講師「理解できるサンプルコードを見つけてください。GoogleよりもYouTubeがオススメです。英単語で検索をかけてみて。海外で個人のゲームを作っている人が解説してくれたりします!」とアドバイス。

また「MVC(Model-View-Controller)」も知っておくべき概念だと紹介。「MVC」は、Webアプリケーションなどのソフトウェア開発における設計モデル。アプリケーションを3つの役割に分割することで、コードの保守性や再利用性を高めることを目的としています。

【3. 「ヒントの塊」を伝授!】
① ゲームプログラミングパターン

渡辺講師「こちらを参考にしてください。先ほど紹介したようなデザインパターン、ファクトリーがあります。コードを書くときに、意識したほうがいい原則が掲載されていたりします。1つのクラスには、1つの機能のみを持たせるようにしましょう。例えば、敵のクラスなのに、プレイヤーの処理をしているのはおかしいです。なるべく1つのクラスは1つの機能のみにする、これは『SOLID(ソリッド)の原則』と呼ばれます。
100%採用すると息苦しいかもしれません」

② Unity公式

渡辺講師「1つのコンポーネントに、どれくらいの機能が実装されているのか?また、フォルダの命名規則も大事です。Unityからサンプルを見つけて同じにする場合も多いです。実例として、ある志望者のソースコードの独自性が強すぎて、不採用になったことがありました。ただしゲーム自体は面白かったので、面談をしてダメな点をフィードバックしました。再応募が可能な企業だったのですが、2度目の応募でもフォルダ構成、名前の付け方ともに独自性が強すぎて第三者からすると想像しづらかった。修正すれば入社できた可能性もあるのですが、その応募者は不合格になってしまいました」

【4. 渡辺講師が、応募作品を見る順は?】

では、実際の採用現場では、作品のどこが見られているのでしょうか。
渡辺講師「私の場合、まず、ゲーム紹介動画を見ます。次に、プログラマー向けポートフォリオを見て、『なんとなく、こんな人ね』っていう情報を得ます。最初から履歴書を見る人もいますが、自分の場合はいちばん最後。審査する作品が多いので、応募作品が良ければ履歴書を見ます。個人的な経歴や資格は、それほど大事なことではありません。不合格と決められるのは早い方がいいという考え方でチェックを行います」

「基本、業務の合間に採用活動をします。いいなと感じたら、かなり細かいところまで見ます。5~6ファイルを見た段階で、些細なところがダメでも面接に進んでいいかなという視点で見ます。もしも、冗長な感じがすると思ったら、『応募作品で改善したいと思っているところはありますか?』と質問します。もしも、面接官からこの質問を受けたら、ソースコードに対して何かしら思うところがあると考えた方が無難です。なので、『間違いないと思っていますが、どうしました?』という受け答えでは、『価値観が違い過ぎる』と思われかねませんので注意してください。仮にミスがあっても、改良すべき点を理解していれば問題ありません。改善点が思い浮かばない場合は『完璧じゃないのはわかっています。何かアドバイスをください』と素直に話して構わないです。聞く姿勢が伝わります!」

【5. メンバーのコードをチェック!】

後半は、受講メンバー一人ひとりのコードをチェックしフィードバックをします。

渡辺講師「最初はフォルダ構成を見ます。……が、フォルダの構成が雑な印象です!Unity情報は『Scripts』というフォルダに入っています。どれを最初に見るかというと、大体はプレイヤーまわり。最初にコード量が多いところを見ます。次に、ファイル名を見ながら、コアになっていそうなところを見ます」
具体的にマイナスポイントを指摘します。

あるメンバーの場合、
×行間が詰まりすぎている
×同じコードが続いている
×変数の命名規則が複雑。実態を表しにくくなっている
「む、ここは何をやっているんだ?」「処理負荷がかかることをやっているな~」と、ツッコミを入れる場面も。丁寧にチェックし、具体的に改善策をアドバイスしてくださいました!

「コードを書くときは、いちばんシンプルに書くことを考えましょう!なるべく、みんなが知っている英単語を使うこともしかりです!複数の人でプログラミングを分担するので、『これはどういうこと?』という疑問が発生するのは良くないです」と助言します。

【6. 受講メンバーの感想は?】

2年制ゲームプログラマー専攻1年次・高橋さん「今回の就職対策ゼミでは、面接では具体的にどんなコードが使われているかを教わっています。来週、作品審査会があり、三すくみをテーマに2Dゲームを制作しています。今日の解説を聞き、より遊びやすいようにブラッシュアップできそうです!」

2年制ゲームプログラマー専攻1年次・北山さん「実際に採用に送られてきた応募作品を見ることができます。もっとこうした方がいいよねという点を教えていただけるので、自分の作品にも反映しやすいです!」と話します。
業界で活躍するプロフェッショナルに直接指導してもらえるのは、バンタンゲームアカデミーで学ぶメリットです。

【PROFILE】
渡辺 雅央講師
C/C++、3Dグラフィックス、ゲームデザイン、プロジェクト管理に関して幅広い知識を持つ。ゲーム開発と同時に人事業務も行っていた経験もあり、学生への作品指導、学習指導に関しても経験を持つ。「まだゲームを遊んだことがない人にもゲームを届けたい」をモットーにゲーム開発を行っている。

シェアする