ゲームプログラミングC++(Sanjay Madhav 吉川 邦夫 今給黎 隆)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. ゲームプログラミングC++

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


翻訳
監修

形式:
書籍
発売日:
ISBN:
9784798157610
定価:
5,060(本体4,600円+税10%)
仕様:
B5変・528ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
紙の書籍

誰も教えてくれなかった、
ゲーム開発の基本を徹底的に学ぼう!

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

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++の復習

Chapter 1 ゲームプログラミングの概要
 1.1 開発環境を準備する
 1.2 本書のソースコードを入手する
 1.3 C++標準ライブラリの次に
 1.4 ゲームループとゲームクラス
 1.5 基本的な2Dグラフィックス
 1.6 ゲームの更新
 1.A ゲームプロジェクト
 1.B まとめ
 1.C 参考文献
 1.D 練習問題

Chapter 2 ゲームオブジェクトと2Dグラフィックス
 2.1 ゲームオブジェクト
 2.2 スプライト
 2.3 背景のスクロール
 2.A ゲームプロジェクト
 2.B まとめ
 2.C 参考文献
 2.D 練習問題

Chapter 3 ベクトルと基礎の物理
 3.1 ベクトル
 3.2 運動の基本
 3.3 ニュートン物理学
 3.4 基礎的な衝突検出
 3.A ゲームプロジェクト
 3.B まとめ
 3.C 参考文献
 3.D 練習問題

Chapter 4 人工知能(AI)
 4.1 ステートマシンの振る舞い
 4.2 経路探索
 4.3 ゲーム木
 4.A ゲームプロジェクト
 4.B まとめ
 4.C 参考文献
 4.D 練習問題

Chapter 5 OpenGL
 5.1 OpenGLを初期化する
 5.2 三角形の基礎
 5.3 シェーダー
 5.4 座標変換の基礎
 5.5 行列と変換
 5.6 テクスチャマッピング
 5.A ゲームプロジェクト
 5.B まとめ
 5.C 参考文献
 5.D 練習問題

Chapter 6 3Dグラフィックス
 6.1 Actorの3次元座標変換
 6.2 3Dモデルのロード
 6.3 3Dメッシュの描画
 6.4 ライティング(照明)
 6.A ゲームプロジェクト
 6.B まとめ
 6.C 参考文献
 6.D 練習問題

Chapter 7 オーディオ
 7.1 オーディオを立ち上げる
 7.2 3Dポジショナルオーディオ
 7.3 ミキシングとエフェクト
 7.A ゲームプロジェクト
 7.B まとめ
 7.C 参考文献
 7.D 練習問題

Chapter 8 入力システム
 8.1 入力デバイス
 8.2 キーボード入力
 8.3 マウス入力
 8.4 コントローラー入力
 8.5 入力のマッピング
 8.A ゲームプロジェクト
 8.B まとめ
 8.C 参考文献
 8.D 練習問題

Chapter 9 カメラ
 9.1 FPSカメラ
 9.2 追従カメラ
 9.3 軌道カメラ
 9.4 スプラインカメラ
 9.5 逆射影
 9.A ゲームプロジェクト
 9.B まとめ
 9.C 参考文献
 9.D 練習問題

Chapter 10 衝突検知
 10.1 幾何学図形の種類
 10.2 交差判定
 10.3 コードに衝突検知を追加する
 10.A ゲームプロジェクト
 10.B まとめ
 10.C 参考文献
 10.D 練習問題

Chapter 11 ユーザーインターフェイス
 11.1 フォントレンダリング
 11.2 UI画面
 11.3 HUD要素
 11.4 ローカライゼーション
 11.5 複数解像度のサポート
 11.A ゲームプロジェクト
 11.B まとめ
 11.C 参考文献
 11.D 練習問題

Chapter 12 スケルタルアニメーション
 12.1 スケルタルアニメーションの基礎
 12.2 スケルタルアニメーションの実装
 12.A ゲームプロジェクト
 12.B まとめ
 12.C 参考文献
 12.D 練習問題

Chapter 13 中級グラフィックス
 13.1 テクスチャの品質を高める
 13.2 テクスチャへのレンダリング
 13.3 遅延シェーディング
 13.A ゲームプロジェクト
 13.B まとめ
 13.C 参考文献
 13.D 練習問題

Chapter 14 レベルファイルとバイナリデータ
 14.1 レベルファイルのロード
 14.2 レベルファイルのセーブ
 14.3 バイナリデータ
 14.A ゲームプロジェクト
 14.B まとめ
 14.C 参考文献
 14.D 練習問題

Appendix A 中級C++の復習
 A.1 参照、ポインタ、配列
 A.2 クラスに関連するトピック
 A.3 コレクション
 A.4 参考文献

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2021年08月06日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 0-xiii
目次の「3.4」のタイトル
4刷
基礎的な衝突検出
基礎的な衝突検知
2021.08.06
1刷 0-xiv
目次の「5.2.2」のタイトル
2刷
正規化デバイス座標(NDC)
正規化デバイス座標系(NDC)
2018.12.06
1刷 0-xviii
目次の「10章」のタイトル
2刷
衝突検出
衝突検知
2018.12.06
1刷 003
「1.2 本書のソースコードを入手する」11行目
3刷
単に緑色の[Clone or download]
単に緑色の[code]

