.net column

.NET開発者のためのブログメディア

ゲームプログラマーになるには?覚えておきたい言語や覚えておきたい勉強法5つ

2020年05月08日

SE
ゲームプログラマーになるためには、どのプログラミング言語を身に付ける必要があるのでしょうか。

PM
C#、C++、Unity、JavaScript、Ruby、Swiftの6つが必要です。

ゲームプログラマーになるには

ゲームプログラマーはその名の通り、クリエイターが生み出したゲームが実際に動くようにプログラムを組む仕事になります。しかし、実際はゲームのシステムに関するプログラマーや、ゲームのエンジン開発のプログラマーなど、ゲームに関わる多種多様な分野にそれぞれのプログラマーがいます。現在はそのすべてが、ゲームプログラマーと呼ばれています。そうした多種多様なゲームプログラマーがチームを組んで、ゲーム制作の仕事を進めます。

ゲームプログラマーになるには覚えておきたい言語

様々なプログラミング言語がある中で、ゲームプログラマーがゲーム制作するにあたってよく使用するプログラミング言語があります。その言語がC#、C++、Unity、Java、JavaScript、Python、PHP、Ruby、Perl、Swiftの10個になります。ゲームの種類によって、使われる言語が違ってきますが、この10個についてはゲームプログラマーとして知っておきたいプログラミング言語です。Unityは、ゲーム制作エンジンというものになりますが、含めて紹介したいと思います。

C#

C#はプログラム言語として、歴史が長いオブジェクト指向言語になります。コンシューマーゲームやPCゲーム、スマホアプリなどに利用できる言語で、Unityというゲームエンジンとの併用でゲーム開発ができます。複雑なプログラムを安定した状態で作成できるからこそ、ゲームプログラマーにとっても難解な言葉になります。しかし、Unityとセットで使うという点からも、C#は活用範囲が広い言語でしょう。

C++

C++は、C言語を拡張してより高度な動きが可能になるよう作られた言語で、Borland C++、Visual C++などいくつかの種類があります。コンピューターが理解しやすい言語である分、非常に難しい言語になります。しかし、スマホアプリ(Android / iOS)、PCゲーム、コンシューマーゲームなど広範囲に利用できるため、ゲームプログラマーには重要なプログラミング言語といえます。この言語を使いこなせると対応できるゲームがぐっと増えるでしょう。

Unity

Unityは、正確にはプログラミング言語ではなく、あらゆる端末に対応できるゲームエンジンでゲームを制作するための統合開発環境になります。Unityのエンジン自体はC言語、C++で書かれています。細かな設定をする際には、「Unity用JavaScript」「C#」「Boo」という言語が対応します。また、3Dゲーム開発に「C」「C++」が必要不可欠でしたが、この二つの言語を利用せずに開発も可能になりました。Unityは、現在のゲーム制作には必要不可欠なものでしょう。

Java

Javaはプログラミング言語の中でも汎用性が高く、多くの企業が採用しています。コンピューターやOSの種類を選ばず、どんな環境でも問題なくプログラムを動かせるので、Androidのスマートフォン用アプリの開発などに多く使われています。また、Java以降のプログラミング言語はJavaに影響を受けているものが多いため、習得しておけば他の言語を学ぶ時に応用も利きます。ゲームプログラマーになるには押さえておきたい言語のひとつです。

JavaScript

Webページ上でよく使われているスクリプト言語として有名なJavaScriptは、スマホアプリやブラウザゲームに利用されています。また、チャットなどにも利用されているため、ゲームに必要不可欠なプログラミング言語でゲームプログラマーにとって重要なものです。注意すべきは、Javaとはまったく違う言語であるということです。Webを主軸にして活躍する言語がJavaScriptになります。

Python

Pythonはわかりやすさと読みやすさを重視しており、初心者にもわかりやすい言語です。汎用性も高いため、様々なアプリケーションやシステム管理ツールなどに使用されています。C言語に比べると速度や処理能力は劣りますが、その使いやすさから様々なWebサービスに使われています。AIや機械学習の分野でもPythonが使われることが多いため、ゲームプログラマーになるには覚えておいて損はない言語でしょう。

PHP

