ゲーム開発では、「ゲームエンジン」と呼ばれる
すでに作られたプログラムを利用することで開発が効率化しています。
「0からゲームプログラミング」をして開発することがないように思われるかもしれません。
しかし、ゲームエンジンを使っただけでの開発では、
他のゲームとの差別化をはかることが難しくなります。
同じゲームエンジンを使えば、できてくるゲームも似通ったものでは、になってしまい、
エンターテイメントであるゲームの真新しさなどの”売り”を作ることができません。
新しいゲームの売りを作るには、
ゲームエンジンにはないオリジナル機能を追加する
という方法が1つがあります。
ゲームエンジンにないオリジナルの機能を追加するとすると、
- ゲームエンジンの中身のコードを理解できる
- コードの元になる原理を知っておく
- 原理の元になっている数学を理解しておく
といった点が重要になります。
また、ゲームエンジンの中身の数学の詳細を知っていれば、
エラーが出た時に、
- それがアルゴリズムによるエラーなのか
- 単純な入力ミスによるエラーなのか
といったエラーの問題点の目安を得ることができ、
迅速に・適切に修正することができます。
ゲームプログラマとして、付加価値を高めるには、
ゲームエンジンの中身の数学などを理解して、
望む機能をゲームエンジンなしでも実装できる力
をつけておくことが役立ちます。
とはいっても
- ゲームプログラミングの数学って、どうやって勉強したらいいの?
- 数学は学んでないんだけど、苦手なんだけど、大丈夫?
- ゲームプログラミングの数学や物理を学ぶおすすめの本はある?
と思われる方も多いかと思います。
そこで本記事では、
- ゲームプログラミングに使われる数学の勉強法
- 数学が苦手な方でもわかりやすもの
- ゲームプログラミングの数学を学ぶためのおすすめの参考書や本
についてご紹介いたします。
本記事の概要
「ゲームプログラミング」の「数学」を基礎から入門したいあなたにおすすめの本はこちらです
ゲームプログララミングへの数学を基礎から学びたいあなたにおすすめの本はこちらです
ゲーム開発のための数学・物理学入門 改訂版 (Professional game programming)
本書は、ゲームプログラミングの数学について、
本格的な書籍を学ぶにはハードルが高いなぁ
と感じている方の最初の1冊におすすめです。
3次元のプログラミングで必要となる数学と物理について、
理論の解説と具体的なコードを見ながら、ひとつ1つ理解することができます。
数学では、点と直線、幾何学、三角法、ベクトル、行列、変換、などが学べます。
物理では、単位換算、1次元の運動、2次元・3次元の運動、ニュートンの運動の法則、エネルギー、運動量と衝突、回転運動、などを学べます。
ゲームプログラミングの3次元プログラミングについて、基礎を養い、高度な内容への橋渡しをできる1冊となっています。
同シリーズで、ゲームプログラミング開発に、数学や物理がどう使われているかをより実践的に感じながら学べる本もございます↓
こちらもございます↓
「Unity」はゲームエンジンとして知られていますが、
その中身は、数式処理エンジンとも言えます。
Unityを動かしながら数学的な内容を学ぶことができます。
- 数式だけで数学を勉強するのはどうも苦手だなぁ〜
という方にもオススメです。
Unityで手を動かしながら、視覚的に数学を学びたいあなたはこちら
Unityでわかる! ゲーム数学
本書は、ゲームプログラミングで使う「数学」について、
ゲームエンジンの1つ「Unity」を使いながら、
プログラミングだけでなく、実行結果を見ながら、視覚的にも学ぶことができる1冊です。
パート1とパート2にわかれています。
パート1では、Unityで数学を体験することができます。
基本的な物体の運動から始まり、座標変換、当たり判定、簡単なレンダリング、立体物の作成、などの数学が学べます。
パート2では、ゲームに必要となる数学の理論的な面も解説されています。
基本編として、比例・一次関数、直線の方程式、平面の方程式、二次関数・二次方程式、放物線、円、三角関数、ベクトルとその演算、が学べます。
応用編として、変換行列、微分、級数と積分、複素数とクォータニオン、が学べます。
Unityの操作も学ぶことができますので、
Unity初学者の方が、ゲーム数学も同時に学ぶことができるお得な1冊となっています。
ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで
本書は、ゲームアプリを開発する際に必要となる数学について、
Unityを使ったサンプルを通じて、効率的に学べる1冊です。
数学はまったくゼロの状態という方も、
現代のゲーム開発に必要な最低限な数学的内容をわかりやすく学べます。
加えて、数学の内容が、どう応用されているのかについて、
Unityを動かしてみることで、数式がグラフィックスにどのように適用されているかを
視覚的に理解することもでき、
初歩から上級まで一気に学ぶことができます。
基本的な数学の説明から、Unity での操作、グラフィックスパイプラインや、GPUアーキテクチャ、スマホ向けの最適化などもサクッと学べます。
短期間で最低限の内容を学習でき、
実際にゲーム開発者として就職できるレベルまでを
コンパクトにまとめた1冊となっています。
Unityに入門したいあなたはこちらもございます↓
作って学べる Unity 超入門
Unityの教科書 Unity 2019完全対応版 2D&3Dスマートフォンゲーム入門講座
詳しくはこちらの記事にもございます↓
『「ゲームプログラミング」に「Unity(ユニティ)」で基礎から入門したいあなたにおすすめの本はこちらです』
3次元(3D)処理に関する数学を「3D数学」と呼びます。
3D空間のデータの処理は、ゲームプログラミングやコンピュータグラフィックスに欠かせません。
3D数学について
- 具体例でわかりやすく学べるもの
- ゲームプログラミングに必要な3D数学の基礎を網羅したもの
- コンピュータグラフィックス(CG)の原理について微分幾何や多元環などの高度な数学への橋渡しとしての基礎を学べるもの
- CGの中で特にクォータニオンの数学を中心に、プログラミングコードとともに丁寧に学べるもの
といったものをご紹介します。
3次元のゲームプログラミングの数学を特に学びたいあなたにはこちら
3次元空間の情報を扱うときに必要となる数学を、図や具体例を交えながら、わかりやすく学べる1冊です↓
実例で学ぶゲーム3D数学
本書は、ゲームやグラフィックスのプログラミングを活用していきたいあなたのための3次元(3D)数学の教科書です。
3D数学というと、難しいと思われるかもしれませんが、
本書では、入門書として、他書では説明が省かれるような基本的な概念なども丁寧に説明されています。
1つの概念について、(1), 数式から説明 (2), 図による説明 (3), プログラミングコードでの説明、のように、
視覚的にもわかりやすくまとめられており、効率的にプログラミングを学べます。
3次元のゲームやグラフィックス、シミュレーション、ロボティクス、仮想現実、映像撮影などへの応用を考えているあなたにも、原理から学べる、特におすすめの1冊です。
ゲームプログラミングの3Dグラフィックスについて、わかりやすくよくまとめられた1冊です↓
ゲームプログラミングのための3Dグラフィックス数学
本書は、3Dゲームやリアルタイムコンピュータグラフィックスのプログラミングの数学的内容について、基礎から学びたいあなたに欠かせない1冊です。
本書の内容は、読者が理解しやすい順序に並べられおり、数学に苦手意識がある方も、つまずくことなく学べます。
ベクトル
- 行列
- 行列を使った変換
- 3Dの幾何学
- 照明
- 可視判定
- 衝突検出
- 並進、回転運動の物理
- 液体シミュレーション
のように、1つひとつの章を確実に理解することで、
順を追ってスムーズに、ゲームプログラミングの内容を理解できます。
数式だけでなく、図による解説も豊富で、
3次元数学がゲーム内容とどう関係あるのかについて、
実例が示されながらわかりやすく解説されています。
巻末には公式がまとめられており、忘れた時にはサクッと調べることもできるのがうれしいところです。
3Dゲームプログラミングの数学を原理からきちんと学べるおすすめの1冊となっています。
原著では第3版もございます↓
コンピュータグラフィックスについて、クォータニオンとスプライン曲線の数学を学べる1冊です↓
3Dグラフィックスのための数学入門 クォータニオン・スプライン曲線の基礎
近年のコンピュータグラフィックス(CG)では、
高度な数学(微分幾何や多元環など)が取り入れられ、
新しい手法が開発されています。
これらの数学を理解するには、高校数学や大学数学の基礎的な部分をまず理解する必要があります。
本書では、高度な数学を用いた3Dグラフィックスを学ぶための基礎を作れる1冊です。
具体的には、
- クォータニオン(四元数)
- 曲線の生成
についての解説がされています。
クォータニオンは、行列と比べてデメリットが少なく、
3次元の図形の回転をうまく扱うことができるメリットがあります。
曲線の生成では、NURBS曲線についての生成原理が具体的に解説されています。
NURBS曲線は、CAD/CAMでのスタンダードな方法ですので、今後の発展的な勉強の基礎にすることができます。
高校数学の復習から、CGの原理、投影の数理、四元数による回転、曲線の生成
という構成になっています。
コンピュータグラフィックスやCAD/CAMなどについて、
数学的な基礎から応用への橋渡しをしたいあなたにもオススメの1冊です。
特にクォータニオンについて、系統的に学びたいならこちらもございます↓
3D‐CGプログラマーのためのクォータニオン入門―「ベクトル」「行列」「テンソル」「スピノール」との関係が分かる! (I・O BOOKS)
クォータニオン(四元数)は、コンピュータグラフィックス(CG)のプログラミングをする上で必須の知識です。
本書では、CGプログラマの方や、目指す方向けに、
クォータニオンの数学とプログラミングについて、
初歩から、ひとつ1つ丁寧に解説されています。
数、ベクトル、行列などの説明から入り、
その後、クォータニオンの利点の源であるスピノールについての解説もあります。
ちなみにクォータニオンは物理の分野でも活用されており、量子力学を理解する際にも使えます。
増補版では、クォータニオンと群環体との関係や、
行列、複素数、クォータニオンの回転を、リー代数としてまとめて理解することができる点が解説されています。
CGのメカニズムについて、その背後にある数学や物理について、
ベクトル・行列・テンソル・スピノールなどを通じて、
きちんと学べる1冊となっています。
3Dゲームプログラミングへの数学には、こちらもございます↓
ゲームプログラミングにAI(人工知能)を活用したいあなたにオススメの本をご紹介します↓
ゲームプログラミングにAI(人工知能)を活用したいあなたにはこちら
ゲームのアルゴリズム 改訂版 思考ルーチンと物理シミュレーション
本書は、ゲームプログラミングでよく使われる「思考ルーチン」と「物理シミュレーション」について、初心者にもわかりやすく解説した1冊です。
ゲームプログラミングが初心者の方が、
- 何から始めていいかわからない
- どうやってプログラムを書いていったらいいの?
- ゲームプログラミングにおける思考ってなに?
のように、
ゲームプログラミングの初歩の初歩をあえて詳しく解説することで、
大規模なゲーム開発の時にも必要となる「物事の見方」や「プログラミングへの考え方」を学べます。
また、市販ゲームのような動きを作るのは高度なプログラミングが必要だろう、のような思い込みを払拭してくれ、
ゲームプログラミングへの第1歩を踏み出すハードルを下げてくれます。
注意点としては、本書は初学者が取り組みやすいわかりやすい例を取り上げていますので、
本格的なアプリケーションを作成する場合には、より詳しく解説のある他書を参照する必要があります。
本書は、ゲームプログラミングを始めたい方が、
まず基本として学んでおくとよい、ゲームプログラミングの見方や考え方について、
きちんと体得できる本となっています。
文章も読みやすく書かれており、ゲームのアルゴリズムについてサクッと概要をつかみたい方みのおすすめです。
こちらもございます↓
この2冊は、Kindle Unlimitedの登録することで、
- 無料で読むことが可能
です。
お試し登録(解約できて無料)をしてみてはいかがでしょうか(初回30日間無料で体験できます)↓
ゲームプログラミングについて、初級者から中級者以上に腕を磨いていきたいあなたにオススメの本です↓
Game Programming Gems 8 日本語版
本書はゲーム開発者が手元に置いておくと仕事がはかどる参考書です。
ゲームプログラミングでは、日々新しいテクニックが生まれますが、
それらをフォローしていくためにも、系統的な学びが重要です。
本書では、最新の各ゲーム開発技術に加え、
Facebookとの連携や、3Dストリーミングなどの新しいテクニックも学ぶことができます。
また、MMOなどでのプレイヤーの行動解析の方法なども学ぶことができます。
具体的には、
- グラフィックス
- 物理とアニメーション
- AI(人工知能)
- ネットワークプログラミング
- オーディオ
- 汎用GPUプログラミング
など、ゲーム開発に関するほぼすべての内容を網羅した辞書としても使え、
ゲームプログラミングの専門知識を得れる1冊となっています。
というわけで、本記事では、
- ゲームプログラミングに使われる数学の勉強法
- 数学が苦手な方でもわかりやすもの
- ゲームプログラミングの数学を学ぶためのおすすめの参考書や本
についてご紹介しました。
こちらもございます↓
こちらの記事もございます↓
『「高校数学」をサクッと身につけたい・復習したい・やり直したいあなたにおすすめの本はこちらです』
『高校数学を独学で学びたい、やり直したい社会人のあなたにおすすめの本はこちらです』
『人工知能技術に関係が深い「数学」を学びながら、同時に「プログラミング」もサクッと身につけたいあなたのために、おすすめの本や参考書、10冊はこちらです』
『「中学数学」をサクッと身につけたい・復習したい・やり直したいあなたにおすすめの本、27冊はこちらです』
『プログラミング超初心者のあなたが、独学で基礎から入門するのに役立つ、プログラミング勉強法、おすすめの本はこちらをどうぞ』
『「ゲームプログラミング」をやりたいプログラミング初心者の方向けのおすすめのプログラミング言語と参考書や本はこちらです』
↓こちら無料で読めます
ちなみにこれらは、Kindle Unlimitedの登録することで、
- 無料で読むことが可能
です。
お試し登録(解約できて無料)をしてみてはいかがでしょうか(初回30日間無料で体験できます)↓