こんにちは!おもろいプログラマです。
最近、学生の就職作品を大量に見る機会があり、その時の評価基準についてを今回の記事にしたいと思います。 あくまで個人的な観点ですが、もし就職作品を作成されている方がいたらちょっとだけ参考にすると良いかもしれません。
自分が就職作品を見る場合、大きく次のような内容を確認します。
- ゲームとして機能しているか
- 目的と手段が逆転していないか
- コードの読みやすさ
1.ゲームとして機能しているか
大前提としてゲーム系の企業に就活をする以上「ゲームが作れる事」をアピールする必要があります。
カメラの動かし方、演出、UIの内容や操作感など評価箇所は多岐に渡りますが、丁寧だったりセンスを感じれれば評価点が付く感じです。
逆に「ゲームになっていない」は論外です。最低限、ゲームとして遊べる必要はあります。
とはいえ、ゲーム制作にも多々要素があり、そのどこか特定の部分に携わりたいという人もいるかと思います。
その場合、「自分はこういう路線で制作に関わりたい」という内容が見える作品であれば、ゲーム以外も評価しています。
「ゲームエンジン」「エフェクト作成ツール」「ステージエディタ」等、必要になるツールを制作している人はそちらも提出すると良いでしょう。
ただし、ツールの場合「使い手の事を考えていない」「ツール外にデータが出せない」は減点対象です。気をつけてください。
2.目的と手段が逆転していないか
今回よく見かけたのが「~の技術や~の技術を入れました!」と言った技術押しの内容です。
確かに技術は使えるに越したことは無いですが、今の時代ネットから取得するだけで大抵の技術が使えるようになる時代です。
技術を取り入れただけではアピールとして弱く思っています。
むしろ、「なぜその技術を入れる必要があったのか」を言えないなら、個人的には0点です。
「多数のオブジェクトが飛び交うゲームを作りたいが、処理負荷が高かったので8分木を入れて負荷を軽減しました」
「ホラーゲームをより怖く見せたかったので、ポストエフェクトで特殊な表現を追加しました」
のような明確な目的に対する手段として利用していれば良いですが、
「興味があったので入れてみました。~や~も実装する予定です」
は手段が目的になっており、大体の場合ゲーム部分がおろそかになってしまっており、ゲーム作成のセンスが見えません。
システム側への就職なら評価対象になりますが、本編側を作成したいと言われるとちょっと評価が難しいです。
1.でも書きましたが、自分の進みたい方向に沿った作品であることは重要です。
3.コードの読みやすさ
クラス設計や関数の分け方、修飾子の付け方を確認し、オブジェクト指向の習熟度を主に評価します。
意図不明の派生クラスや名前と内容の一致しない関数、全てpublicで書かれたメンバ定義等があるとかなり厳しいです。
一つ一つの処理に対し、明確な意図を持って作成するようにしていれば大丈夫です。大体の場合伝わります。
また、マジックナンバーの有無、定数の使い方、コメントの書き方といった基本的ですが大事な部分ができているかも確認します。
このあたりは就職後にも比較的簡単に矯正できる部分ではあるので、個人的には比率はあまり大きくないです。
とはいえ、比較的簡単に矯正できるからこそ「こんな事もできないの?」と評価を大きく振っている人もいるかと思います。
普段から気をつけて書くようにすることが大切です。
長々書いてしまいましたが、自分の評価ポイントとしては大体こんな感じです。どうでしょう?思っていたより簡単な事が書かれていて拍子抜けしましたか?
簡単に見えるかもしれませんが、できていないのが大多数なのが実状です。
かく言う自分も、就職作品の時期にこの内容ができていたかと言われれば、怪しいですしね…。
個人意見なので、「こういう意見もあるんだ」という参考にしつつ、学生やゲーム業界を目指している人には就活を頑張っていただきたいです。
このブログを見た方と何処かの現場でお会いできることを願っています。
ではまたー。