PHPはWebのプログラムを作ることに特化した言語で、HTMLに埋め込むことで簡単にWebページに動きをつけることが可能です。そして、比較的わかりやすいので初心者でも始めやすく、理解しやすい言語です。また、他の言語に比べて動作を確認する作業が簡単にできるようになるのが特徴です。近年では、多くのWebページがPHPでできているため、Web系ゲームのプログラマーになるには必要な言語でしょう。

Ruby

Rubyは、日本人のまつもとひろゆき氏がつくったプログラミング言語です。初学者でも比較的理解しやすい言語であると言われていますが、ゲームに利用する際には本格的なプログラミングが必要となり、初学者にはかなり難しい内容となります。Rubyは、スマホに対応するのが難しいとされているものの、RubyMotionを利用することでブラウザゲームのサーバサイドやスマホアプリに対応できます。将来性も高い言語です。

Perl

PerlはPHPと並びプログラマーに幅広く知られる言語で、1987年にラリー・ウォール氏に開発されてから30年以上使用されているという長い歴史を持ち、Webアプリケーションの開発者になるにはPerl、と言われるほどでした。現在はそのわかりやすさから圧倒的にPHPが使われています。しかし、既存のアプリケーションなどではPerlが使用されているものが多いので、それを処理する側になるにはこの言語が必要な場合も多いでしょう。既に存在するアプリケーションのゲームプログラマーになるには必要なスキルと言えます。

Swift

様々なApple社の製品向けのアプリを開発可能な言語で、プログラムしたものをすぐに動作確認ができたり、プログラマーのミスが起こりにくい構造であったり、プログラマーが読みやすく書きやすい言語になっています。Swiftが登場した時に、この言語を利用して話題になった「フラッパービート」というゲームでも有名です。Swiftを学ぶことで、PCゲームやスマホアプリのゲームを作成できるようになります。

ゲームの種類

ゲームプログラマーは、実際には先に紹介したプログラミング言語を利用して、ゲームを動かしたり、同じゲームの対戦者とゲーム上でいろいろやり取りしたりできるよう機械に分かり易く指示を出していかなくてはなりません。そんなプログラミング言語で作成するゲームとは、どんな種類があるのでしょうか。実際にプログラミング言語で作成するゲームには、ソーシャルゲーム、スマホアプリ、PC、コンシューマーゲーム、VR、ブラウザゲームという6種類がありますので、紹介したいと思います。

ソーシャルゲーム

ソーシャルゲームとはプラットフォームがSNS上にあり、FacebookやLINEなどを通して、SNS上の友達と協力して進めていくゲームです。ゲームアプリとよく似ていますが、ソーシャルゲームで遊べるようになるにはSNSにアカウント登録が必要です。その特徴から、個人で遊ぶというよりもユーザー同士で競い合ったり、協力しながら遊ぶ要素の強いゲームと言えます。大手SNSがどんどん参入しているので将来性が高く、ゲームプログラマーになるには、気にかけておくべき市場と言えるでしょう。

スマホアプリ

スマホアプリは、スマートフォン上で起動するアプリのゲームでAndroid用とiPhoneのiOS用に作られています。スマホゲームでは、単独でするゲームもありますが、ソーシャルゲームが主流になっているため、オンラインを前提としたアプリの開発が主流になっています。ゲームプログラマーのニーズが高い分野になっており、手軽に楽しめるスマホアプリは多くのユーザーに必要とされているでしょう。これからも需要の伸びが期待されます。

PC

ゲーム機を購入しなくても本格的なゲームを楽しむことが可能なPCゲームは、Windows向けのものが主で、ほぼオンライン接続が前提となっています。制作環境以外にはライセンスが必要ないため、ゲーム制作の同人会などにも利用されています。個人でもゲームを作れる分野になっています。現在は、サイト上で様々なゲーム製作のWebページがあるため、初学者でゲームプログラマーを目指す人には、プログラミング言語に触れられる場所になります。

コンシューマーゲーム

