稲枝の押入れ

いなえが適当なことを書いては、しまっておく場所

チャールズ・ケリー氏著の『入門ゲームプログラミング』を読んで

チャールズ・ケリー氏著の『入門ゲームプログラミング』を読了しました。記録として、そして他の方の参考のために感想を書いておこうかと思います。

まず、自分はこの本をDirectXの勉強のために購入しました。しかしDirectXと言っても、DirectX11や12へどういった変遷をしていったのかを知りたい、また、DirectX11や12に直接初心者が入門する為の書籍等は少ないがDirectX9からステップアップする書籍等は幾らかあるといった理由から、現在多く使われている様なDirectX11や12ではなく、DirectX9を勉強したい思いで購入しました。DirectX9を勉強する上で有名なDirectX 9 シェーダプログラミングブックは現在既に絶版になってしまっているらしく、新品が多く流通していない現状のため、取り敢えずDirectX9を使っているらしいことと「入門」と銘打っている事からこの書籍を購入しました。

読んでみた正直な感想としては、

  • どの層をターゲットにしているのかイマイチわからない
  • どこまでがDirectXの話でどこからが本書で使っている自作クラス・関数の話なのかが区別が非常につき辛い
  • 見やすくまとめようと言った配慮はあまりない
  • 本書掲載分だけではなく、サンプルコード全体を見ないと理解しづらい場所がある

と感じました。

まず、どの層をターゲットにしているのかイマイチわからない、ということについてですが、この本はタイトル通り基本的にゲームプログラミングの基礎的なことに触れていくのみで、本当にそれを超えたことはあまりしないのですが、その割には初学者にとっては敷居が高いDirectXをフワッとした説明のみで使い、少し置き去り感があります。どうしたって本書以外で補完しないと、DirectXが「よくわからないもの」にしかならないと思います。おそらく少しDirectXには触ったことがある人間が読んで初めて違和感がないのではないでしょうか。 しかしそれに反して、それなりのゲームを作ったことがある人にとってはあまり新規性のない事ばかりが書かれています。具体的にゲームを作っていく過程を追っていく感じなのですが、ゲーム制作経験のない人にとっては良いものかもしれないですが、経験がある人からするとほぼ全て知っていることなので時間の無駄になると思います。 こうなると、「ゲームは作ったことはないけどDirectXはわかっている人間」が対象になるのですが、こういった人って非常に限られていると思うのでまさかこれをメインターゲットにしているとは思えなく、どの層をターゲットにしているのかイマイチわからないなあ、という風に思いました。

次に、どこまでがDirectXの話でどこからが本書で使っている自作クラス・関数の話なのかが区別が非常につき辛い、ということについてですが、これはそのままで、作者が作ったクラスの説明も本書ではされるのですが、それがDirectXの機能として提供されているものなのか、勝手に作者が作ったものなのかの判別が付きづらく、DirectXを勉強したいだけであって作者の趣味に付き合いたい訳ではない読者にとっては非常に厄介な存在となっています。この点に関しては本当に致命的なのでもっとしっかり明示するようにしていただきたいなと思いました。

次に、見やすくまとめようと言った配慮はあまりないという点についてですが、なんというか、あくまでも説明はプレーンテキスト風から離れないぞという意思の感じられる構成になっていて、読めなくはないもののここはもっとこうした方が読みやすいよなという所が満載で、そこまでは手が回っていないんだろうなというのを全体から感じました。

次に、本書掲載分だけでなく、サンプルコード全体を見ないと理解しづらい場所がある、ということについてですが、本書では本書で順を追って作成していくプログラムについて、公式のサポートから無料ダウンロード出来るようになっています。本書にもソースコードが必要な分引用して記載されていますが、正直必要最低限という感じがある所が幾らかあって、全容をつかむにはやはりそのダウンロードしたソースコードで全体を見る必要があると感じました。おそらくそういった形で学習を進めてほしいというのが本書の意図でしょう。もし書籍のみで取り敢えずの概観を掴みたいという方がいるのであれば、本書はあまりオススメしません。

と、ここまで書いてきてネガティブな話ばかりになってしまったのですが、名前の通りゲームプログラミングをするにあたっての入門的な事は一応ひとしきりしているように感じるので、初心者の人が斜め読みして雰囲気をつかむ分には良いのではないでしょうか。それにしてはボリュームとお値段がなかなかな気はしますが…

それと、数カ所誤訳なのかソースコードでしていることと説明文とが一致していないところがありました。そういった意味でも斜め読み推奨です。

得たものがないかというとあるにはあるのですが、それにしたってもっとコストをかけずに得られたのではないか、と思わせられてしまう一冊でした。