ゲームプログラマになる前に覚えておきたい技術
著者/訳者:Array
出版社:秀和システム( 2008-11-15 )
定価:¥ 4,725
単行本 ( 872 ページ )
ISBN-10 : 4798021180
ISBN-13 : 9784798021188
知りうる限りでは最良のプログラミングの教科書の1つ。
この本を紹介するのにうってつけの文章が本の中にある。
私がこの本を書こうと思ったのは、新人研修の教官をやった時に大変困ったからである。これを読んでおけ、と言える本がないのだ。この分野はこれ、あの分野はあれ、と列挙することはできるが、5冊も10冊も詰まれても新人が困ってしまうだろうし、そもそも部分の総和は全体にはならないのであって、プログラミングの本とCGの本をバラバラに読んでもゲームは作れないのである。
C言語やC++といった言語はいささか汎用的すぎて初めてプログラミングをやる人にはオススメできないと私は考えている。プログラミングが大好きという人ならprintf()で簡単な出力を出しているだけでも興味を覚えるかも知れないが、ほとんどの人にとってはC/C++の標準ライブラリの中でできることはシンプルすぎて面白みがない。そこで私が何かオススメの言語はないかと訊かれると、大抵はRubyやPythonのようなスクリプト言語でWebからデータを集めてくるとか、すぐにでも役に立つプログラムが書けそうな言語を答える。あるいはJavaのような最初から大規模なフレームワークが存在して、善し悪しはともかくオブジェクト指向のマナーを叩き込まれるような言語とか、ゲームが好きならゲーム向けの言語を勧める。その方が結果が見えやすく興味が持続しやすいと考えるからだ。
C/C++の問題点は標準ライブラリの中では初心者が喜びそうなことがしにくい。グラフィックは標準では扱うことができないし、ネットワークもPOSIXのSocketとかに頼らないといけない。クラスライブラリもSTLのようなコンテナくらいしかない。だから正統的なC/C++の本は無味乾燥になりがちだし、オブジェクト指向について書いても「Humanクラスを継承してMaleクラスとFemaleクラスを作ります。同じtalk()メソッドでもMaleとFemaleでは振る舞いが違い・・・」のような作っていて全然面白くない例に終始することになる。
本書のよいところはゲームプログラミングという目的を最初から定めていることである。ゲームは好き嫌いはあるにせよ、リアルタイムに入力を処理して出力するという規模の大きいシステムである。これによってプログラミングを学ぶ目的が明確化する。単に暗記事項だったものが「何のためにその機能を使うのか」という要請に基づく理解に変わる。このことは初学者にとってはとても大きいことである。
他に随所に著者の意見が書かれていてそれがまた面白い。プログラムを書くというのはきれい事ではなく、現実に色々と厄介な問題との戦いであり、上級者の率直な意見は実に貴重な教材になる。何のためにそうするのかという疑問について、きれい事で答えられるより、例えば「面倒臭いから」という意見の方が人間味があって理解しやすい。言葉の1つ1つが砕けた表現であることが多く共感しやすい。
値段はそこそこするが、この辞書のように分厚く充実した内容を考えれば決して高い本ではない。
admin :: 1月.31.2010 :: C/C++, コンピュータ, プログラミング :: No Comments »







