ゲームプログラミング C++
ゲームプログラミングシープラスプラス
- 著者:
- Sanjay Madhav / 吉川 邦夫 / 今給黎 隆(サンジャイ マドハヴ / ヨシカワ クニオ / イマギレ タカシ)
- 出版社:
- 翔泳社
- 出版日:
- 2018年12月05日頃
- ISBN:
- 9784798157610
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
誰も教えてくれなかった、
ゲーム開発の基本を徹底的に学ぼう!
・ゲームとはどんなプログラムなのか?
・「あの機能」はどうやって実装されているのか?
3D グラフィックスからサウンド、AI まで。
ゲームプログラマーになりたい人のみならず、
すべてのゲーム開発者が知っておきたい「基本」が詰まった、
ゲーム開発の教科書!
C++ の初歩は習得済みで、本気でゲームプログラミングを学びたい人が、
新人になる前に、確かな基礎力を磨ける一冊。
====目次====
Chapter 1 ゲームプログラミングの概要
Chapter 2 ゲームオブジェクトと 2D グラフィックス
Chapter 3 ベクトルと基礎の物理
Chapter 4 人工知能 (AI)
Chapter 5 OpenGL
Chapter 6 3D グラフィックス
Chapter 7 オーディオ
Chapter 8 入力システム
Chapter 9 カメラ
Chapter 10 衝突検知
Chapter 11 ユーザーインターフェイス (UI)
Chapter 12 スケルタル (骨格) アニメーション
Chapter 13 中級グラフィックス
Chapter 14 レベルファイルとバイナリデータ
付録 A 中級 C++ の復習
技書の森解説
ゲームエンジンが毎フレーム何をしているのかを、市販のエンジンに頼らず C++ のコードで組み立てながら学ぶための教科書が『ゲームプログラミング C++』 (Sanjay Madhav 著、吉川 邦夫 訳、今給黎 隆 監修、翔泳社、2018 年 12 月刊) です。原書は GAME PROGRAMMING IN C++ で、版元は本書を「ゲーム開発の教科書」と呼び、「3D グラフィックスからサウンド、AI まで」を扱うと紹介しています。対象として挙げられているのは「C++ の初歩は習得済みで、本気でゲームプログラミングを学びたい人」です。
全 14 章と付録 A、ゲームループから遅延シェーディングまで
本文は全 14 章と付録 A の構成です。Chapter 1 のゲームプログラミングの概要では、開発環境の準備と本書のソースコードの入手から入り、ゲームループとゲームクラス、基本的な 2D グラフィックス、ゲームの更新を扱います。Chapter 2 でゲームオブジェクトとスプライト、背景のスクロールへ進み、Chapter 3 のベクトルと基礎の物理ではベクトル、運動の基本、ニュートン物理学、基礎的な衝突検出を、Chapter 4 の人工知能 (AI) ではステートマシンの振る舞い、経路探索、ゲーム木を取り上げます。Chapter 5 の OpenGL からは 3D に移り、シェーダー、座標変換、行列、テクスチャマッピングを経て、Chapter 6 で 3D モデルのロードとライティングを扱います。続く Chapter 7〜11 はオーディオ、入力システム、カメラ、衝突検出、ユーザーインターフェイスで、カメラの章には FPS カメラ、追従カメラ、軌道カメラ、スプラインカメラ、逆射影が並びます。Chapter 12 はスケルタルアニメーション、Chapter 13 の中級グラフィックスはテクスチャの品質の向上、テクスチャへのレンダリング、遅延シェーディング、Chapter 14 はレベルファイルとバイナリデータで、付録 A は中級 C++ の復習です。全 14 章の末尾には、ゲームプロジェクト、まとめ、参考文献、練習問題の 4 つの節が共通して置かれています。
ゲームループと座標変換、エンジンの裏側で起きていること
ゲーム開発 で最初に向き合う仕組みは、入力を受け取り、ゲームの状態を更新し、画面と音を出力するという処理を 1 フレームごとに繰り返すゲームループです。市販のエンジンはこの繰り返しを隠してくれますが、前のフレームからの経過時間で動きを計算する理由や、更新と描画の順序が崩れたときに何が起きるかは、自分でループを書いて初めて腑に落ちます。3D の描画では、モデルの頂点を行列の掛け算で世界の座標へ、さらにカメラから見た座標へと移していく座標変換が土台になり、その計算を GPU 上で走らせる小さなプログラムがシェーダーです。決まった条件で状態を移り変わらせる処理を ステートマシン として組む設計や、ノードとエッジの集まりの上で最短の道のりを求める グラフアルゴリズム も、ゲームの外のソフトウェアにそのまま通じる技術です。こうした要素がどのように 1 本のプログラムの中で組み合わさるのかを、章ごとのゲームプロジェクトで確かめていけるのが本書の作りです。
C++ の初歩を終えた人向け、前提知識と 2018 年時点の環境
前提として求められるのは、版元の言う C++ の初歩です。クラスやポインターを使った C++ のコードを読み書きできれば入れますが、付録 A が参照、ポインター、配列、クラスに関連するトピック、コレクションを復習の題材にしていることから、本文はその程度の知識を下敷きにして進むと考えておくのが安全です。ベクトルや行列は Chapter 3 と Chapter 5 の中で扱われるので、数学は本文と並行して確かめながら進められます。一方で、刊行は 2018 年で、開発環境や利用するライブラリの手順はその時点のものです。目次に特定の市販エンジンの名前は出てこないため、Unity や Unreal Engine の操作を覚えたい人の目的には合いません。また目次にネットワークや通信対戦を扱う章や節は無いので、オンライン対戦の実装を学びたい場合は別の本が必要です。
エンジンを使う側から一歩進んで、描画やカメラ、衝突検出の仕組みを自分で説明できるようになりたい人や、ゲーム会社の新人になる前に基礎を固めたい学生にとって、14 の章でゲームの部品を一つずつ実装していく本書は、時間をかけて通す価値のある一冊です。各章の練習問題まで手を動かすつもりで、Chapter 1 から順に進めるのが向いています。
言及した記事 (12 件)
『ゲームプログラマのためのコーディング技術』が良かった話
♡ 9C++, 読書, ゲーム開発, 読書感想文, ゲームプログラミングvcpkg, CMake, MSBuild, VScodeでC++開発環境を整える
♡ 5CMake, MSBuild, VSCode, vcpkgゲーム制作入門書を読んでいたら過去に実装したゲームにあったバグの解決方法が載っていた件
♡ 5C++, ゲーム制作, Siv3D構造力学パズル「SigmaZero」を AI と作った 196 日・952 コミット—Unity教科書の勉強から Claude Code のエージェント組織運営まで
♡ 4Unity, AI, ClaudeCode, Gemini, 構造力学オライリーサブスクのすすめ+最近読んでる技術書
♡ 4C++, C#, Rust, DeepLearning, 技術書ゲームの権利表記からOSSを調べて実装してみた
♡ 3C++, ゲーム, OSS「ゲームプログラミングC++」第1章 Pongゲーム実装まとめ
♡ 1C++, ゲーム開発, SDL2【ゲームプログラミングC++】Chapter1課題に回答してみた
♡ 1cpp, ゲーム開発AIの出題クイズから学ぶ、ゲーム開発におけるC++と最適化の基礎
♡ 0C++, AI, ゲーム開発, 学習ログC++とSDL2によるゲーム開発:コンポーネントパターンの基礎と実装例
♡ 0C++, ゲームプログラミング, SDL2, 設計
この本に興味がある方におすすめ
関連する本
関連記事
ChatGPT に聞けば済む時代に、あえて本を開く理由
生成 AI で何でも聞ける時代に、技術書を読む意味はあるのか。AI の回答と書籍の知識の決定的な違いを掘り下げ、両者の使い分けを提案します。
LLM / 生成 AI 本ガイド - 仕組み / 実装 / エージェント開発の 3 層で選ぶ (2026 年 8 月時点)
LLM (大規模言語モデル) / 生成 AI を学ぶ技術書の選び方を 3 層 (読み物で仕組みを掴む → 中身を実装で理解する → RAG / AI エージェント開発) で整理。2026 年 8 月時点の定番書と、変化の速い分野で本を選ぶときの注意点を解説します。
ゲームが好きならプログラミングの本も読める
ゲームの攻略本を読んだことがあるなら、プログラミングの本も読めます。攻略本とプログラミング本の共通点から、読書のハードルを下げます。