『ファミコンの驚くべき発想力』〜制限から生まれる工夫

ここ最近では一番面白かった。
僕はファミコン世代の人間だけど、実はゲームはするより、作るほうがおもしろかった。小学校当時PC6001で一番最初に作ったのは確かじゃんけんゲーム。その後数年かけてアドベンチャーゲームとか、RPGとか、シューティングとか対戦格闘とか一通り作った(全部BASICだったけど)。

ファミコンの驚くべき発想力 ?限界を突破する技術に学べ? (PCポケットカルチャー)

ファミコンの驚くべき発想力 ?限界を突破する技術に学べ? (PCポケットカルチャー)

この本の良いところは、古き良きファミコン時代のノスタルジーを喚起するだけでなく、コンピュータの基礎が学べるところ。CPUとかメモリとか、レジスタとか。シフト演算で乗算と除算を行うと軽い、など組込み開発でも通じるテクニックとか。

ファミコンというハードのすごいところは、本書にもある通り「遊べる性能」とコストとのバランスだと思う。あと、ROMカートリッジを採用したことによる拡張性の高さ。だからあれほど長い間遊ばれることになった。(そういえば、当時のコナミのゲームの拡張音源は素晴らしかった!)

そして、制限の中で闘ったプログラマの工夫の一部が技術的に垣間見れるのも面白い。ドルアーガの塔の迷路は実はランダム(ステージ数をランダムのシードにしている)で、容量圧縮のためだったとか、最終フロアは偶然あの形になったとか、ドラクエのストーリー進行は7ビットで復活の呪文に保存されている、とか。オールドゲーマーの自分にとっても新鮮な情報も。

気楽によめつつ技術的な内容も充実しているので、ゲームマニアじゃなくても読む価値あり。ファミコン時代の古い話だけでなく、オブジェクト指向やガーベージコレクションなど、「現代プログラミング」の功罪についても若干触れており、フレームワークや用意されたAPIなどのプラットフォーム前提で開発することが現代の開発者にとっては考えさせられる。