CSゲーム業界で働きたい理系大学生へ捧げる本たち
これから何を学べばいいか困っている大学生に向け、独断と偏見でオススメ書籍をまとめた記事です。主に「授業でC言語とかやって、自分でC++もちょっとずつ触り始めたけど、どうすれば...」という方に読んで欲しいです。
ちょっとタイトル詐欺ですが、「自分が何を読んだか」という備忘録的な意味も込めています。
また、Shirotsu自身しっかり読んでいない本も少々混在しています。公開することに意義があると思うので、どうかご了承ください...
(2020/09/26 追記)
Twitterで予想以上の反響があり、「この本もどうか」というリプライを方々からいただきました。
せっかくなのでここに順次追加していきます。が、Shirotsu自身が完全に内容を知らないためにまだ内容を保証できないという意味で [未読]タグをつけておきます。
(2020/09/28 追記)
書籍の量が多くなってきたので、カテゴリの細分化とリネームを行ないました。
(2020/09/28 追記)
これ以降この記事の更新はしません。
代わりに、この記事の改良版を作りました。
そちらの方が項目の数が多くなっていますので、ぜひご覧ください。
入門レベル ~何を学べばいいか分からない段階~
- 実例で学ぶゲーム3D数学
リアルタイムグラフィックス(ゲームで使われている数学理論)の基礎が分かります。とりあえず買って? - ゲームプログラミングC++
「実際に手を動かしてゲームを作る」の入門書。とりあえず買(ry - リーダブルコード
分野関係なく「綺麗なコードを書くために読もう!」と随所で言われる名著。 - Unityの教科書
ゲームエンジンを使ってみるという経験も大事です。Unityなら、バージョンに合わせてコンスタントに内容更新してくれるこの入門書。
中級レベル ~ある程度慣れてきた段階~
- C++のためのAPIデザイン
小規模以上のシステムをC++で書くために必要な「プログラム設計」の考え方を教えてくれる良書。
個人的には、自分の成長に最も貢献してくれた最高の本だと思っています(笑) - Game Programming Patterns
ゲームプログラミングの設計でよく使われる具体的なテクニック(デザインパターン)がわかります。 - ゲームプログラマのためのコーディング技術
ゲームプログラミング版リーダブルコード兼プログラム設計のコツ教本。 - Effective C++ と More Effective C++
レガシーなC++から抜け出し、モダンでより良い書き方を学ぶための書籍。
上級レベル ~だいぶ慣れて自信もついてきたら~
- DirectX 12の魔導書 3Dレンダリングの基礎からMMDモデルを踊らせるまで
ゲームを作るのに必須な「3DグラフィックスAPI」の中で現代(2020年現在)で最も使われているDirectX12を、手を動かして書いてみようという本。
3DグラフィックスAPIの日本語解説書籍は非常に少ないので、とても価値のある1冊です。 - ゲームプログラミングのためのリアルタイム衝突判定 [未読]
3Dグラフィックスに次いでゲームに必要な知識、「モノどうしの衝突判定」が学べます。
興味に応じて読むべき書籍
入門レベル
- C#プログラマーのための デバッグの基本&応用テクニック [未読]
「デバッグ作業のやり方」を教えてくれる本。C#に限らず応用できることが書いてあります。
中級レベル
- GPUを支える技術ー超並列ハードウェアの快進撃 [未読]
3Dグラフィックスにおいて必須なGPUに関する基礎知識が学べる本。 - ゲームエンジン・アーキテクチャ 第2版
これを読んでもゲームエンジンが書けるようになるわけではないですが、Unityなどの巨大なシステムの裏側を理解するのに最適な網羅的解説が覗けます。
ちなみに、絶版で中古が数万円する入手困難な代物です。Shirotsuの知り合いであれば、声かけて下されば貸せます。
第3版の日本語版は現在出版作業中だそうです。翻訳済で、近いうちに発売日もわかりそうとのことなので、発売を待ちましょう。 - Optimized C++
名前の通り、C++で最適化をするための色々が学べる本。 - 週末レイトレーシング
物理ベースレンダリング(写実的な美しい画像を描画する手法)の基礎を手を動かしながら学べる本。ちなみに、英語版はweb上で無料公開されています。(注 : 翻訳本の出版後に英語版が改訂されたため、一部内容が異なるようです)
Ray Tracing: The Next Week と Ray Tracing: The Rest of Your Lifeという続編もあります。
上級レベル
- GPU Gems 日本語版 & GPU Gems 2 日本語版 & GPU Gems 3 日本語版 [未読]
シェーダ含む、GPUでのあらゆるグラフィックス計算の術が記されたバイブル的名著。鈍器。
1~3の続き物ですが、日本語版は1が絶版です。また販売価格も高く手に取りにくいです。大学図書館に置いてあったら手を出してみるくらいの気持ちでよいでしょう。
ちなみに、こちらも1~3すべて英語版が無料公開されています。
辞書的に使える書籍
入門レベル
- 実例で学ぶゲーム3D数学
再登場。入門するのにも良い上、忘れたときに見返すことにも十分使えます。 - 統計学入門 | 東京大学出版会
ゲーム数学で避けては通れない確率統計の良書。Shirotsuの母校、会津大学の授業でも使われています。
中級レベル
- コンピュータグラフィックス | CG-ARTS
CGでよく使われている手法を網羅的に解説。「あの手法ってどんな感じのことするやつだっけ~」などという時に有用。 - ディジタル画像処理 第2版 | CG-ARTS
上の書籍の画像処理版。
上級レベル
- リアルタイムレンダリング 第4版
前述のCG-ARTSのCG本の上級向けバージョンといった内容で、最近のトレンド的な話も多くあります。この本の内容をほぼ理解していれば神になれると僕は思います。ただ、翻訳の質があまりよくないのが玉に瑕。