※リフローEPUBの場合、「1.2 本書のソースコードを入手する」の3つ目の段落が該当箇所になります。
2021.06.22
1刷 092
課題3.1 問1
2刷
b=<3.5>、
b=<3,5>、

「.」を「,」に修正します。

※リフローEPUBの場合、第3章の「3.D 練習問題」の「課題3.1」の問1の問題文が該当箇所になります。
2020.03.10
1刷 093
課題3.2 上から2行目
4刷
そのためには、まずShipにCollisionComponentを作って半径を指定する必要がある。
そのためには、まずShipにCircleComponentを作って半径を指定する必要がある。

※リフローEPUBの場合、第3章の「3.D 練習問題」の「課題3.2」の問題文の最初の段落が該当箇所になります。
2021.04.19
1刷 093
課題3.1 問2
2刷
B = <2.4>
B = <2,4>

「.」を「,」に修正します。

※リフローEPUBの場合、第3章の「3.D 練習問題」の「課題3.1」の問2の問題文が該当箇所になります。
2020.03.10
1刷 107
前ページから続くリスト4.2
3刷
while (!q.empty()) {
q.emplace(start); while (!q.empty()) {

1行目に「q.emplace(start);」を追加します。

※リフローEPUBの場合、コードの8行目「 // 最初のノードをキューに入れる(enqueue)」の下に「q.emplace(start);」を追加するかたちになります。
2020.03.23
1刷 175
コード最終行
3刷
mShader.SetMatrixUniform("uViewProj", viewProj);
mSpriteShader->SetMatrixUniform("uViewProj", viewProj);

※リフローEPUBの場合、「5.5.6変換行列を使うようにシェーダーを更新する」の囲み「uniformバッファオブジェクト(UBO)」の後にある2行のコードの2行目が該当箇所になります。
2020.03.18
1刷 192
訳注3
3刷
旧版の邦訳は『リアルタイム レンダリング 第2版』Thomas Akenine-Moller, Eric Haines 著、川西 裕幸 訳(ボーンデジタル、2006年)。
邦訳は『リアルタイムレンダリング 第4版』Tomas Akenine-Moller, Eric Haines, Naty Hoffman 著、髙橋 誠史、今給黎 隆 監修、加藤諒 編集、中本 浩 訳(ボーンデジタル、2019年)。

※リフローEPUBの場合、「5.C参考文献」の「訳注3」のリンクをクリックすると表示される注の文章が該当箇所になります。
2021.06.22
1刷 256
「7.B まとめ」2行目
3刷
製品品質のサウンドシステムを
商用レベルのサウンドシステムを
2021.06.22
1刷 338
「リスト10.9 球スイーブの交差」下から10行目
4刷
if (outT >= 0.0f && outT <= 0.0f)
if (outT >= 0.0f && outT <= 1.0f)
2021.04.19
1刷 354
「11.1 フォントレンダリング」2行目
3刷
直線とベジエ曲線で表現する。
直線とべジェ曲線で表現する。

「ェ」を小文字に修正します。
2021.06.22
1刷 385
訳注
2刷
訳注1 203 ページの訳注でも述べたが、Unreal Engine 向けエクスポーターはまだ提供されていない。今後、Exporterフォルダーにポストされるものと予想される(2018 年10月現在)。 訳注2 邦訳は『ゲームエンジン・アーキテクチャ 第2 版』ジェイソン・グレゴリー 著、大貫 宏美、田中 幸 訳、今給黎 隆、湊 和久 監修( ソフトバンク・クリエイティブ、2015 年)。「11.6 アニメーションブレンディング」などに詳しい記述がある。
訳注1 参考文献にあるJason Gregoryの本では、「スキンアニメーション」および「関節」が使われている(同書の第11章)。 訳注2 203 ページの訳注でも述べたが、Unreal Engine 向けエクスポーターはまだ提供されていない。今後、Exporterフォルダーにポストされるものと予想される(2018 年10月現在)。

※リフローEPUBの場合、訳注1は「12.1スケルタルアニメーションの基礎」の囲み「スキンアニメーション」の最終行、訳注2は「スキンアニメーションの囲みの下にある、3つ目の段落が該当箇所になります。注の文章はそれぞれ「訳注1」「訳注2」のリンクをクリックすると表示されます。
2018.12.06
1刷 445
訳注4
3刷
邦訳『リアルタイム レンダリング 第2版』。反射マップについては「6.4.2 環境マッピング フィルタ処理」を参照。ステンシルバッファについては索引の「バッファ」-「ステンシル」にある項を参照。
邦訳は『リアルタイムレンダリング 第4版』Tomas Akenine-Moller, Eric Haines, Naty Hoffman 著、髙橋 誠史、今給黎 隆 監修、加藤諒 編集、中本 浩 訳(ボーンデジタル、2019年)。反射マップについては「10.4 環境マッピング」を参照。ステンシルバッファについては索引の「バッファ」-「ステンシル」にある項を参照。

※リフローEPUBの場合、「13.C参考文献」の「訳注4」のリンクをクリックすると表示される注の文章が該当箇所になります。
2021.06.22