ゲームプログラミング

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

ゲームプログラミング: Game programming)とは、ゲーム開発コンピュータゲーム制作)を最終目的としたプログラミング開発のことである。

概要[編集]

ゲームプログラミングとは、読んで字のごとくゲームプログラムプログラミング)する行為に他ならない。しかし実際にはゲームそのもののだけではなく、各種ゲームから共通に呼び出される基底ライブラリ(いわゆるゲームエンジン)や、ゲーム制作補助ツールといったものまで手広く扱うことが多く、「ゲームプログラミング」という言葉から連想されるよりも地味で目立たない役割も多い。特に大規模なゲームプログラムを開発する際には、補助ツールの開発・保守・ドキュメント化はほぼ必ず行われるため、分業の過程でゲームそのものには携わらなくなるプログラマも当然現れ得るが、それでも彼らもゲームプログラマの肩書きで呼ばれる事が多い。

コンピュータの歴史において、その黎明期より長らくコンピュータゲームはユーザーの心を捉えて離さなかった。そのため、職業人ではなくても趣味としてゲームプログラミングをおこなっている者は過去から現在に至るまで絶えず存在している。

ソフトウェア開発の学習の一環としてゲームプログラムを扱っている教育機関も散見される。

開発環境[編集]

フリーなフライトシミュレーションFlightGearも、多くをOpenGLを使用してC++で記述されている

プログラミング言語[編集]

ゲーム内のキャラクターの挙動や、ゲームの流れを制御するためのロジックは基本的にはプログラマが全て記述しなければならない。そのために必要となるものがプログラミング言語である。言語は基本的に何を選択しても問題ないが、ある程度のトレンドはある。かつてコンピュータの処理速度が著しく遅かった時期においては、処理速度を優先させるべくアセンブリ言語が使用されるか、もしくは極めて平易な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やコンソールゲーム機固有の仕様に従ってゲームを組み立てていくことになる。

関連項目[編集]

外部リンク[編集]

関連教育機関[編集]