未経験からゲームプログラマーになるには?必要な能力や資格も説明
コンシューマーゲームやソーシャルゲームが好きで、それらに携わる「ゲームプログラマーの仕事に就きたい!」とお考えの方も多いのではないでしょうか?
しかし、「ゲームプログラマーを目指したいけど、未経験からで大丈夫なのだろうか……」と不安に感じる方もいらっしゃるかと思います。
そこで今回は、未経験からゲームプログラマーを目指すために必要なスキルや言語、気になる学歴や職歴などをふまえて詳しくご紹介します。
目次
1. 未経験からゲームプログラマーになるには
「ゲームが大好きでゲーム業界での仕事に携わりたい!」と思っていても、未経験から目指すとなると、少しハードルが高いと感じている方も多いでしょう。
とくにゲームプログラマーは専門的な知識やスキルが必要となる職種です。
まずは、ゲーム業界やプログラムに対する知識を身につけることが重要です。
ここでは、専門の学校で勉強するか、独学で勉強するかの2つの方法をご紹介します。
1-1. 専門学校・スクールで勉強する
プログラマーとして就職する場合、ある程度のプログラムに関する知識やスキルが必須となります。
そこで専門学校やスクールに通い、知識とスキルを身につける方法があります。
専門学校に通う時間的な余裕がない場合でも、社会人を対象とした平日夜間や週末に開校しているスクールもあるため、自分の時間をうまく調節することで専門知識を身につける機会を得られます。
また近年では、オンライン上で講義を受けられるオンラインスクールも増えています。
インターネット環境があれば自分の都合のよい時間に講義を受けることができるため、社会人の方は現在の仕事と並行して学習できるでしょう。
1-2. 独学で勉強する
専門学校やスクールに通う以外にも、独学で勉強する方法があります。
専門の書籍などを購入し、ゲームプログラムについて全体的に理解を深めていきましょう。
自宅では集中できないという方は、カフェや図書館、有料のコワーキングスペースなどを使って勉強するとよいでしょう。
また上記で説明したオンラインスクールも、独学の範囲内といえるでしょう。
1から自分で勉強するにはかなりの精神的な負担がかかるでしょうが、熱意をもって取り組むことでゲームプログラマーとしての夢の実現が近づくはずです。
2. ゲームプログラマーの仕事内容と求められるスキル
続いて、ゲームプログラマーの仕事内容や、求められるスキルについてご説明します。
2-1.仕事内容
ゲームプログラマーとは、ゲームがうまく動作するようにプログラミングを行う職種です。
プロデューサーやディレクター、ゲームプランナーが考えた仕様書や、デザイナーが起こしたデザインをもとにゲームプログラマーがプログラムを構築します。
もちろん完成後のゲームの姿をイメージできるよう、クリエイティブなセンスも求められます。
プログラマーが組んだプログラムは、デバッガー(ゲームテスター)と呼ばれるチームによって動作のバグなどがないかチェックし、問題が見つかれば該当箇所のプログラムを修正する、という流れを取ります。
これらの流れを踏まえて1本のゲームが完成するのです。
2-2. 求められるスキル
ゲームプログラマーには専門知識やプログラミングへの知識が必要ですが、求められるスキルはそれだけではありません。
日々新しいシステムや技術が開発されるため、常に勉強をし続ける姿勢が必要です。
また、納期直前には残業が多くなるケースもあるため、体力や精神面の強さも欠かせません。
さらに1本のゲームを作成しているということを忘れずに、チームワークを意識した仕事を心がける必要があります。
プログラミング自体は個人作業ですが、ディレクターやデザイナーなどクリエイティブな職種のメンバーとうまく連携し、ゲームの完成を目指さなくてはならないため、適度なコミュニケーション能力とチームワークが求められるのです。
ゲームの企画内容が実際に実現可能かどうかの判断についても、企画段階でディレクターなどに提案する場合があります。
この際にもプログラミングだけにとどまらないコミュニケーション能力が必要になるでしょう。
3. ゲームプログラマー未経験者のプラットフォーム別採用市場
ゲーム開発といっても、現在では複数の種類があります。
ゲームプログラマー未経験の場合、どのようなプラットフォームを目指せばよいのでしょうか?
ソーシャル系・コンシューマー系・アーケード系の3つを例に、目指す上での難易度や必要な適正などをまとめました。
3-1. ソーシャル系
スマートフォンやタブレット端末を使い、どこでも気軽にプレイできるソーシャルゲーム。
制作の場は求人数が多いこともあり、プログラミングの基礎知識と熱意があれば、未経験でも採用される可能性が高まるといえるでしょう。
派遣社員やアルバイトとしての採用も広く行われており、未経験からスタートしやすいのも特徴です。
またスクールや独学で勉強して作成したアプリなどがあれば、かなりのアピールポイントとなります。
3-2. コンシューマー系
家庭用ゲームなどに代表されるコンシューマー系のゲーム。
開発には高い技術力が必要とされるため、プログラマーとして未経験からの転職を目指すには、ややハードルが高いといえます。
コンシューマー系のゲームプログラマーには専門学校で学んできたり、ほかのゲーム会社で実力を磨いてきたりとゲーム制作の経験者が多くいるためです。
しかし、慢性的な人手不足もあり、中堅クラスのゲーム会社であれば未経験の求人を出していることもあります。
そのような求人を見つけた場合は、熱意とやる気を全力でアピールすることで、転職できる可能性が高まるかもしれません。
3-3. アーケード系
ゲームセンターなどに置かれた筐体でプレイするアーケード系。
コンシューマー系のゲームと同様に、高い技術力が求められます。
そのため、未経験から目指す場合はデバッガーなどの仕事から希望する会社に入り、少しずつキャリアを積んでいくという方法もよいでしょう。
もちろん中には未経験からの採用を行っている会社もあるため、他プラットフォーム同様自分で作ったプログラムやアピールは欠かせません。
4. クライアント側に有利な言語・ツール
プログラマーには何よりも技術が求められます。
そのため、CやC++言語といった基礎的な開発言語を理解しておくのは大前提です。
ここでは、クライアント(自分が働く会社)側に求められる言語やツールについてご紹介します。
4-1. 言語
クライアント側に有利な言語・ツールは以下の通りです。
・C/C++
「C++」とは汎用的なプログラミング言語であり、古くから開発の場で使われてきた「C」言語の拡張版として開発されたプログラムのことです。
開発の現場では「シープラ」などと略されることが多く、C言語と比べて効率的にプログラムを組めます。
またC言語との互換性もあるため、同時に使われることも多くあります。
・C#
「C#」とは、マイクロソフト社によるプログラミング言語で、C++と「Java」をベースに作られた言語です。
一般的には「シーシャープ」と呼ばれます。
C#はコードを書きやすく、ゲームなどのプログラミングを容易に行える点がメリットといえます。
Unityでの開発にも使用できる言語です。
・Objective-C
「Objective-C」は、アップル社製のiOSのアプリ開発に使うプログラミング言語です。
C言語をベースにしながらも、C++とは異なる体系となっています。
近年ではアップル社から「Swift」と呼ばれるプログラムが登場し、より簡単にプログラミングができるようになりましたが、しばらくはObjective-Cとの併用がメインになると考えられています。
・Java
「Java」はプログラミング言語の中でも人気が高いと言えます。
その理由は多くのOSに対して汎用的に対応でき、WindowsでもAndoridでも問題なく動作できるためです。
また、プログラムを細かく管理することができ、チーム間で作業をする際にも効率よくこなすことができるのも大きなメリットといえるでしょう。
4-2. ゲームエンジン
クライアント側に有利なゲームエンジンは以下の通りです。
・Unity
「Unity」はユニティ・テクノロジー社によるゲーム開発プラットフォームであり、3Dゲームの開発に適しています。
また、3Dゲームの開発が非常に容易であり、C言語などを使用しなくてもプログラムを行うことが可能です。
WindowsやiOSにも対応しており、ほぼすべてのOSや端末での動作に対応しています。
・Unreal Engine 4
「Unreal Engine 4」とは、歴史の長いゲームエンジンであり、2015年以降は無償で利用できるようになっています。
有名なコンシューマーゲームの開発エンジンとしても使用されているだけではなく、一般の方でも自作のゲーム開発環境として利用可能です。
3Dのゲームやアプリを開発したいと考えている方におすすめのゲームエンジンといえます。
・Cocos2d-x
「Cocos2d-x」とは、2Dのゲームに最適化されたゲームエンジンであり、人気のスマートフォンのソーシャルゲームの開発に多く利用されています。
AndroidやiOSの双方に対応しており、クロスプラットフォームでの開発ができる点がメリットです。
Unreal Engine 4と同様に、無償で利用できる点も大きなメリットといえるでしょう。
4-3. その他ゲーム開発ツール
・Visual Studio
「Visual Studio」とは、マイクロソフト社が開発した開発ツールであり、Windowsだけではなく、AndroidやiOSにも対応するなど、幅広く利用できる点が利点です。
コードエディタなど複数の機能が1つにまとまっており、効率よくゲームを開発できます。
5. サーバーサイド側に有利な言語・ツール
続いて、サーバーサイド側に有利な言語やツールをご紹介します。
5-1. 言語
・PHP
「PHP」とはスクリプト言語の一種で、HTML内に埋め込むことができるため、WEBやゲーム開発の場で多く利用されています。
・Ruby
「Ruby」とは、オブジェクト指向スクリプト言語であり、CやJavaといった言語に比べて、スムーズにプログラミングを行うことができます。
実際に書き込むコード数を抑えられるため、作業スピードが速く解読しやすいコードを書くことが可能です。
・Perl
「Perl」とは、PHPと並ぶ有名なプログラミング言語であり、誰でも自由に利用できます。
文字列を処理する機能が整っており、テキストを作成する際にも効果を発揮します。
現在では習得しやすいPHPのほうが多く使われていますが、膨大なテキスト処理のスキルを身につけたい際には、学んでおくべきプログラミング言語といえます。
・Python
「Python」とは、コード量が少なくて済み、プログラムを比較的簡単に組める点が魅力の言語です。
そのため、初心者でも習得しやすくなっています。
簡単に組める分、ソースコードを後から読みやすいのもメリットの一つ。複雑化したコードは解読ミスからトラブルの原因になりますが、Pythonならば視認性の高い効率のよいプログラムの作成が可能です。
・Go
「Go」とは、グーグル社が開発したプログラミング言語の1種で、誰でも利用でき信頼性の高い効率的なソフトウェアを開発できるとされています。
比較的軽い処理でネットワークの複雑なシステムを構築できる点がメリットです。
使い勝手のよさから人気が高く、これからプログラミング言語を学ぶ際には必要といえるでしょう。
・Java
「Java」はサーバーサイド側にも存在します。
サーバーサイドJavaは「J2EE(Java2 Platform,Enterprise Edition)」という、現在の主流といえる仕様でもあるため、信頼性や開発性の高さが魅力的です。
5-2. フレームワーク
・Django
「Django」とは、ゲーム制作などにも使用されるプログラミング言語の1つである、「Python」のフレームワークとして利用されています。
フレームワークは開発効率を高めるための機能が多く含まれており、今では開発速度の向上には欠かせないものとなっています
。Djangoを使用することで、コードを少なく作成できるメリットがあるのです。
・Ruby on Rails
「Ruby on Rails」とは、「Rudy」で作成されたアプリケーションなどの開発に使用するフレームワークです。
Rudyは柔軟性が非常に高く、世界中で支持されるプログラミング言語です。
SNSサイトの構築だけでなく、オンラインゲームなどの開発にも利用されるようになっています。
・CakePHP
「CakePHP」はWEBのフレームワークの中でも人気が高いのが特徴です。
もともとPHPはHTMLに埋め込んで使用できるため、WEB開発の現場で非常に重宝されているプログラミング言語です。
それにRuby on Railsの開発の速さを取り入れたのがCakePHPというわけです。
PHPで開発を行う際に、非常に早く操作性に優れた開発を行える点が、最大の魅力といえるでしょう。
「CakePHP」以外にも、最近は「Laravel」というフレームワークがよく利用されています。
・NodeJS
「NodeJS」は、フロント開発の主流になっているJavaScriptを使ってサーバー側でも開発できるようにするためのものです。
フロント開発と同じ要領でサーバー側の開発ができるため、非常に利便性が高いのが特徴です。
6. ゲームプログラマーに年齢や学歴、職歴は求められる?
ゲームプログラマーを目指すには、スクールや独学で上記のプログラム言語やツールを使いこなせることが条件となります。
では、それらの知識やスキルをある程度マスターしたとして、未経験からの転職は可能なのでしょうか?ケースごとに解説します。
6-1. 年齢は若いほうが有利
ゲーム業界への転職は年齢が若いほうが有利とされています。
それは若さによる今後の伸びしろを期待されるからです。未経験の新卒や第二新卒などを加えた20代と30代とでは、成長速度にも差が出てきます。
また30代となると中堅社員としての活躍も期待されるため、まったくの未経験から経歴をスタートさせるには難しい側面があります。
ただし既に30代以上だからといって、必ずしも転職ができないということはありません。
6-2. 学歴よりも職歴
ゲーム業界では学歴よりも職歴のほうを重視する傾向にあります。
転職サイトなどを見ても、「学歴不問」と書かれた求人が多くあることがわかるでしょう。
たとえ異業種であっても社会人としての経験をアピールすることで、常識やコミュニケーション能力のある人物であると会社に理解してもらうことが重要です。
未経験者の場合は、自分でアプリやゲームを作成してみるなど、入社後の職務に役立ちそうなスキルを提示できるとよいでしょう。
6-3. ゲームプログラマーになるのに有利な職歴は存在
業界未経験であっても、これまでにWEBエンジニアとしてのプログラミングの経験があれば歓迎されることもあります。
WEBで培った知識やスキルは、ゲームの開発でも生かせる場合が多くあるためです。
職務経歴をまとめて上手にアピールすることで、採用される可能性がグッと高まります。
7. まとめ
未経験からゲームプログラマーへの転職を目指すには、スクールや独学で知識をつける必要があります。
専門用語が多く、一筋縄ではいかないでしょうが、少しでも知識とスキルを身につけて書類選考や面接時にアピールすることが重要です。
転職するには年齢が若いほど有利になる現実はあるものの、職務経歴や異業種のWEB関連での経験があれば、大きな武器となるでしょう。
ゲーム業界経験者が転職するなら
GAME CREATORSを運営しているリンクトブレインでは、ゲーム業界に特化した転職エージェントサービスを提供しています。
ゲーム業界に精通したコンサルタントが、非公開求人を含む3,400件以上の求人の中から、あなたの希望や適正にあった最適な求人をご紹介します。
あなたの転職活動を成功に導くためにサポートいたしますのでお気軽に登録してください!