『DirextX + VB.NETではじめるゲームプログラミング』

2004年08月13日 (金) 20:28 | 編集
『DirextX + VB.NETではじめるゲームプログラミング』
藤田伸二 著
出版社 翔泳社
ISBNコード:4-7981-0220-2

『DirextX + VB.NETではじめるゲームプログラミング』
  著:藤田伸二/出版:翔泳社
  ISBNコード:4-7981-0220-2

 

【はじめに】
2004/7 のINETA-Japan のリーダーズミーティングで、ブックレビューを行うことになり、持ち寄り+出版社のご好意により、50冊ほど集まりました。この中で、好きな本を持って帰って、レビューをしましょうと言うことで、選んだ1冊がこの本です。というのは、.NET のGDI+ で、かなり楽チンにグラフィックス処理はできるようになったのですが、やはり3Dものに比べると、見劣りするんですよね。たとえば、簡単な例でアナログクロックやスクリーンセーバなどの、グラフィックス系アプリケーションだと、どうしても3Dのほうがかっこよくなりますよね。
(お前のセンスが悪いんじゃないか!というのは却下)
それで、前からDirectX について知りたいと思っていました。
ところが、.NET + DirectX の書籍って、無いんですよね。
そこで、目に付いたのが、この『DirextX + VB.NETではじめるゲームプログラミング』です。
自分としては、C#の解説本が欲しかったのですが、VB.NET でも基本的には同じなので、ある程度VB の文法がわかれば、C#に読み替えて理解することは容易だと思います。
前振りはこの辺にして、早速中身についてです。

【DirectX7,8 が前提】

まずは、DirectX7のCOMである「DirectX for Visual Basic Type Library」をベースに書かれています。DirectX8の仕様についても言及しています。
CD-ROMも添付されており、掲載されているサンプルコード、DirectX 8.1 SDK などが入っている親切設計です。サンプルコードもVisual Studio 2003 でまったく問題なく動作することを確認しました。
DirectX7,8 に関して、何も知らない人を対象にやさしく解説されているので、DirectX7, 8 をベースに作るのであれば、問題ありません。
ところが、DirectX9 でManaged DirectXとなっており、概念はあまり変わらないと思いますが、コードはだいぶ変わってきます。このため、DirectX9でマネージコードを書く上では、あまり参考にはなりません。ただ、いきなりDirectX9でわけのわからない単語を並べられるよりは、この本である程度DirectX7,8 の基本的な考え方を理解した上で、DirectX9 に取り組むのがよさそうです。
 
【各章の構成】
第1章 DirectX 概説

DirectX の概要については、さらっとしかふれらておらず、DirectX7,8の変更点、歴史的背景、SDKの入手方法、VBでの開発上の注意点などが書かれており、入門者がつまずきやすい点や、疑問に答えている。
DirectDraw、DirectSoundなどの中身については、ほとんど触れられておらず、第2章、第3章、第4章で、実例をもとに解説を行っているスタイルをとっている。 はじめて読む人には、そのような形がわかりやすいと思いますが、 DirectXの全体像をもう少し詳しく説明して欲しいというような不満が残ります。
 
第2章 DirectDraw スクリーンセーバーを作る

「スクリーンセーバーを作る」を題材に、DirectDraw の概要説明、および説明がなされています。 実際にサンプルコードで動作を確認しながら学べるので、直感的にわかりやすいです。また、TIPSや注意点なども、適切に記載されています。DirectXとは!なんて、大上段に構えず、具体的なプログラミング例から解説されているので、第1歩でつまずくことなく読み進められるように工夫されていますので、とっつきやすいと思います。
 
第3章 DirectSound/DirectMusic

3Dサウンド、DirectMusic の解説です。この章もDirectSound/DirectMusicを使った 簡単なアプリケーションをベースに説明を行っています。内容的にも次のDirect3Dに比べれば、かなり容易なので、理解するうえでは特に問題にはならないと思います。
第4章 Direct3D

ポリゴン、シェーディング、テクスチャマッピング、Xファイル、ライティングなどの概要説明に 続き、簡単な「3Dシューティングゲーム」を実際に作っていくという内容です。 テクスチャの作り方などの「コツ」も親切です。
簡単なゲームのサンプルコードを元に解説していますが、 自分自身、DirectX について、まったくの無知だったので、 この程度のコード量でこのぐらいのことができるんだ!って、感動しました。
ただ、Windows プログラミングとはまったく別物なので、コード自体は簡単そうに見えるけど、 いろいろノウハウが詰まっていて、奥が深いのだと思います。
 
リファレンス

各関数の解説に80Pほど費やしています。
全体のうち、この本で使用している主要なメソッドだけだと思います。
そういった意味で、DirectX の全体像 (どのようなクラスやメソッドがあり、どのぐらいの機能があるのか、 この本で解説している部分、していない部分) といったことには触れられていないので、DirectX の全体像がわからないという不満が残りました。
入門編ということなので、そこまで細かく書いていくと余計わからなくなってしまうのでしょうが、 リファレンスを削ってでも、第1章のDirectX 概説で、 全体像と機能一覧を図解でわかりやすく解説してもらえたらよいと思いました。
【DirectX関連書籍】
 
【総括】

非常に残念なのが、出版時期が2002年5月であることを考えるとやむ終えないのですが、DirectX 9 がカバーされていないことです。このため、DirectX 9 に関しては、新たに勉強しないとだめです。
しかし、DirectXに関する書物がほとんど無いので、そもそもDirectX って何?何ができるの?と思っている人は、DirectX の概要をつかむ上では一読して、サンプルを動かしてみると、かなりDirectXに関するイメージがつかめると思います。
希望としては、早期に DirectX 9 対応の第2版を出して欲しいですね。また、C# 対応してもらえると、とてもうれしいです。
2004/8/13

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です