ゲームプログラマーの『求人の見方』と最近の技術事情を紹介

2016年7月11日に投稿 → に更新

スマホゲーム

「ゲームプログラマーってどんなスキルがあればいいの?」
「需要が多い技術を知りたい」
「優良なゲーム会社を見分ける方法ってある?」

私は元々業務システム開発の仕事をしていて、Webサービス開発へ移った後、ゲームエンジニアになりました。

ゲームプログラミングって難しい印象があったのですが、独学でUnityを学んで、いくつか自作ゲームを作って、それを実績にして応募したら採用してもらえました。

そんな経験を踏まえて、「ゲームプログラマーの求人の見方を経験者が教えます」を紹介します。

ゲームプログラマーは大きく分けて2種類

ゲームプログラマーの求人は、

  1. クライアントサイドエンジニア
  2. サーバーサイドエンジニア

があります。

Webの場合、クライアントもサーバーも一人のプログラマーで対応することが多いですが、ゲームの場合、クライアントとサーバは担当が分かれる場合が多く、求められる技術セットも異なります。

クライアントサイドエンジニアはゲームの画面表示プログラムを作ります。

サーバーサイドエンジニアはサーバーのデータベースを検索したり更新するプログラムを作ります。

1. クライアントサイドエンジニア

  • C++またはC#を用いたゲームプログラム開発経験
  • コンシューマーゲーム開発経験、もしくはUnityでの開発経験
  • スマートフォン(iOS/Android)に関するゲームプログラミング経験がある方

のように書かれているのがクライアントサイドエンジニアです。

C++, C#, iOS/Android等と書かれていれば、クライアントサイドエンジニアの募集だと考えて良いでしょう(C++はサーバーサイドで使われてる場合も有り)。

2. サーバーサイドエンジニア

  • LAMP環境での実務経験がある方
  • 大規模サービスでの実務経験がある方
  • PHP、Ruby、Javaを使用したシステム開発経験
  • Linux、RDBMSを用いたアプリケーションの開発経験

などと書かれているのはサーバーサイドエンジニアの求人です。

分かりやすく「サーバーサイドエンジニア募集」って書いてある求人もあります。

そうではなく、「ゲームエンジニア募集」って書かれている場合は、

「どっちサイド(クライアント/サーバ)の募集なのか」

をよく見てみましょう。

これからゲームプログラミングの技術を覚えたい方は、クライアント側(画面表示)かサーバーサイド(データベースアクセス)のどっちをやりたいかを考えてみてください。

個人でゲームを作る場合は両方必要なので、両方学びます。

ゲームのサーバーサイド技術はWebのサーバーサイドと大部分は同じなので、Webや業務システムのサーバーサイドエンジニアをやってる方がゲームのサーバーサイドに転身するのは比較的かんたんです。

ゲーム開発の流行技術

最近はスマホゲームの求人が多いのでそちらに絞って考えてみます。

クライアントサイドの技術

スマホアプリは大きく分けて

  1. iOS系(iPhone, iPad等) → プログラミング言語はObjective-CかSwift
  2. Android系 → プログラミング言語はJavaかKotlin

があります。

同じゲームでもiOSとAndroid両方にリリースするなら本来、別の言語で作らなければならないのです。

その不便さを解決するために登場したのがクロスプラットフォームのゲームエンジンです。

1. Unity

現在一番よく使われているゲームエンジンです。Unityで開発したコードは設定によりiOS用にもAndroid用にもビルドできます。

またUnityは2Dと3Dどちらのゲームもかんたんに作れます。ゲームプログラミングって難しい印象がありますが、Unityを使うと思ってたよりずっとかんたんにゲームを作れます。

UnityではC#, JavaScript, Boo(Python方言)の3つのプログラミング言語が使えますが、ほとんどの会社でC#が使われています。

2. Cocos2d-x

Cocos2d-xも人気のあるゲームエンジンです。

Unityとの一番の違いはCocos2d-xが2Dのみのサポートであることです。Cocos2d-xで3Dゲームは作れません。

最近のスマホゲームは3Dのものが多いですが、まだまだ2Dゲームも人気なので、2Dゲームを作りたい方にはいいと思います。Cocos2d-xではC++でコードを書きます。

3. Unreal Engine

Unreal Engingeはグラフィック性能に優れたゲームエンジンです。

