ゲームプログラマーは何故難しいといわれるのか?
初めまして。プログラマーの川本です。
ちなみに代表もしております
前回はにわとりさんがプランナーを目指す方へのブログを書いてくれました。
なので今回は『ゲームプログラマーが何故難しいといわれるのか?』という学生向けの記事を書いていこうと思います。
ゲームプログラマーは本当に難しいの?
難しいといわれているゲームプログラマーですが、確かに学生にとっては難しいと思います。
何故なら最低でも以下の様に多岐に渡る知識が必要だからです。
- 一般教養(高校レベル程度)
- 数学/物理(ゲームを動かす知識に三角関数や内積外積などが必要)
- 英語(プログラム文書は英語が多いので読み書きの苦手意識がない程度)
- プログラム技術
- C++やC#での基本的なプログラミング技術
- ハードウェア知識、画像処理技術、通信技術、サウンド処理技術など(各知識の基礎程度は必要)
全てを完璧にする必要はないのですが、最低限の基礎は必要になります。
その中で多くの学生にとっての主な問題は以下かと思います。
数年でプログラムを覚えるのすら大変なのに様々な知識が重なってくる
つまりこの辺りの学習にかかるコストが大きいことが難しいと言われる理由です。
プログラムの学習コストについて
プログラムの学習コストは比較的に高いとされています。
とあるサイトでエンジニアとして就職するための学習時間を以下と記載しています。
- プログラム学習時間
- 2700~7000時間
2700時間としても1年間(365日)毎日7時間以上の学習が必要です。
数年で学ぶとしても以下の時間がかかります。
- 1年
- 1日7時間(休みなくこの勉強時間を作るのはかなり難しいです)
- 2年
- 1日4時間(まだ可能性はありそうです)
- 3年
- 1日2時間半(この辺りは現実的ですね)
では7000時間ではどうなるでしょう?
- 1年
- 1日19時間(もう無理です…)
- 2年
- 1日9時間半(休みなくこれも難しいです)
- 3年
- 1日6時間半(やっと可能性が…)
使用する言語や個人による差もありますがこれだけの時間がかかってしまいます。
※これでも業務を始めるための基本的な知識を得るまでの時間です
その為、2年制の専門学校などではプログラム漬けの毎日になります。
これに加えてゲームプログラマーには他の知識も必要だったことを覚えていますでしょうか?
- ハードウェア知識、画像処理技術、通信技術、サウンド処理技術(各知識の基礎程度は必要)
ここまでを読んで頂ければゲームプログラマーが難しいと言われる理由が分かるかと思います。
ただ余裕のある企業であれば入社後もある程度の期間を教育してくれます。
その為、例えばプログラム以外の能力(知識)が高いからプログラム部分は後からでも育てる。
又はその反対も可能性としてあり得ます。
※3ヵ月教育しても8時間 x 20日 x 3ヵ月 で500時間弱なので残り500時間程度のレベルまでは必要です
IT業界のプログラマーなら簡単なのか?
前項でゲームプログラマーが難しいと書きました。
では他のIT業界と比べたらどうなのか?という疑問も出てくるかと思います。
これは正直なところ大差ありません。
ただIT業界は窓口が広いので少ない知識や技術でもできる仕事もあります。
これがIT業界の方が簡単だと言われる所以です。
例えばプログラムを外国語に例えてみると分かりやすくなります。
プログラムを外国語に例えると?
- 英語を話せる日本人
皆さんの中で英語を話せる方はいるでしょうか?
もし英語を話せると知ったら凄いと思う方が多いのではないでしょうか?
仕事も出来そうで自分より凄い人だと思いますよね?
※私はそう思います
何故凄いと思うか?というと英語を習得する努力と行動力に対してかと思います。
- 日本語を話せる外国人
では同じように日本語を話せる海外の方はどうでしょうか?
恐らく同じように凄いと思うかと思います。
ただその人がコンビニで働いていたらどうでしょうか?
凄いとは思うけど、日本語を話せるだけで『仕事ができる人』と=にはならないかと思います。
何故かというと自分たちが日本語を話せているからです。
更に言えば日本語を話せただけで仕事ができるほど世の中は甘くないと分かっているからです。
- 英語を話せる海外にいる日本人
では先ほどの日本人の話に戻しましょう。
英語を話せるのですが、その方が海外に住んでいるとしたらどうでしょうか?
みんな英語を話せることが当たり前でそれ自身になんの付加価値も付きませんよね?
これらはプログラムにも同じことが言えてしまいます。
プログラマーの仕事について
プログラマーと呼ばれる仕事は様々なものがあります。
その中で利用する言語も様々ですが、どれを取っても同じことが1つあります。
- プログラムを扱えること
つまりプログラム学習は働くための言葉を覚えたに過ぎないという事です。
その中でゲームプログラマーに求められるモノは言語を扱ってどんな事ができるのか?といった所になります。
又、言語ですので日本語や英語と同じく綺麗な文章を書く技術も必要になります。
日本語が話せても敬語が使えなければ普通の仕事はできませんよね?
ではIT業界は敬語が使えなくても仕事できるの?といった話になりますが、そういう訳ではありません。
先ほど海外の方がコンビニで働いていたらという例を挙げましたが、似たようなことがIT業界にもあります。
言葉(プログラム言語)が話せるだけで任せられる仕事もあるということです。
IT業界にはそういった仕事もあるので比較的に簡単な業界だと思われています。
しかし、そちらの業界にも各分野の第一線でゲーム開発と同等かそれ以上の技術を有している方々が沢山います。
そしてそのレベルに達するためには言葉を習得するだけでは絶対に追いつけません。
上がっていくには常に勉強が必要になっていくという事です。
なのでIT業界は簡単なのではなく窓口が広いだけというのが今回の答えです。
まとめ
今回の話をまとめますとゲームプログラマーになるための敷居は確かに高いです。
- 学習コストの高さ
- プログラム以外の知識の多さ
ただ少なくともゲームプログラマーを目指して勉強した内容が無駄になる事はありません。
万が一ゲームプログラマーになれなくても様々な場所で有用な知識となります。
なのでもしも興味がある方は諦めずに熱意をもって頑張ってみて下さい!
余談
余談ですが、プログラム言語は世の中に様々なものがあります。
これらは多くがC言語というものをベースとして作られています。
なのでどの言語を勉強してもある程度共通の知識として使うことが出来ます。
特にゲームでよく使われるC++はどの言語にも通じる部分があるので難しい分だけ学習する意義があります!