ゲームプログラマという仕事は、理系の人に向いてるのでしょうか? 数学とか得意でなければダメなんですか?
趣味レベルでゲーム専用の言語を使ってゲームプログラミングをするのであれば、特に理系的な素養がなくても問題ないと思いますが、職業としてゲームプログラミングをしていくのであれば、やはり理系的な素養が必要になってくると思います。
プログラミングというものは、基本的に論理的なものですので、物事を論理立てて考えていく理系的な思考が必須となってきます。たとえば、プレイヤーの生まれた月を入力してもらうプログラムを作る場合なら、月の入力欄に1~12までの数字が入力された場合、13以上が入力された場合、0が入力された場合、-1以下が入力された場合、アラビア数字以外の文字が入力された場合、何も入力されなかった場合などがあることをすぐに判断できなければならないわけです。
加えて、ゲームプログラミングでは画面や音楽を操作したり、人工知能を使ったりしますので、三角関数や行列演算、集合理論、確立統計といった数学的な知識が必要とされます。
具体例を挙げれば、シューティングゲームなどで誘導弾を実現するとき、自機から見た敵機の位置を判別するのには三角関数が必要になったりします。また、10年以上前に家庭用ゲームとして発売されたピンボールゲームでは、ピンボールの玉に空気が及ぼす抵抗まで考慮した物理計算が行われていたことがありました。
ゲーム業界というものは、常に新しい仕掛け、新しいハードウェアに挑戦していくことが要求される業界となっていますので、そのような業界でプログラマとして働きたいのであれば、やはり理系的な素養は必須と言えると思います。
とはいえ、数学が得意だから優れたプログラマになれる、というものでもありませんので、自分がプログラマに向いているのか、はっきりと分からないようでしたら、まずはプログラムを組んでみるのが一番だと思います。
いきなりC言語のようなコンパイラ言語(プログラムができる環境を作るのに手間やお金がかかりがちで、人間に理解できる言語で書かれたプログラムを機械に理解できる言語に変換しないと実行できない言語)を使うのは難しい、と思えるようであれば、BASICやゲーム向きの機能が実装されているフリーのプログラム言語のようなインタプリタ言語(プログラムができる環境を作るのに手間やお金がさほどかからず、書いたプログラムをすぐに実行できる言語)からいじってみて、プログラムの面白さを体験してみると良いでしょう。
2008年08月更新