Unityよりも綺麗なグラフィックのゲームが作れると言われています。

開発言語にC++が使用されます。

サーバーサイドの技術

サーバーサイドの技術は大きく分けて2つの要素があります。

  1. プログラミング言語
  2. データベース

1. プログラミング言語

サーバーサイドのプログラミング言語は多数の選択肢があります。

PHP, Ruby, Python, Perl, node.js, Java, Scala, Go等さまざまです。

JSON APIというJSON形式(JavaScript Object Notation)のデータをクライアント側に返すAPIを作成します。

2. データベース(DB)

MySQL, PostgreSQL, Redis, memcached, MongoDBなどがよく使われています。

MySQL, PostgreSQLはリレーションデータベースと言われるタイプのDBで、SQLという問い合わせ言語を使います。

例えば、ユーザーの経験値を取得するSQLは

のような感じになります。英語みたいですよね。

Redis, memcached, MongoDBはNoSQLというタイプのDBでSQLのような共通の問い合わせ言語はなく、それぞれのDBごとにちがったアクセス方法が用意されています。

ゲームエンジニアは需要が増加中で求人がたくさんあるので、ぜひチャレンジしてみてください。私も独学で採用まで行けましたからね。

転職はやってみると思ってたよりかんたん

私自身3回ほど転職してるんですが、思ってたよりかんたんで、転職エージェントを使ったらあっという間でした。

エージェントが応募先候補の選出から、面接の日程調整までやってくれるので、こちらから動かなくても半分くらい自動的に進む感じで楽でした。しかも今は好景気で売り手市場なので転職するのにちょうど良い時期です。

シリコンスタジオっていうエージェントがおすすめです。

シリコンスタジオはゲーム業界に特化したエージェントなので、他のエージェントよりも業界知識を豊富に持っています。

ゲーム業界ってSIerやWeb系とは違った企業カルチャーがあるので、それらを事前に聞いておいたほうが面接で的確な受け答えが出来ていいと思います。

なので、シリコンスタジオのホームページ見てみてください。

エンジニア未経験の人にも使える転職エージェントがある!

シリコンスタジオはエンジニア経験者向けサービスなので、エンジニアの仕事が未経験の方には、ワークポートがおすすめです。

未経験の人はサポート対象外のエージェントが多いんですけど、ワークポートは未経験者の転職も支援してくれます。以前エンジニア未経験の友達にワークポートを教えてあげた所、ちゃんと登録できて未経験可の求人を紹介してもらえました。未経験の人こそエージェントから職務経歴書の作り方や面接の仕方のレクチャーを受けた方がずっとうまくいくと思います。

ワークポートは全国の求人を扱っているので地方在住の方もご利用いただけます。

人脈がなくてもフリーランスになれる!

フリーランスになりたい方にはフォスターフリーランスがおすすめです。人脈がなくてもフォスターフリーランスに登録するだけで案件を紹介してもらえます。案件の希望(どんな技術を使っているか、残業が少ないこと)等も聞いてくれるので、やりたい仕事が出来ます。対象地域は東京、神奈川、千葉、埼玉です。

「派遣社員」なら正社員とフリーランスのいいどこ取り!

フリーランスになりたいけど、確定申告とかめんどくさいなという方には派遣社員がおすすめです。

派遣ってネガティブなイメージありますが、ITエンジニアの派遣社員ならやりたい仕事を選べて、給料も悪くないですし、確定申告や年金、健康保険も派遣会社が入ってくれるのでいいと思います。

私の先輩でフリーランスになった後、派遣社員になった人がいるんですが「自由かつ煩わしい手続きがなくて最高」って言ってました!パーソルテクノロジースタッフに登録するだけでかんたんに派遣社員になれます。

私(やまろう)への相談メールも募集中

転職や仕事術、勉強法等について質問や相談がありましたら、以下のメールフォームからぜひご連絡ください。
経験者ならかんたんに解決できる相談って多いのでお気軽にどうぞ!こう書いてもなかなかメールくれる人って少ないのでホント気軽にメールしてくれると嬉しいです。

メールアドレス (必須)

相談内容

たまに間違ったメールアドレスを入力されていて返信できない場合があります。一週間経っても返信がない場合、メールアドレスを確認の上、再度送信をお願いします。

 - 技術 ,