ゲームプログラミング
プログラミング言語
ゲーム内のキャラクターの挙動や、ゲームの流れを制御するためのロジックは基本的にはプログラマが全て記述しなければならない。そのために必要となるものがプログラミング言語である。言語は基本的に何を選択しても問題ないが、ある程度のトレンドはある。かつてコンピュータの処理速度が著しく遅かった時期においては、処理速度を優先させるべくアセンブリ言語が使用されるか、もしくは極めて平易なBASICが使用されるのが一般的だった。少し後になると、習得が容易かつ精密なメモリ管理が可能なC言語も選択肢に入った。携帯型端末ですら一昔前のデスクトップ型コンピュータに比肩する程の処理性能を有する様になり、ゲームの大規模化も進んだため、処理速度よりも生産性が重視されてC++やC#、Javaなども選択肢に加わっている。特に、C++は様々なOSで使用できることから、ゲーム開発に広く普及している。また、Windowsが搭載されたPCにおいてはVisual Basicが選ばれることもあるほか、インターネット関連技術の発達に伴ってPHPなどのスクリプト言語も利用されるようになった。他にも、Windows用のGUIプログラムを手軽に作成できるフリーの言語HSPなどが利用されることもある。動作速度とプログラムの容易さから、Luaもゲームプログラミングに多く用いられている。
API
プログラミング言語の中には、言語単体では入出力処理をサポートしないものもある。例えば、C言語は標準ライブラリやUNIXのシステムコールを無くしては画面に文字を出力することすらできない。つまり、記述したロジックを出力装置に渡したり、逆に入力機器からデータを受け取るといった仕組みが何らかの形で必要になってくることがあるという事である。それがAPIである。ゲームに特化したAPIとして有名なものにマイクロソフトのDirectXがある。ゲームに特化している訳ではないものの、3DグラフィックスをサポートするOpenGLもよく利用される。その他、OSやコンソールゲーム機固有の仕様に従ってゲームを組み立てていくことになる。