ぱろっと・すたじお

技術メモなどをまったりと / my site : http://parrot-studio.com/

Amazonに勧められるままに・・・(13)

本当は前回の後、さっさと書くつもりだったのですが、
風邪やら出張やらで忙しかったので、遅くなりました(´・ω・`)


その間に新しい本を買ったりしてますが、今回は予定通り一冊だけ


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

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


ちょうどRDGCの開発を始めた頃、昨年の秋くらいにAmazonから勧められ、
実際の書店でも手に取っていたのですが、
あまりの厚さに躊躇しまして、買うのが先月になってしまいました


まず、この本はタイトルを間違ってますΣ(・ω・ノ)ノ
正確には「"プロ"ゲームプログラマになる前に覚えておきたい技術」です


表面的に読めば、C++を多少知っている人向けに、
ゲーム制作に必要な知識を広く浅く解説した本です
(セガの新入社員向けの内容なので、当然ですけども)


この本のポイントはそこではなく、本全体で一貫している、
「プロとしての心構え」的な部分かと


アマチュア(同人とか)で作るならともかく、
「プロの仕事」をするのなら、ここは押さえなきゃならないというポイントが、
文章の節々にちりばめられています


もう一つのポイントが、「プログラマの責任範囲」的な、
ある種の割り切りが徹底されていることです


所詮、プログラマはプログラムを書くプロであり、
グラフィックや音楽は他のプロに任せ、
そのデータをどう扱うかという部分に限定されています


これは「プロ」であれば当たり前のことで、
ゲーム制作に限らず、Web等の一般的なシステム開発でも、
自分の責任範囲で「プロの仕事」をするのが大事ですからね


実際、この本で紹介されている細かいところのほとんどは、
RDGCでいえばDXRubyに任せている範囲であり、
私が直接触れる部分ではありません


しかし、ライブラリのやっていることを、
知らずに表面的な使い方をするのか、知っていて任せるのかでは、
後々大きく響いてきます


もう一点、私はRDGCを作りつつ、
その上に乗せる"RO"gueも作っています
で、"RO"gueから見れば、RDGCがライブラリです


"RO"gueで欲しいと思う機能はRDGCに取り込むわけですが、
ここで「何でもかんでも」RDGCに突っ込んでしまうと、
機能は豊富になりますが、カスタマイズが難しくなり、どこかで破綻します


このあたりの細かいことは次の記事で書きますが、
例えば、「画面描画」の細かいところは、
RDGCの責任範囲ではないのだろうな・・・と


私は所詮「プログラマ」であり、
プログラマとして責任を持てる範囲がどこなのか、
それが見えたことが、この本の大きな利点の一つだと思ってます(`・ω・´) b


というわけで、「プロのプログラマ」を自認する方であれば、
ゲームを作らなくてもぜひ読んでいただきたい良書なのですが、
さすがに5000円弱で、しかもC++前提だと、多少辛いかも・・・



<おまけ>


この本の構成として、大きく分けて3つのゲームを作ってますが、
最後の一つが「ロボットが撃ち合う"マイナーな"ゲーム」を参考にしたものでした


私はこの(マイナーという)言葉を真に受けてしまい、
途中まで「このゲームはなんだろう・・・(´・ω・)?」と思っていたのですが、
途中の一文で気づきました


(入力のところで)"元のゲームはレバー二本で操作し、レバーを開くとジャンプで..."


筆者の略歴を見れば即わかったことなのですが、
途中まで本気で気づかなかった、というお話