ゲーム開発のための数学・物理学入門

この本の5割で ゲームは出来る

ゲームに必要な数学&物理学を基礎から解説しています。
ちなみに本書の5割の知識があれば、就職作品のゲームは作れます。

数学や物理学の世界は広大です。
本書はその世界から、ゲーム開発に必要なものだけピックアップして解説してくれます。

だから、基礎が効率良く身に付けられます。

数学はどこまで必要か?

ゲームプログラミングの基本になる数学は次の3つです(いわゆる御三家)。

  • 三角関数
  • ベクトル
  • 行列

教師としての経験上、とりあえずこの3つを押さえれば(2Dでも3Dでも)就職作品のゲームは作れます。

具体的には、自在にキャラを移動・回転・拡縮できるようになります。
(物理の方はウソ物理でも面白ければ何とかなる)

本書は、この3分野の中でもゲームに使う所だけコンパクトにまとめてあります。
そんな割り切った構成なので、必要な所を素早く学ぶには最適といえます。

また中学校の教科書レベルから段階的に学べるので、文系の人にも助かります。
かくいう私も高校大学はずっと文系でしたが、本書を抵抗なく読めました。

ゲームプログラミングのお供に

本書を読むコツとしては

  • 先頭から順に読み進めるより、興味のある章を優先する
  • 電卓をガンガン使う(楽なので)
  • 公式がゲームのどんな場面で使えるか妄想する

のような点を心掛けてみて下さい。

冒頭で述べたように、就職作品としてのゲームなら、本書の5割の内容で十分制作できます。

だからゲームプログラミングを学ぶ人には、お釣りが来るほど役立つ一冊と言えます。

補足 行列の形式について

どこに書こうか迷いましたが、ここで説明しておきます。

DirectX と OpenGL では、行列の形式が違います。
巷の書籍やサイトでは、その点に触れてないものも多く、ちょっとした混乱の元になっているようです。

私も以前DirectXの講義で課題を出したら、ある学生はネットで拾ったOpenGLのソースを元にして組んだせいでメダパニってました。

次のように DirectX と OpenGL では、行列のタテヨコが逆転します。

DirectX形式(別名 行優先)

(1)(2)(3)(4)
(5)(6)(7)(8)
(9)(10)(11)(12)
(13)(14)(15)(16)

OpenGL形式(別名 列優先)

(1)(5)(9)(13)
(2)(6)(10)(14)
(3)(7)(11)(15)
(4)(8)(12)(16)

こんな風に違いがあるので、書籍やサイトを見る時は、まずどちらの形式か確認しましょう。

はっきり明言してれば助かりますが、そうじゃないケースも結構あります(OpenGL形式の本に多い)。

ちなみに本書は OpenGL形式 です。またDirectX形式との違いにも、しっかり言及してます。

あわせて読みたい

DirectX ゲームグラフィックス プログラミング


DirectX ゲームグラフィックス プログラミング

N2Factory / ソフトバンククリエイティブ

行列の説明は、初心者にはこっちの方が分かりやすい。
もちろん行列は DirectX形式 です。
私のレビュー

実例で学ぶゲーム3D数学


実例で学ぶゲーム3D数学

Fletcher Dunn, Ian Parberry, 松田 晃一 / オライリージャパン

また本書の次のステップとして。詳しい理論の解説に優れた良書。
クォータニオンも扱ってます。
行列は DirectX形式 です。
私のレビュー

ゲーム開発のための数学・物理学入門

9.6

分かりやすさ

9.5/10

情報量

9.0/10

コストパフォーマンス

10.0/10

普遍性

10.0/10

Points

  • ゲーム数学の基礎が分かる
  • 文系にも優しい解説です
  • 必要な事を調べやすい構成

Notes

  • クォータニオンは扱っていないです
  • ベクトル&行列はOpenGL形式(列優先)です

Kuniaki Ebata 登録者

大学中退(文系)の専門卒 日本で唯一のプログラミング書籍評論家 プログラマーで現役のスキー国体選手です 頭と体を動かすのが大好きなフレンズなんだね 専門学校で先生もやってます プログラミングは21歳から 貴族じゃない独身 持病:重度うつ病(薬とサポートのおかげで何とか生きてます) 教え子をゲーム業界へどんどん送り込み、世界を面白くする野望を実現中 プログラミングが上達するメルマガやってます ここを見たゲーム業界の卒業生へ 新作が出たら、連絡するか現物を送ってくれると嬉しいです ただし18禁・CERO-Dの場合は、厳重に梱包の上、品名をパソコン部品にて送る事(だいじ) このページが参考になった方へ ぜひSNSやブログでシェアして欲しいです お願いします(少し上にボタンあります) 最近Google先生が中身の無い「いかがでしたか?」サイトを優遇するので困っています助けて下さい(>_<) シェアしてくださった方には 小冊子 プログラミング書籍が10倍わかる読み方(pdf) を差し上げます こちらからご報告頂くか、こっそりDMを送って下さい