ゲームプログラマになる前に覚えておきたい技術

ゲームプログラマになる前に覚えておきたい技術
出た当時から読みたかったんだけど、そのときはプログラム関係よりも、動的平衡とかに興味が行ってたので、後にしよう。と思って買わずじまいだったのだが、
そのての本はざっと目を通してしまった(あと興味が薄れたw)のでこの間買った。
まだ、10章までしか読んでないんだけども。


何を隠そう私の最終学歴は専門学校卒業なのだが、その専門学校の学科はゲームプログラム科だった。
なんだかんだで結局ゲーム会社には行かず、地方のソフト開発会社に入ることになったのだが。。


本のレビューは一言で言えば、「良書。買って損なし。」と言える。
業務プログラマでも学ぶことは多いはずだ。


まず、著者の正直さが良い。
序文には、このくらいの知識がないと読めないとはっきり書いてあるし、
「本当は添付のソースを見る前に自分で作ってほしいが、そんなことを言っても聞かないのは分かってる。」ととても正直。私自身10章まで読んだが一度もPCに向かってはいない。


必要最低限なのもいい。
本当に必要最低限の知識で読み進められる。
継承の説明はシーケンスの組み上げで必要に迫られ10章でやっと出てくる。
C++特有のvirtual宣言などは「こう書いときゃ良いよ。」くらいにしか説明しないし、
継承もpublic継承のみを取り上げ他は切り捨てている。(確かに他は使う場面がほとんどないし。)


だた、本当に基本的なこと(WindowsAPIの扱いなど)については一切触れないというスタンスのようだ。
WindowsAPIの扱いについては、汎用ゲーム機のソフト開発ともなれば無用の長物となってしまうため省いているのかもしれないが。
ジョイスティックの扱いは本当はかなり面倒なのだが、フレームワークが勝手にやってくれるから大丈夫よんという感じでフレームワークの使い方だけ説明してたりする。
それに、ダブルバッファリング*1についてもまったく言及がない。
業務系の方に分かりやすく言うと、Servletを生で使うような話はせずにフルスタックなフレームワークでの開発手法を教えているのに近い。
私はゲーム業界を知らないので、これで事足りてしまうのかもしれないが。。
(業務系でも下っ端はこれでも良いのか。。?)


業務系の人方が学ぶべきところについては、
まず、ゲームプログラムの手抜き手法。1+1=2じゃなくてもいいことがままあるので、その辺は面白いと思う。
あと、この本の特徴とも言えると思うのだが、チームマネジメント的な内容が結構入ってて面白い。
「実際そうなってからこの内容を思い起こすことになるだろう」的な記述もあるし、
「自分と同じだけ他人が出来ると思うな」や「可能なことはやるのが人間だ。だから不可能にしとけ」というような話。
他に、コーディングについては動けば良しというスタンスではないのが良い。
どうやればメンテナンス性があがるかについてはどの章でも触れられている感がある。


ということで、ぜひてにとってほしい一冊。

*1:画面と同じサイズのバッファを事前に確保しておき、背景や、キャラクタなどをそっちに書き込み、書き込みがすべて完了した時点でスクリーンに反映させることで画面のちらつきを防止する手法