こんにちは!
採用担当をしている、桃鉄狂のかーりーです。
昨年からxeenに中途入社して、今年で2年目になります。
ブログを書くのも初めて......ということで少し緊張しています;;
さて、先日から始まりました「弊社説明会でよくいただく質問にお答えします」シリーズ、
今回は、新卒ゲームプログラマー編ということで
新卒の学生様から、説明会などでよくいただく質問にお答えします!
======================================
Q1. 学生時代、どんなことを勉強しておけば良いでしょうか?
Q2. ゲームプログラマーの筆記試験は、どんな内容のものでしょうか?
Q3. ゲームプログラマーの作品選考で、重点的に見ている点はどこですか?
Q4. 入社後の研修では、どんなことを行うのでしょうか?
======================================
xeenの選考に役立つのはもちろん、
プログラマーを目指していく上で大切なことについてもお答えしましたので、
ぜひ、これからの学生生活や就職活動の参考にしていただけると嬉しいです。
それではいきましょう!
A1.入社後は、最低限として下記の知識はほぼ確実に利用するので
学生時代に学んでおくことを推奨します。
----------------------------------------------------
・C++の言語習得
・3D数学知識(ベクトル、行列)
・CPU / GPU / メモリの基礎知識
----------------------------------------------------
また、入社後に開発で用いる/応用する可能性が高いものは
下記のような知識です。
----------------------------------------------------
・DirectX, OpenGLの描画パイプライン
・Pythonなどのライトウェイト言語
・Unity, Unreal Engine
----------------------------------------------------
UnityやUnreal Engineについては、
例えば、両方にアニメーション関連の機能がありますが、
・それらはどういう設計で実装 / 提供されているか
・それぞれのエンジンの違いは何か
・どういうメリット / デメリットが生まれているか
など、実際に機能に触れながら考えて、
いずれ自分で似たような機能を実装するとき、
活かせるようにしてほしいと思います。
プログラマーとして学ぶことは数多くあるので、
学校を卒業して就職した後も、勉強し続けなければいけません。
そのため、
継続的に学習するための自分なりの習慣や方法を身に着けること
が重要になります。
例:・他の人が書いたコードを読む
・書籍やCEDEC・GDC(Game Developers Conference)で発表された
論文をチェックし、常に最新の技術にアンテナを張る 等
勉強する姿勢としては、常に「何故そうなるのか?」という疑問を持ち、
現象に対する理由について考え、
本質的な部分を理解しようとすることが大切です。
また、昨今の開発は、大規模チーム制作・長期運営となっています。
これに耐えるためには、拡張性や保守性を考えた設計・引継ぎや、
他スタッフとの連携を前提とした可読性など、
ソフトウェア品質も重要になります。
ただ動けば良い、ではなく、「もっと良い実装や手段は無いのか」と
考え抜く力や、癖を身に着けておくと良いでしょう。
最後に、得られた知識や技術が、実際どのようにゲーム体験やゲーム開発に
結びついているのかを、分析することもオススメします。
私たちが作るものは、プログラムではなくゲームであり、
プログラムはそれを実現するための手段です。
知識や技術を身に着けるだけではなく、必ずアウトプットも行い、
勉強をする目的を忘れず、スキルを身に着けていってください!
A2.主な出題範囲は以下のとおりです。
----------------------------------------------------
・ゲームで使用する数学
・コンピュータの知識
・プログラムを書く / 読む上での知識
----------------------------------------------------
どれも基礎的な内容となっていますので、
学校での学習や、プログラマーを目指す日々の行動の中で得られる知識だと
考えています。
A3.ポートフォリオをご提出いただく際は、
作品を制作する上で学びたかったこと・ご自身がアピールしたいことを
きちんとまとめてほしいと思います。
具体的には、
プログラム内容については、下記の項目をチェックしています。
---------------------------------------------------
・読み手側を意識したコードであるか(コメント、適切な命名など)
・プログラムはその状況に応じて、適切な段階まで分割されているか
(コードブロック / メソッド / クラス / ファイル)
・不必要に重複しているコードはないか
・コードの書き方は一貫性があるか
・便利な道具を理解し、有効活用しているか(スマートポインタなど)
・自分の知識 / 経験で書かれているか
・不要な処理負荷が発生していないか
(ループ内での回避可能なアロケート、vectorへのpush / popなど)
・拡張性 / 保守性を考慮した設計になっているか
---------------------------------------------------
作品そのものの評価については、下記の項目をチェックしています。
---------------------------------------------------
・全体的にこだわりや目的をもって実装をしているか
(既存のゲームの各要素を単純に実装しただけのようなものになっていないか)
・作品の制作期間が、制作難度やボリュームと比較して妥当なものか
・プログラムのアピールポイントがわかるものになっているか
・一見して分かるような不具合が多くないか
・ゲーム内容は遊べるものとなっているか
---------------------------------------------------
なお、作品の性質によってチェックする点は変わることもあります。
提出される作品の数については、
最新の作品に、ご自身が評価して欲しい点が詰まっているなら
1つでも問題ありません。
(ただし、例えば最新作品がUnityを使ってチームで作ったものだとして、
それ以前にDirectXやOpenGLで1から作品を制作されていた場合、
その作品もご提出いただいた方が個人の能力を評価しやすいです)
A4.全新入社員に向けて実施するものと、
ゲームプログラマーを対象とするものの2種類あります。
なお、どちらの研修も、年度・入社人数によって
内容が変更になる可能性があります。
全新入社員向けの研修では、
タスク管理・基本的な開発フロー・著作権の取り扱い・セキュリティポリシー・
開発での行動指針 等、
これからクリエイターとして働く上で、最低限必須となる知識を
座学で学んでもらいます。
ゲームプログラマー対象の研修では、チーム制作以外は全て個人で取り組みます。
研修課題の内容は、以下のとおりです。
---------------------------------------------------
・バージョン管理ツールの操作
・C / C++課題
・DirectX11でのグラフィック課題
・スレッドを使用した課題
・チームでのゲーム制作 等
---------------------------------------------------
約3か月弱かけて研修を実施し、
コードや基礎部分に課題があった場合は、先輩や上司から
レビューやフィードバックを受け、解決に向けて取り組んでいただきます。
成果物を上長がレビューすることで、
研修後、案件に配属されても最低限困らない知識・技術の習得や再確認、
また、仕事を進める上で必要な「報告・連絡・相談」や、
スケジュール管理などの基礎能力を習得してもらうことを
目的としています。
ここまで読んでいただいた皆さん、ありがとうございます。
かなりのボリュームになりましたが、いかがでしたでしょうか?
今回の記事が少しでも、ゲーム業界を目指す学生様の手助けになれば幸いです。
次回は【弊社説明会でよくいただく質問にお答えします 3Dデザイナー編】を
お届けします!
デザイナー志望の学生様は、ぜひチェックしてくださいね!!
それでは。
かーりーでした~。
現在、xeenでは2022年3月卒業見込みの方・2021年3月卒業の方を対象に
新卒採用を行っております。
ご応募を検討されている方は、ぜひ下記エントリーフォームよりご応募ください。
https://www.xeen.co.jp/recruit/