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

 以前にある雑誌を読んでいて気付いた事があるがゲームプログラマになるには結構敷居が高いというイメージがあるという事だ。
はっきり言ってそんなに敷居は高くない。大手であっても中堅であっても学歴はそんなに必要ない※1
当たり前だが学歴があるからと言って期待通りのゲームが作れるかと言うとそうでもない。ただしゲームプログラマと言っても色々な種類がある。その種類の中には学歴というか大学の高等数学等がとても重要になる部分もあるので一概に学歴がなくても良いという事でもない。
仁丹(管理人)がしている仕事はゲーム制作と言うよりもミドルウェア側になるので創造性よりもプログラムセンス※2が必要だ。どっちかって言うと結構難しい数式等と睨めっこする事が多い分野だ※3
それでそのゲームプログラマの種類だがは以下の様に分類される。(名前は仁丹が勝手に付けた)
  • ゲームエンジンプログラマ
  • ゲーム支援用ツールプログラマ
  • ゲーム開発プログラマ
 一般的にゲームプログラマと言ったらゲーム開発プログラマになるだろう。
これはゲームエンジンプログラマが作成したエンジンを使用してゲームを組み立てていくプログラマである。ようはゲーム本体になる部分を担当するプログラマである。
一方、ゲームエンジンプログラマとはゲーム開発プログラマが使用するためのライブラリの構築等を担当する。
ゲームのパフォーマンスが非常に左右される部分である。最近はゲーム業界でも広まってきているミドルウェアに相当する部分でもある。
それともう一つのプログラマはツールプログラマである。
絵描きやさん(グラフィック担当)や音やさん(サウンド担当)が使用するゲームのリソース作成用ツール作成を担当します。
 以上がゲームプログラマの種類についてだが今の時代ゲームエンジンプログラマはそんなに需要が有る訳ではない。
それは何故かと言うとミドルウェアが普及して来たからだ。ミドルウェアを使用すれば難しい数式など覚えなくても、API を呼び出すだけで簡単に出来てしまう。ようはどの API を使えば要求している処理が出来るかさえ分かればそれでいいのである。
その典型的な例がコンシューマではないがパソコンで使用される DirectX である。
これには便利な API が非常に沢山あり、どれを使うか迷うぐらいである。とは言ってもよく使われるのはその中の数種類のみだが、その組み合わせさえ知っていれば難なくゲームは完成してしまうのである。
コンシューマ業界で言うと有名どころではサウンドエンジンである CRI 社の ADX と言うサウンドミドルウェアが非常に有名だが、これのおかげでサウンドプログラマの仕事は無くなってしまうぐらい強力だ。
 用はこれだけ強力なミドルウェアがあると細かい仕事はミドルウェアに任せてゲームシステムに力を入れようという事だ。
なので企業が必要とするのはミドルウェアに付属しているドキュメントを読んでそれを使いこなせる人材の方を必要としているのだ。
まぁこれだけ言ったけれども深い部分を知っているにこした事はない。
ミドルウェアがバグなしの完璧な世界ならばいざ知らず人が作ったものなのでバグは存在するはずだがそう言った場合に深い部分を知っているとミドルウェアのバグを発見出来るかもしれない。
 とりあえずゲームプログラマになりたいなら最低限他人の C/C++ のソースが読めて流れが把握出来る事と自分の意志をしっかり持つ事※4と基礎知識がある事が大切である。
※1 全てがそうとも言い切れないが…。仁丹本人の最終学歴が高校の普通科である。
※2 だからと言って仁丹に天才的なプログラムセンスが有る訳ではない
※3 胃に穴が開きそうな程のプレッシャーの中で必死に食らい付いている。もうダメポって思う日も多々ある。
※4 企画やさんの言う通りに全て進めていくと人によっては言ってくる事が全く変わってしまう事があるので NO と言える必要がある。