【随時更新】学生時代、自分的に読んでおいてよかった参考書一覧

2010年4月～2013年3月まで専門学生、2013年4月からゲーム会社で働く自分が
読んでおいてよかったと思う参考書を備忘録がてら、つらつら記載していきます。
よろしければ参考にしていただければと思います。

# 学生時代に読んでおいてよかったと思った参考書

## ロベールのC++入門講座
![ロベールのC++入門講座](http://ecx.images-amazon.com/images/I/51YnWlvjCbL._SX386_BO1,204,203,200_.jpg "ロベールのC++入門講座")
学生時代、とにかくお世話になった1冊。
今読んでも勉強になる本。
基礎的なところから、かなり深いところ（ビットフィールド、可変長配列メンバ、CとC++の違いなど）まで触れています。
C++11以前の内容なので、今読むと古い内容かもしれませんが
「プログラム初心者」「C++でプログラム初めてみたいな」という方はぜひ読んでみてはいかがでしょうか？

## ゲームプログラマになる前に覚えておきたい技術
![ゲームプログラマになる前に覚えておきたい技術](http://ecx.images-amazon.com/images/I/413fJFrTHBL._SX368_BO1,204,203,200_.jpg "ゲームプログラマになる前に覚えておきたい技術")
ゲームプログラマになりたいので買った本。
絵の出し方、シーケンス遷移、衝突判定、3Dグラフィックス数学など
ゲームを作るための技術が一通り書かれている本。
本にも記載されていますが基礎的なC++の知識と高校1年生の数学知識を必要とします。

## 増補改訂版Java言語で学ぶデザインパターン入門
![増補改訂版Java言語で学ぶデザインパターン入門](http://ecx.images-amazon.com/images/I/51k0udCitAL._SX395_BO1,204,203,200_.jpg "増補改訂版Java言語で学ぶデザインパターン入門")
クラスの使い方や書き方がわかった時に読んだ本。
基本となるデザインパターンを図解とJavaのコードで記載しています。
言わずもがな、読んでおいて損のない本なので手元においてはいかがでしょうか？

## 増補改訂版Java言語で学ぶデザインパターン入門
![増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編](http://ecx.images-amazon.com/images/I/41R9eyP8jNL._SX373_BO1,204,203,200_.jpg "増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編")
「増補改訂版Java言語で学ぶデザインパターン入門」のあとに読んだ本。
マルチスレッドの基礎から書いているので、マルチスレッド初心者でも読める本。
タイムスレッド図の書き方も載っているので、マルチスレッドで必要となる考え方、デバッグの仕方も学べます。

## DirectX9必携
![DirectX9必携](http://ecx.images-amazon.com/images/I/51xsAhqrm%2BL._SX329_BO1,204,203,200_.jpg "DirectX9必携")
DirectX9でゲーム作り時に何かとお世話になった本。
ところどころ誤植がありますが、DirectX9の内容を一通り触っている本。

## DirectXシェーダプログラミング 仕組みからわかるゲームエフェクトテクニック
![DirectXシェーダプログラミング 仕組みからわかるゲームエフェクトテクニック](http://ecx.images-amazon.com/images/I/51S31o8tzsL._SX389_BO1,204,203,200_.jpg "DirectXシェーダプログラミング 仕組みからわかるゲームエフェクトテクニック")
絵作りに興味が出てきたので読んだ本。
マルチテクスチャマッピング、マルチパスレンダリング、ブレンディングの基礎など
基本的な絵作りのために必要な知識が一通りまとまっています。
何故かキーフレームアニメーションの基礎も記載しているので
そこに興味のある方も読んでみてはいかがでしょうか？

## DirectX 9 シェーダプログラミングブック
![DirectX 9 シェーダプログラミングブック](http://ecx.images-amazon.com/images/I/41RBKWHDVTL._SX364_BO1,204,203,200_.jpg "DirectX 9 シェーダプログラミングブック")
グラフィック（特にシェーダ）に興味のある方は是非一読しておいたほうがいい本。
もう10年以上前の書籍なので中身は古いですが3D数学の基礎から載っているので
3Dゲーム制作初心者にも優しい本です。
基礎的な表現はだいたい載っているので絵作りに興味ある方は読んでおいて損はないと思います。

## スクリプト言語による効率的ゲーム開発 新訂版
![スクリプト言語による効率的ゲーム開発 新訂版](http://ecx.images-amazon.com/images/I/51IPnI-jgVL._SX382_BO1,204,203,200_.jpg "スクリプト言語による効率的ゲーム開発 新訂版")
「スクリプト言語ってなんだろう？」と思って買った本。
リビルドを必要としない組み込み型スクリプト言語のLuaを組み込んでストラテジーっぽいゲームを作ることを目的としています。
Luaバインダのことも載っているので興味ある人は読んで損はない本。

## Squirrelゲームプログラミング 組み込みスクリプト言語による実践テクニック
![Squirrelゲームプログラミング 組み込みスクリプト言語による実践テクニック](http://ecx.images-amazon.com/images/I/51KYftcpBNL._SX391_BO1,204,203,200_.jpg "Squirrelゲームプログラミング 組み込みスクリプト言語による実践テクニック")
C++ライクな組み込み型スクリプト言語、Squirrelの解説参考書。
Luaの文法があまり好きじゃなかったので買って勉強しようと思った本です。
組み込み方法はもちろん、デバッグの仕方やシリアライズ、デシリアライズのやり方も書いてあるので
データのやり取りや運用も学べると思います。

# 学生時代に欲しかった本（社会人になってから読んだ学生向けな本）

## 動かして学ぶ3Dゲーム開発の数学・物理
![動かして学ぶ3Dゲーム開発の数学・物理](http://ecx.images-amazon.com/images/I/513YMQ4v-cL._SX394_BO1,204,203,200_.jpg "動かして学ぶ3Dゲーム開発の数学・物理")
3Dゲーム開発に必要な物理や数学が一通り載った本。
サンプルもあるのでわかりやすいです。
ただし、クォータニオンには全く触れていないので完全に数学を網羅しているものではありません。

## ゲームプログラマのためのコーディング技術
![ゲームプログラマのためのコーディング技術](http://ecx.images-amazon.com/images/I/51mo2vCXHfL._SX351_BO1,204,203,200_.jpg "ゲームプログラマのためのコーディング技術")
C++11でのコーディングのお作法が載っている本です。
非常に読みやすくそこまで分厚くないのですぐに読める本です。
綺麗なコード、わかりやすいコードに磨きをかけたいという方は是非一読してみてはいかがでしょうか？

## ゲームを動かす数学・物理
![ゲームを動かす数学・物理](http://ecx.images-amazon.com/images/I/51x%2BngSaYPL._SX346_BO1,204,203,200_.jpg "ゲームを動かす数学・物理")
CEDEC2015で早期販売していたので購入した本。
数学、物理だけでなく「プログラマとして数学や物理を考えた本」となっています。
整数と小数の違い、固定小数点や浮動小数点の違い、乱数など
本当にプログラマーが読んでおくべき内容となっています。
図解が多く読みやすのも特徴です。