市販されている家庭用ゲーム機でプレイすることを前提にしているコンピューターゲームになります。WiiやPlayStationなどが代表的なゲーム機になります。コンシューマーゲームでは、C++がよく使われる言語になります。ハイクオリティーなゲーム製作に関われる現場になり、ゲームプログラマーとしてはやりがいがある現場になります。また、最近はオンラインでゲームを楽しめるものも増えており、これからの進展も興味深い分野でしょう。

VR

VRゲームは圧倒的臨場感を楽しめるゲームで、3D空間が出現するゲームです。UnityかUnreal Engineのどちらを利用するかで、プログラミング言語が違います。UnityであればC++が主に使う言語となります。2016年がVR元年と言われているだけあって、ゲームプログラマーとしてはこれから開かれる分野であることは確かでしょう。スマホでVRゲームが可能になって5Gも始まり、ますます需要の伸びが期待できます。

ブラウザゲーム

ブラウザゲームとは、インターネットに接続しているだけでゲームが可能なものになります。つまり「Internet Explorer」や「Google Chrome」といったブラウザを通してゲームが可能です。このゲームでよく利用されている言語がC++、C#、JavaScriptなどになります。ブラウザ上であることから派手な演出などはできないゲームですが、初めてゲームに触れるユーザーには手軽にスタートできるという利点があります。

自分のやりたい言語・ゲームを選択しよう

目まぐるしい進歩と変化を見せるゲーム業界のゲームプログラマーになるにあたって重要なことは、自分が作りたいゲームに合わせて学ぶ言語を選ぶ、ということです。コンシューマーゲーム、スマホアプリとなると、よく使うプログラミング言語が違ってきます。自分の手掛けたいゲームにあった言語を徹底的に極めることが強みになります。ひとつの言語を確実にすると、他の言語を学ぶ際に習得しやすい状態になると言われているので、まずは武器となる言語を確実にするのが理想でしょう。

ゲームプログラマーになるには覚えておきたい勉強法5つ

ゲームプログラマーになるための方法は、大きく分けて5つあります。現在の年齢や、どのような仕事をしているかによって違ってくる面はありますが、ゲームプログラマーになるためには、この5つの選択肢が一般的ですので紹介していきます。

覚えておきたい勉強法1:業務から学ぶ

業務から学ぶ、となるとすでにゲーム制作会社に就職しているのであれば業務を通してゲームプログラマーとしてプログラミング技術の向上に努める、という方法になります。しかし、まったく違う分野でプログラマーとして仕事をしているのであれば、業務から得た知識や技術を活かして、さらにゲームプログラマーとして必要な言語を学ぶという方法になります。自分の手掛けたいゲームに必要な言語を使いこなせるようになりましょう。

覚えておきたい勉強法2:独学(書籍・Webサイトなど)

ゲームプログラマーになるには、スクールなどに通学するのが近道ではあるものの、独学でもゲームに必要なプログラミング言語について無料で学べるサイトや良書が多くあるため独学で学ぶことも可能でしょう。2020年度より初等教育でもプログラミング教育が始まることを受けて、プログラムとは何か、というプログラムの初歩の初歩を学べるHPや、まったくの初学者でもその知識度に応じて学べるサイトや書籍があります。

文部科学省

覚えておきたい勉強法3:セミナーに行く

ゲームプログラマーになるために必要な言語を学ぶ場は、Webサイトや書籍だけではありません。プログラミングを学びたい人を対象に様々なセミナーが開催されており、技術者が主催しているセミナー、初学者のうちから専門のプログラミング言語を学べるもの、身につけた技術をさらにブラッシュアップしたい人向けのものまで様々なセミナーが開催されています。期間や料金、対象者もそれぞれのセミナーで公開されているので安心して参加することが可能でしょう。

覚えておきたい勉強法4:就職に有利な資格を取る

ゲームプログラマーになるには特に資格は必要ありませんが、取っておけば就職に有利になるものがいくつかあります。まずは、経済産業省が認定する国家試験である情報処理技術者試験です。この中の基本情報技術者試験は、高度なIT人材になるために必要な基本的知識や技能を持って、実践的な活用能力を持つ人を対象としているので、就職が有利になるには必要な資格でしょう。他にも言語によって様々な資格があります。また、ゲームプログラマーになるには英語力が必要になる場合があるので、TOEICなどの語学資格もあると有利になるでしょう。海外に拠点を置く大手企業のゲームプログラマーになるには必須スキルと言えます。

