管理者のTAKAOです。

以前、N.Softというページで「LCG」というゲーム製作講座を中途半端に管理していました。LCGでは、僕が本格的にゲームプログラムを開始した当時に比較的新しく使いやすい技術であった「VisualBasic6.0+DirectX7」の組み合わせの使い方をメインに話を進めていましたが、DirectXは9へバージョンアップして3D描画が基本となり、VBも.NETへと発展して大きく仕様が変わってしまった今、以前の組み合わせの魅力は半減(もしかしたらそれ以下…)となり、また、新しくプログラムを始めようという方にとっては環境の構築すらできない状況となってしまいました。そこで管理者は新環境へと移行し、講座も新たな環境に対応した新しいものへと作り変えることとしました。  その名も…

C#でゲームプログラム講座  

そのままのタイトルです。MicrosoftのVBに変わる新たな開発環境「C#」と.NET Frameworksに対応したManaged DirectXを使って、以前のものとは比べ物にならないハイクオリティーなゲーム製作を目指します。  C#は、非常にスムーズで安全にプログラムを開発することができます。管理者の感覚だと、VBとは若干感じが異なるものの、C++ほどの危険性もなく、ヴィジュアルエディターによりどちらかと言うとVBチックに開発が進められるでしょう。また、VB.NETと言語仕様がほとんど同じなため、VB.NETユーザーにも参考になるでしょう。Managed DirectXは今までのネイティブコードのDirectXとは比べ物にならないほどの速さで開発を進めることができます。コード量が少なく、今まで自分で行わなくてはならなかった処理もManagedDirectXのクラスが自動的に行ってくれます。3D周りはしっかりと固まっており、個人レベルのゲーム開発においてはほとんど問題もありません。  また、上記の二つの組み合わせはVC+DirectXに比べて約1割程度の速度低下と言われています。PCが高速化した今、1割程度の速度低下がゲーム自体のパフォーマンスに及ぼす影響は少ないでしょう。  長々と書いてしまいましたが、管理者が今後主流になると感じている「C# + Managed DirectX」を使う理由が少し分かっていただけたら幸いです。僕らはプロではなく、趣味で開発を進めるわけですからできるだけ簡単にすばやく作りたいものを作れるこの環境をお勧めします。  

さて、本講座の対象ですが…一応…C言語の経験があり、Cの基本構文くらいは大体分かる。また、ポインターや変数型(構造体を含む)は理解している。  方を対象に作っていこうと思います。この対象は…具体的に言ってしまうと「某大学の情報学○2年生レベル」です。一年生のときにC言語を習ったけど、これで一体何ができるんだ?という方に、サクサク動くド派手なプログラムが作れることを感じていただきたいと思います。とはいえ、上の対象者が簡単に扱えるほど、C#とオブジェクト指向は甘くないでしょう。本講座では一応、C言語に加えて新しく覚えておかなければならないような事項は「C#基本事項」として簡単な説明を加えておきますが、あくまでもこれはその後のゲームプログラムのコードを読み進められるように簡単に説明したものです。深い知識と理解を得たい方は、専門書を購入し自分で読み進めることをお勧めします。  

 以上のように、少し偉そうに書き綴ってきましたが…文中にミスや間違いが多々あると思います。そういった不快なミスを見つけた中・上級プログラマーの方がいらっしゃいましたら、やさしくご指摘くださいm(_ _)mそんなんで講座とか書くな!と言われても仕方ないのですが、こちらも趣味の範囲ですのでお許しを。