がりらぼ

WindowsRuntimeの応援ブログ

これからDirectXを入門したい人に良いかもしれない本

f:id:garicchi:20140524180738j:plain

最近大学でてきた友達が「俺実はゲームプログラミングがしたかったんだ..」って言ってたのでじゃあ一緒にやろうよ!ってことでゲームを作ろうと模索してるわけですが、 ゲームといえば最近ではUnity?でも個人的にUnityはゲームプログラミングをしているというよりはゲームを作っているという表現がただしいぐらいのゲームプラットフォームなので せっかくなのでDirectXを考えます。

DirectXは11でWindowsSDKと統合されたのでストアアプリやWindowsPhoneなどに対応しています。 ただ、その仕様は非常にむずかしく、僕の知っている範囲ではあまりわかりやすい入門書みたいなのはありませんでした。

そんな中ここ最近で出版された書籍として、 チャールズケリー著の「入門ゲームプログラミング」が結構いいかもしれないと思いました。

入門ゲームプログラミング (Professional Game Developerシリーズ)

入門ゲームプログラミング (Professional Game Developerシリーズ)

著者の方は外国の方ですが、ちゃんと日本語化されて、サンプルコードも豊富です。 Kindleもあります。

この本のいいところは、ちゃんと手を動かしながらDirectXのゲーム作りを学べる(かもしれない)というところです。 ほかのDirectX本などは、リファレンス形式になっていたり、何から始めればいいのか?がわかりにくいような書籍が多いと個人的には思っています。 ですがこの本はちゃんと入門者向けに書かれていて非常にDirectXを入門しやすいかなとおもいます。 ただ、C++はちょっとの解説しかない上にC++を知らない人が読むには難しいかもしれないと感じたのでC++についてはゲームプログラマの宿命だと思って勉強しておく必要があるかなと思います。

あとこの本はDirectX9で開発されています。DirectX9から10にかけてはもはや別物レベルのアップデートがかかってるらしいですが、今後見ていきたいと思います。 WindowsストアアプリやPhoneなどはDirectX11ですが、少なくとも互換性がないことはないとおもうのでこの本でDirectXを学び、ストアアプリに移植するという形がいいかなと思います。 さらにこの本は2Dゲームまでで、3Dは対応していないので別途本かなにかが必要だと思います。

WindowsストアアプリやWindowsPhoneはDirectXでゲームを作ることができますが、iOSAndroidOpenGL ESでつくられ、さらにUnityならばすべてのプラットフォームに対応できるのでただでさえ国内でWindowsPhoneゲーム開発者は少ない中DirectXのこの先の未来が心配です。 WindowsPCで動くゲームがDirectXを結構支えてくれてる感じはあるので大丈夫かとは思いますが

個人的にはDirectXのパワーをWindowsRuntimeと合わせてC#VBなどから楽に叩けるようなアップデートがほしいところです。(XNAはよかった..) MonoDevelopがたしかXNAライクな文法でできるらしいですけど今度チェックしてみたいです。