好きなことを仕事にしたい!なフリーランスの皆さん、ゲームが好きだからそれを仕事にできれば・・と考えることもありますよね。
ゲームを仕事にする場合、多くの人が思い当たるのがゲームプログラマではないかと思います。
ゲーム業界は人材不足と言われていますし、スマートフォンの使用用途ではゲームが上位に入ったり、eスポーツが IOC主催の Olympic Virtual Series としてが開催されるなど認知度を高めており、今後も仕事としてなくなりはしないでしょう。
また、ゲーム開発は短期のプロジェクトであることからフリーランスと相性が良い面があります。
そこで今回はフリーランスでゲームを仕事にすることを考えてらっしゃる方向けにゲームプログラマになるには?を解説します。
ゲームプログラマの仕事内容

プログラミング
まずゲームプログラマの仕事内容を見てみましょう。
プログラマなのでもちろんプログラミングが主な仕事となります。基本的にはゲームクリエイターが決めた仕様に従い、画面上の表示や動き、バックグラウンド処理を作っていきます。
業務では他のメンバーと処理の調整が必要となる場面もありますので、オフラインミーティング、オンラインミーティング、チャットツールなどでコミュニケーションを取る必要があります。
テスト、デバッグ、動作確認
ゲームに限りませんがプログラミングでは機能ごとに担当者が割り当てられます。
それぞれのゲームプログラマは割り当てられた機能が問題なく動作することをテストで確認する必要があります。
個人に割り当てられた機能のテストのことを Unit Test(単体テスト)といいます。
テスト結果が NG であればプログラミングの誤りを見つけて修正(デバッグ)します。
Unit Test が終わったら全体のテストを何段階か行います。段階数はプロジェクトごとに異なります。
全体のテストで自身の担当した機能に不具合があれば修正する必要があります。
機能追加、パフォーマンス・チューニング
一昔前と異なりいまはオンラインアップデートが可能なので、リリースした製品に機能追加したりパフォーマンス・チューニング(性能向上など)したりすることがあります。
リリース後もプロジェクトに残っている場合は必要なプログラミングの変更を行います。
ゲームプログラマに必要なスキル・経験

ゲームエンジンのスキル
前述した仕事内容を行うために必要なスキル・経験を挙げます。
現代のゲームはクロスプラットフォームであることも増えてきています。クロスプラットフォームとは、例えば人気のゲーム FORTNITE(フォートナイト)がスマホ、PS4、PC、スイッチでプレイできることを指します。
Androiod と iPhone で同じゲームが提供されるのもクロスプラットフォーム対応です。
現在は Android でも iPhone でも同じゲームアプリで遊べるのは当然のこととなっていますが、一つのゲームを作る場合に Android と iPhone で別のプログラムを作成するとコストがかかります。よって、ゲームエンジンを使って一元化するケースがあります。
有名なのが Unity というゲーム開発環境兼ゲームエンジンで、Unity で開発しておけばクロスプラットフォーム対応しやすいため開発コストを軽減することができます。
つまり、ゲームプログラマはプログラムの知識だけではなくゲームエンジンを使いこなすスキルが必要になるということです。
プログラミングスキル
ゲームエンジンがあってもプログラミングがなくなるわけではありません。
例に出した Unity では C#(シーシャープ)という言語を使用します。別のゲームエンジンである UnrealEngine では C++(シープラスプラス)を使用します。
また、iPhone であれば Swift(スウィフト)で開発を行う現場もあります。
開発するゲームのプラットフォーム対応状況次第ですので、事前にリサーチして自分が目指すゲームプログラマ像に応じたプログラミングの知識を身につけましょう。
ゲームの提供先であるプラットフォームの知識
これまでいくつか紹介したように、ゲームにはいくつか提供先のプラットフォームがあります。
スマホゲームをイメージしているのであれば Android と iPhone(iOS/iPadOS) になりますし、専用ゲーム機であればプレイステーションや Switch などが提供先のプラットフォームとなります。
プラットフォームによって必要なスキルが変ったりしますので、プラットフォームのゲーム開発環境を調べておきましょう。
チーム開発の経験
いざゲーム開発チームにジョインしたらチームで開発することになります。
その場合に Git などのバージョン管理システムを使ったり Slack などのコミュニケーションツールを使うことになります。
チーム開発の経験はあったほうが良いでしょう。
ゲームプログラマに向いている人は?

人類にはゲームが必要だと思ってる人
ゲームプログラマに向いてる人はどのような人でしょうか。
職業を選択する際に仕事に意義を見出せるかどうかは重要です。
ゲームの認知度が高まる一方で、香川県でネット・ゲーム依存症対策条例が成立するなどの例もあります。背景としては「ゲームは時間の無駄」に近しい認識があるでしょう。
もしあなたがこの認識を支持しているものの「人気のジャンルで稼げそうだから」という理由でゲームプログラマを目指すのであればあまりおすすめはできません。
どんな理由であれ「人類にはゲームが必要」と考えている方でないと継続的にモチベーションをキープして、ゲームプログラマとして成長するのは難しいと思われます。
ゲームプログラマを目指す人が取り組んでおくべきこと

ゲーム配信をチェックする
ゲーム配信は動画プラットフォームの中でも人気のカテゴリーです。
再生回数の多いチャンネルは配信者の人気もありますが、ゲーム自体の人気も反映しています。チェックしてトレンドを掴むようにしましょう。
盛り上がるポイントや不満を感じるポイントなど、リアルにユーザーの反応を見られるため非常に参考となります。
ゲームカンファレンスをチェックする
ゲーム業界では定期的にカンファレンスが開催されており、新しい技術やゲームタイトルが発表されています。
日本では東京ゲームショウが有名です。海外でも盛んに行われており、中でも E3 や CEDEC が有名どころではないでしょうか。
いきなりカンファレンスに参加するのは敷居が高いかもしれませんが、ニュースサイトなどでどのような発表が行われたかなど、最新の技術動向を抑えておきましょう。
ゲームを作ってみる
何事もやってみる、が上達の近道です。スマホゲームであれば開発環境をダウンロードして試作することもしやすいです。書籍やプログラミングスクールで学習できるでしょう。
ある程度形になれば、Github などにソースコードを公開して履歴書がわりにすることもできます。よかったらチャレンジしてみてください。
おわりに
ゲームプログラマーの仕事内容や必要なスキルや資質、取り組んでおくことについて解説しました。
ゲームプログラマになるにはまずプラットフォームを選択する必要があります。
いつかスマホゲームで一山当てたいなどのモチベーションがあれば選択は容易ですが、何かしらゲームに関わる仕事がしたいという状況であれば難しい選択になりそうです。
まずはゲームに関わる仕事の環境を把握して、自身でこれだ!と思ったプラットフォームを中心にキャリアを構築していくのが良いのではないでしょうか。
コメント