情報処理技術者試験 (METI/経済産業省)

覚えておきたい勉強法5:大学や専門学校で学ぶ

ゲームプログラマーになるには学歴があまり重要ではなく、実力を評価される業界ですが、就職が有利になるには大学や専門学校で専門的な知識を学ぶことがひとつの方法です。大学や専門学校へ通うことで、ゲームプログラマーになるために必要な多くのことを習得できるでしょう。また、社会人向けに仕事の合間や休日に学習できる専門学校などもあるため、仕事をしながらゲームプログラマーになる前に覚えておきたい技術を身につけられます。

ゲームプログラマーの仕事について知っておきたいこと4つ

ゲームプログラマーになるには、その仕事について知っておきたいことが4つあります。ゲームプログラマーになるにはゲームが好きという気持ちが大切ですが、スムーズに仕事を進められるようになるには、ゲームプログラマーの仕事について知っておくことも必要です。実際に働いてから理想と現実のギャップに悩まないように、よく調べておきましょう。

知っておきたいこと1:年収

ゲームプログラマーの年収は、平均で300万から500万になります。20代から50代までの調査結果で、年齢が高くなるほど高額になっており、また正規雇用で1000人以上の大きな企業ほど収入は高くなっています。注目すべきは、使いこなせるプログラミング言語によっても、年収が変わっているという点です。時代のニーズによって収入が変わっています。フリーランスでは年収が高額な場合もありますが、高度な技術と営業力が必要です。

賃金構造基本統計調査 平成30年賃金構造基本統計調査 一般労働者 職種 | ファイル | 統計データを探す | 政府統計の総合窓口

知っておきたいこと2:専門性が求められる

ゲームプログラマーになるにはプログラミング言語など、ゲームを構築するにあたっての専門的知識が重要になってきます。これは、ゲーム上にシステムやキャラクター、サウンドなどを組み立てていき、想定通りの動きをつけるためです。世界中でプレイされているような人気ゲームになるには、ゲームの世界観や魅力的なキャラクターだけではなく、この操作性も大切になってきます。また、ゲームのバグを出さないためにも正確なプログラミング能力が求められ、ゲームプログラマーになるには正確で専門的な知識も求められます。

知っておきたいこと3:プログラミングがゲームのクオリティを決める

ゲームプログラマーになるには専門的知識が必要ですが、その他に正確性も求められます。どんなにおもしろいゲームでも、どんなに画像や音楽が素晴らしくても、バグや不具合が多くてはユーザーが楽しんでプレイできません。ゲームプログラマーの腕がゲームのクオリティを大きく左右します。つまり、レベルの高い作品になるにはレベルの高いプログラミング技術が必要です。腕のいいゲームプログラマーになるには常にクオリティを意識しましょう。

知っておきたいこと4:仕事時間

ゲームプログラマーになるには仕事時間も気になるでしょう。過酷でブラックなイメージがゲーム業界にはあるかもしれません。しかし、近年では職場環境の改善が進みつつあります。週休はだいたい2日で、勤務時間も残業が多少あるものの、9時~18時や10時~19時などの労働時間が多いようです。しかし、納期が近づくと一気に忙しくなるため、定時では帰れなかったり休日出勤などの可能性もあるため、ゲームプログラマーになるには肝に銘じておく必要があるでしょう。

SE
ゲームプログラマーになるためには、まずは作りたいゲームを明確にすることが大切なのですね。

PM
そうですね。まずは自分の作りたいものから始めて、ほかのスキルも身に付けていくのもおすすめです。

ゲームプログラマーになるための道筋をはっきりさせよう

ゲームプログラマーになるには、ゲームの制作会社で働く他にフリーランスという道もあります。しかし、未経験からフリーランスになるにはなかなか難しいのが現状ですので、フリーランスとして稼げるようになるには、まずはゲーム会社で経験を積むことをおすすめします。そのうえで、フリーランスとして活躍したいのか、ゲーム会社でスキルアップしながらゲームディレクターなどを目指していくのか、進むべき道筋を明白にさせておきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)