ゲームを作らない開発者が読む本「ゲームコーディング・コンプリート」

ゲーム開発について書かれているけれど、ソフトウェア開発全般に有益な本として「ゲームコーディング・コンプリート」を紹介したい。著者はウルティマシリーズのプログラマであるマイク・マクシャフリー氏。ゲーム作成に直結するノウハウはもちろんのこと、システム全体のアーキテクチャをどのように設計するか、効率的なデバッグ方法は何か、データのロードを高速化するにはどうすべきか、オブジェクト間の情報伝達(イベント管理)はどう実現するか等ゲーム以外の分野でも応用出来るノウハウが満載の本だ。

電話帳のごとく分厚い本のページをめくって数々のテクニックを読んでいると、「やっぱり皆同じことを考えるものだな」と思うものが有る一方で、「なるほど、この手が有ったのか!」と感心するものも多く、流石に一流の開発者が長年に渡って築き上げてきた技術は凄いものだと実感する。このような優れた技術があるからこそ歴史に名前を残すゲームが開発出来るのであり、そのような開発の場が有るからこそ技術も洗練されていくのだろうと思う。技術と成果物は、車の両輪のように互いに欠かせない存在なのかも知れない。

良い開発書なので知り合いに勧めてみたけれど、残念ながら反応は今ひとつ。「ゲーム開発の本でしょ?ゲームなんか仕事で作らないし...」と中身を見ずに敬遠するのは惜しいことだ。確かに、ゲームオーディオやゲームAI等ゲームを作らない人には関係しない内容も含まれてはいるけれど、他の分野でも充分に適用可能な技術が数多く載っているのだから、自分の開発現場へどのような適用が可能なのか考えてみるだけでも充分勉強になると思う。品質の高いソフトウェアを生み出すための技術というものは、対象のドメインが異なっていても、基本的にそれほど変わらないのではないだろうか。ゲームを作る人ならもちろん(?)読んでいるはずだけど、ゲームを作らない開発者にこそ読んで欲しい書籍だと思う。

繰り返すが、私の方法を真似る必要はない。しかし、私自身この方法が一番やりやすいと思っているので、参考程度にでも知っておけば損はないだろう。本章を読むときに注意してもらいたいのは、私がそのシステムでどういった問題を解決しようとしているのかを考え、少なくともサブシステムとそれが何をするものなのかだけはしっかり理解する、ということである。そして私よりもいい方法を思いついたらぜひ連絡して欲しい。あなたを雇うから。

ゲームコーディング・コンプリート 一流になるためのゲームプログラミング (Professional game programming)

ゲームコーディング・コンプリート 一流になるためのゲームプログラミング (Professional game programming)