ゲームプログラマー向けオススメ書籍10選 2019年版
はじめに
本記事はゲーム業界の若手プログラマーあるいは、ゲーム業界を志望する学生プログラマー向けに、オススメの書籍をピックアップした記事です。選定基準として、今すぐゲーム制作に役立つ本というよりは、今後10年20年のキャリアの中で、知識の土台として役に立ってくるような良書をピックアップしたつもりです。
2019年版と書いたのは、2020年にも同じ題材の記事を投稿したい投稿者側の都合です。紹介する本の内容は、すべて 2019年以前に出版されたものです。またamazonアフェリエイトは登録してないので、安心してリンクから購入ください。
ゲームプログラマになる前に覚えておきたい技術
セガの新人教育カリキュラムから生まれたゲームプログラミング教本と名を打つだけあって、2Dや3Dゲームを作るために必要な基本的な知識を一通り網羅している。ページ数が多いが、内容はそんなに濃くなく、軽快な文章で書かれているため、そんなに気合を入れなくてもサクサク読めるのが良い本。
ゲームエンジン・アーキテクチャ
ゲームエンジンの設計方法や、ゲームエンジンが提供すべき主要な機能を解説した本。職業ゲームプログラマーをやってると、ゲームエンジンを利用してゲームを作るだけでなく、ゲームエンジン自体に手を入れられることや、ゲームエンジンの実装を考慮したコードの最適化なども求められるので、ゲームエンジンの仕組みは他人事ではない。なお1000ページを超える大著だが、あくまでゲームエンジンを広く浅く解説しているだけなので、この本を読んでもゲームエンジンは作れない。ゲームエンジンって奥が深いね(白目)。
ちなみに値段がスゴイが、ときどきセールをやっていて、Kindle 電子書籍版が ¥999 になってたりする。あと最近原著の第三版が発売されたらしいので、そちらの日本語訳が出版されるのを待つのも手。
実例で学ぶゲーム3D数学
3Dグラフィックのための数学の本。この手の3Dグラフィックス数学の本は、初心者向けの本はわかった気になるだけで実践とすぐに結びつかなかったり、そうでない本は難しすぎて何が書いてあるのかわからないという本になりがちだが、この本は具体的なソースコードが乗っていて、かつ計算式が省略されていない点で、時間をかけて読めばちゃんと理解できる点が良い。
Game Programming Patterns
ゲームプログラミングのためのデザインパターン解説書。デザインパターンというと、有名な GoF の本があるが、例として挙がる題材がゲームではなく業務システムであり、ゲームプログラマーが例題に興味を持ちづらいので、こちらの本をオススメする。1度ゲームのコードを書いたことがある人であれば「あのとき設計に悩んだコードはこう書けば良かったんだ!」ってすぐ応用できると思います。
ガベージコレクション 自動的メモリ管理を構成する理論と実装
ガベージコレクションは色々な種類があるのですが、それぞれの手法の解説と実装方法、それからメリット・デメリットが紹介されています。最近は Unity のようにメモリ管理はガベージコレクションに任せてゲームロジックを書く人も多くなってきたので紹介。C++ でゲーム書く場合も、スクリプター向けにインタプリタを書くときに、ガベージコレクションの知識は役に立ちます。
ハロー“Hello,World"OSと標準ライブラリのシゴトとしくみ
ゲームプログラマーをやっていると、低レイヤーの知識、つまり OS が何をやっているかとか、アセンブラや実行バイナリとはどういうものなのかとか、CPUやメモリが何をやっているかとか、そういった知識が必要なのだが、パタヘネを読むにはちょっと重すぎるということで紹介。「Hello World」を出力するプログラムを通して、glibc や OS のカーネル、アセンブラ、CPUと追っていく内容。
マスタリングTCP/IP 入門編
インターネット接続のための標準プロトコルであるTCP/IPを解説した本。姉妹本に応用編やセキュリティ編などがあるが、まずは入門編をオススメする。入門編とあるが、内容はTCP/IP を体系的に解説してあり、内容は濃い。
Linuxネットワークプログラミングバイブル
サーバーエンジニア向け。C言語とLinuxを使って、ソケット作成からパケット作成といったネットワークプログラミングの基礎を学べる本。オンラインゲームやMMOを作るならば、この辺りの知識は基礎的な知識として必要になってくる。
Multiplayer Game Programming
ネットワークを利用したマルチプレイゲームを作るための、ゲーム実装の基本的なことが解説されている。遅延・パケットロス・受信パケットの順不同を考慮した実装や、あるいはサーバー・クライアント型のゲーム実装、P2P型のゲーム実装など。英語だが、この手のマルチプレイゲームの日本語の本は、ほとんど概要だけ浅く広く解説したものが主で、この本のように実装にまで深く踏み込んだ本はなかったため紹介した。英語としては難しくないので、辞書を引きながら読むことをオススメする。
Real-Time Collision Detection
日本語訳でゲームプログラミングのためのリアルタイム衝突判定という本が出ているが、絶版かつ中古も ¥20000 というお値段になっていることと、日本語訳があまりよろしくないので、原著で読むことを薦める。さすがにコリジョンについては、ライブラリを利用することがほとんどであり、独自実装することはほとんどないと思うが、その場合でも迂闊なライブラリの利用の仕方によるバグを踏まないためにも、コリジョンの知識についてはあったほうがよい。
終わりに
どれも良書でついデスクに置いておきたくなるような、ページ数が多く内容も濃い本ばかりです。すぐ全部読むのはとても大変だと思うので、その知識が必要になったときに、ここで紹介した本のことを思い出して読んでいただければという気持ちです。
この記事が気に入ったらサポートをしてみませんか?