はじめに

 どうしてゲームプログラミングの入門書を読んでも、実際の開発に生かし切れないのでしょう。それはたいていの解説書が旧式のC言語仕様に基づいて記載されており、プログラムの可読性を低くしているうえに、ほとんどの解説書が、画面の切り替え方法といったゲームエフェクトや、単体のキャラクターを動かす程度のテクニックのみで、ゲーム特有の「複数同時処理」について言及していることがほとんどないからではないでしょうか。

 ゲーム開発ほど、オブジェクトプログラミングの概念がふさわしいものはありません。例えば、シューティングゲームの敵には、耐久力、移動パターン、発射するミサイルのパターン、得点などなどのデータが保持される必要があります。
 そこで、苦労を強いるゲームプログラミング解説に対し、「楽して開発」をテーマにしたプログラミング入門コーナーを立ち上げることにしました。C++のクラス構築の基本から、タスクシステムからDirectX9によるスプライト処理、キャラクタの同時進行など、オブジェクト指向ならではの手法をこらしたプログラミングテクニックをご紹介します。

 このコーナーに記載されている内容は、リンク元(個々のページへの直リンクも可)を明記することを条件に、自由に使っていただいてかまいませんが、技術の腕を向上させたいのであれば、これらの解説は参考程度にとどめて、独自にコードをカスタマイズするのが一番よいでしょう。

本解説の鉄則!
1.WinMainを除き関数はすべてクラス内に置く
 せっかくクラスを使うのだから、いっそのことすべてクラスのみでプログラミングしてしまいましょう。そもそもオブジェクト指向を極めたJavaやC#にはクラスしかないわけですし。

2.externは使わない
 ファイルをまたがって変数を共有できる宣言子・externは、その数が増えるほど管理がややこしくなります。クラス内にstaticを使うことはあれど、externは一切使いません。

3.とにかく楽をする
 いちどクラスを構築すれば、あとはどのようなタイプのゲームにも応用できるようにします。ただし、楽をするために相当苦労しなければならないのは言うまでもありません。