ゲーム制作学科の学生が後輩にオススメする教本一覧

## 目的
私の独断と偏見で選んだ良書を書いておきます。

## C++編
[プログラミング言語C++(ビャーネ・ストラウストラップ)](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E7%AC%AC4%E7%89%88-%E3%83%93%E3%83%A3%E3%83%BC%E3%83%8D%E3%83%BB%E3%82%B9%E3%83%88%E3%83%A9%E3%82%A6%E3%82%B9%E3%83%88%E3%83%A9%E3%83%83%E3%83%97/dp/4797375957 "プログラミング言語C++")
授業でおなじみC++。
しかし残念ながら授業で習うのはC++03までです。
せっかくVS2015を使っているのですから、C++03のコードしか書かないのはもったいない！
この教本はC++11までをカバーしているので、C++03卒業にはピッタリの教本です。
ただし、とっても分厚いのでいきなり全てを理解しようとしないほうが賢明です。

[ゲームプログラマのためのC++(マイケル・ディックハイザー)]
(https://www.amazon.co.jp/%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEC-%E3%83%9E%E3%82%A4%E3%82%B1%E3%83%AB%E3%83%BB%E3%83%87%E3%82%A3%E3%83%83%E3%82%AF%E3%83%8F%E3%82%A4%E3%82%B6%E3%83%BC/dp/4797366761 "ゲームプログラマのためのC++")
ゲーム制作を行う上でのC++のテクニック集です。
C++の要点を抑えた上でテクニックを紹介してくれるので、プログラミング言語C++に比べれば読みやすいと思います。

[Effective C++(スコット メイヤーズ)](https://www.amazon.co.jp/dp/4621066099/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=187205609&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=4756118089&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=FMYDSSX8BDBJAN9HEZDS "Effective C++")
[新訂版MORE EFFECTIVE C++(スコット メイヤーズ)](https://www.amazon.co.jp/%E6%96%B0%E8%A8%82%E7%89%88MORE-EFFECTIVE-ADDISON%E3%83%BCWESLEY-PROFESSIONAL-CO/dp/4621066064 "新訂版MORE EFFECTIVE C++")
[Effective Modern C++ (スコット メイヤーズ)](https://www.amazon.co.jp/Effective-Modern-%E2%80%95C-11-14%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E9%80%B2%E5%8C%96%E3%81%95%E3%81%9B%E3%82%8B42%E9%A0%85%E7%9B%AE/dp/4873117364 "Effective Modern C++ ―C++11/14プログラムを進化させる42項目")
C++界のカリスマ（らしい）スコット・メイヤーズさんのEffectiveシリーズ。
言語仕様の知識のみでコーディングをしていると、色々な地雷を踏みます。
そんな地雷を回避するアドバイスが詰め込まれた教本です。
本格的に作品を作る前に読んでおくことをオススメします。

[Modern C++ Design](https://www.amazon.co.jp/Modern-C-Design%E2%80%95%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%8A%E3%82%88%E3%81%B3%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%BB%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E7%A9%B6%E6%A5%B5%E3%81%AE%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E6%B4%BB%E7%94%A8%E8%A1%93-%E2%80%90Depth/dp/4894714353 "Modern C++ Design")
C++にはテンプレートと言う機能があります。
この機能はコードを型の束縛から開放するだけのものではありません。
美しくも禍々しいメタプログラミングを垣間見ることができる良書です。
教本の見た目とは裏腹に、凶暴なまでに濃厚な一冊です。  

## DirectX編
[DirectX9 実践プログラミング(I/O編集部)](https://www.amazon.co.jp/dp/4777516873/ref=pd_lpo_sbs_dp_ss_2?pf_rd_p=187205609&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=4875934998&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=RDHG0CN65BZ5YP7K6YPG "DirectX9 実践プログラミング")
学校の教科書として買うこの教本ですが、舐めてはいけません。
リファレンスとしても、サンプルソースとしても非常に優秀だと思います。

[DirectX9 必携(鎌田 茂雄)](https://www.amazon.co.jp/DirectX9%E5%BF%85%E6%90%BA-%E9%8E%8C%E7%94%B0-%E8%8C%82%E9%9B%84/dp/4990500601 "DirectX9 必携")
DirectXの教本としては一番オススメです。
その理由は付属しているソースコードに有ります（正確にはDLですが）。
なんと、機能ごとに最小のサンプルプロジェクトが作られています。
その数283個。レンダリングから当たり判定まで幅広く用意されています。
「いいからソースコードを見せろ」という人には最適な教本だと思います。

[DirectX9 シェーダプログラミングブック(今給黎 隆)](https://www.amazon.co.jp/DirectX-9-%E3%82%B7%E3%82%A7%E3%83%BC%E3%83%80%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%96%E3%83%83%E3%82%AF-%E4%BB%8A%E7%B5%A6%E9%BB%8E-%E9%9A%86/dp/4839912475 "DirectX9 シェーダプログラミングブック")
ライティング・シェーディングはもちろん、ポストエフェクトまで解説している良書です。
前半はHLSLに必要な知識（ベクトルや行列）を解説しているので、シェーダ入門には最適な教本だと思います。

## その他
[ゲームプログラマになる前に覚えておきたい技術（平山 尚）](https://www.amazon.co.jp/%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AB%E3%81%AA%E3%82%8B%E5%89%8D%E3%81%AB%E8%A6%9A%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E6%8A%80%E8%A1%93-%E5%B9%B3%E5%B1%B1-%E5%B0%9A/dp/4798021180/ref=sr_1_1?s=books&ie=UTF8&qid=1481849835&sr=1-1&keywords=%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AB%E3%81%AA%E3%82%8B%E5%89%8D%E3%81%AB%E8%A6%9A%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E6%8A%80%E8%A1%93 "ゲームプログラマになる前に覚えておきたい技術")
2Dから3Dまで、一通りの製作技術を学べる教本です。
技術だけでなく、その背景まで書かれているので基礎を固めるには最適な教本です。

[ゲームエンジン・アーキテクチャ（ジェイソン・グレゴリー）](https://www.amazon.co.jp/%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%83%BB%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E7%AC%AC2%E7%89%88-%E3%82%B8%E3%82%A7%E3%82%A4%E3%82%BD%E3%83%B3%E3%83%BB%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%83%BC/dp/4797377488 "ゲームエンジン・アーキテクチャ")
ゲームと言うよりフレームワークよりの内容です。
エンジンやフレームワークを作ってみたい人には、おすすめしたい一冊です。
非常に濃厚な一冊なので、ゆっくり時間をかけて読むことをおすすめします。

[ゲーム制作者になるための3Dグラフィックス技術(西川 善司)](https://www.amazon.co.jp/dp/4844333542/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=187205609&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=4844327550&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=4YMWK0382PAZYX47ANNM "ゲーム制作者になるための3Dグラフィックス技術")
3Dグラフィックの基礎知識から応用までを解説している教本です。
ソースコードこそないですが、肌や水面、大局照明なども解説されていて非常に面白い一冊です。

[3Dゲームファンのための3Dグラフィックス講座(西川 善司)](https://www.amazon.co.jp/3D%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%95%E3%82%A1%E3%83%B3%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E8%AC%9B%E5%BA%A7-%E8%A5%BF%E5%B7%9D-%E5%96%84%E5%8F%B8/dp/4844329510/ref=pd_sim_14_1?_encoding=UTF8&psc=1&refRID=EN7ZJQ7PYPSDDGBSHKQM "3Dゲームファンのための3Dグラフィックス講座")
実際のタイトルに使われた技術を解説している解説本です。
サンプルがないのが非常に残念ですが、面白い技術の宝庫です。

[リーダブルコード(Dustin Boswell)](https://www.amazon.co.jp/%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89-_%E3%82%88%E3%82%8A%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%A7%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-Theory-practice-Boswell/dp/4873115655/ref=sr_1_1?s=books&ie=UTF8&qid=1481852116&sr=1-1&keywords=%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89 "リーダブルコード")
私に可読性と言う言葉を教えてくれた教本です。
どの教本よりも早く読むべき教本だと思います。

# まとめ
正直他にも気になる教本がたくさんありますが以上です！
（Game ProgrammingやGPUPROとか高くて買えない・・・。）