ゲームプログラミング C++

ゲームプログラミングシープラスプラス

ゲームプログラミング C++ の表紙
プログラミング
著者:
Sanjay Madhav / 吉川 邦夫 / 今給黎 隆(サンジャイ マドハヴ / ヨシカワ クニオ / イマギレ タカシ)
出版社:
翔泳社
出版日:
2018年12月05日頃
ISBN:
9784798157610
在庫:
在庫あり
0
中級者向け
C・C++・C#プログラミングC++ゲーム開発3DCG人工知能グラフィックス物理シミュレーションオーディオプログラミングユーザーインターフェース衝突検知

なぜ注目されているか

言及数
231位
総合537位 ↑ 6 ランクアップ 言及 16 件・うち記事 12 件を掲載
03520222023202420252026

書籍紹介

誰も教えてくれなかった、

ゲーム開発の基本を徹底的に学ぼう!

・ゲームとはどんなプログラムなのか?
・「あの機能」はどうやって実装されているのか?

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 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: