Unityでゲームプログラマー新卒作品を提出するにあたって
はじめに
派遣系のゲーム企業に勤める者です。
今年度に採用担当としてゲームプログラマーの新卒学生の作品を審査する立場となりまして、色んな作品を見る機会を頂きました。
その中にはUnityで制作した作品もあったのですが、拝見していて思ったことが色々とありまして、この記事では「Unityで作品を出すならこうして欲しいなー」という”個人的”要望を書いていきたいと思います。
ただ、注意点としてここに書いていることは必ずしも正しいとは限りません。最終的には自己責任でお願い致します。
ゲーム内容
ここはUnityに限らない話になりますが、最低限やってほしいこととしては以下があります。
3Dゲーム
タイトル → ゲーム本編 → エンディング(リザルト) → タイトル
プレイヤーキャラは人型でアニメーションする
エフェクトで盛る
カットシーンを入れる
ポーズ画面
3Dゲーム
基本的に3Dゲームが望ましいです。
2Dより技術力を測りやすいです。
タイトル → ゲーム本編 → エンディング(リザルト) → タイトル
ゲームとして一連の流れを完成させてください。
プレイヤーキャラは人型でアニメーションする
人型でなくても構いませんが、ボーンアニメーションさせてください。
キューブやカプセルといったプリミティブをプレイヤーキャラと言い張らないでほしいです……。
エフェクトで盛る
見栄えがする方が印象が良いです。
単純にヒットエフェクトを出すだけでなく、ポストプロセッシングスタックやURPのボリュームなどで画面全体も盛ってください。
カットシーンを入れる
ゲームらしさが増します。
ポーズ画面
これは若干、個人的な加点要素だったりしますが、
Unityでポーズ画面を”ちゃんと”作ろうとすると割と面倒なためです。
良くウェブ検索するとTimeScaleをゼロにするのを見ますが、ただこれだけをしてしまうとポーズ画面中に動いてほしいものが動かなくなる可能性があります。また、コルーチンを使用している場合はポーズさせるのにテクニックが必要になります。
ドキュメント
いわゆる「readmeテキスト」や「開発概要PDF」といったものです。
ゲーム概要、操作方法、使用したゲームエンジンのバージョン、アピールポイントなどをドキュメントとして作成してください。
スクショや図なども入れると見栄えしますし、分かりやすいです。
また、アピールポイントはどのソースコードのどこで行われているかも記述しておいてください。
多くの作品を見ないといけない審査担当者にプロジェクト内を探させないでほしいです……。
提出形式
Unity作品を提出される方の良くある提出形式は「ビルドしたゲーム」+「C#スクリプト集」なのですが、できれば”プロジェクト全体”がどうなっているかも見たいところです。
ですので、「プロジェクト一式」を個人的には提出してほしい。
ヒエラルキーをどう構成しているのか、プレハブにどんなコンポーネントをアタッチしているのか、どうセッティングしているのかなども見たいです。
提出方法
じゃあ、「プロジェクト一式」って、どう提出すれば良いのか?
さすがにUnityプロジェクトそのままを提出されてしまうとウンGBの容量になってしまうので、そのUnityプロジェクトから「何を省けば良いのか?」という話になります。
他の企業さんは応募者からUnity作品を提出される場合はどうしているのか調べてみると、株式会社ハ・ン・ドさんが「Library、Tempフォルダを含めない」ように指示されていますね。
自分的には省くべき物を知る手段としてgitignoreを利用するのが良いのではないかと思います。
UnityプロジェクトなどをGitで管理する際に、まず第一にコミットされるのがこの「.gitignore」ファイルなのですが、これは要らないものをコミットしないようにする設定ファイルです。
Unity用の.gitignoreファイルはウェブ検索すれば出てくるので、それを参考に提出プロジェクトから要らないものを削除してください。
そもそもGitでUnityプロジェクトを管理されているのなら、作業しているローカルリポジトリとは別に提出用のローカルリポジトリをクローンして頂いて、その提出用のプロジェクトは絶対にUnityでは開かず(一度でも開くと要らないLibraryフォルダなどが生成されてしまう)、ZIP化してしまえば提出プロジェクトの完成です。
ただ、gitignore関係なく省かないと不味い物もあります。
例えば「有料アセット」などの規約的に再配布したら不味い物です。
3Dモデルなどがそれであるならば別のモデルに差し替えてください。
DOTweenなどのツールの類がそれであるならば、省いた上で提出資料一式の中の「開発概要ドキュメント」などにその旨を記述しておいてください。
そもそもの話……
ここまで書いておいて何ですが、提出作品が「Unityのみ」であると審査は相当厳しいものとなります……。他の企業さんではそうではないのかもしれませんが、少なくとも私が審査した中で「Unityのみ」で書類選考を通過した学生さんは一人もいらっしゃいません。
描画処理や当たり判定処理などをUnityがある程度カバーしてくれてしまうため、その分ゲームの出来や技術力の審査ハードルが上がってしまいます。
身もふたもない話ですが、提出作品は「DirectXで自作ライブラリを作って、それで3Dゲームを制作する」のが一番無難です。
おわりに
自分で書いておいてなんだかなぁという結論になりましたが、いつかUnityの提出作品で「これはすごい!」と唸ってしまう作品に出会ってみたいです。