目次
Part1 2次元のゲーム
Chapter1 はじまりのゲーム
1 1 パズルゲームを作ってみる
1 2 サンプルコードの解説
1 3 ステージデータ読みこみ機能をつける
1 4 C++について補足
1 5 おまけ:フラグとビット演算
1 6 おまけ:ポインタとメモリ
1 7 おまけ:参照
1 8 この章のまとめ
Chapter2 点から始める2Dグラフィックス
2 1 2Dグラフィックとは何か
2 2 準備
2 3 点を打ってみよう
2 4 荷物君を移植する
2 5 おまけ:終了処理
2 6 この章のまとめ
Chapter3 描いた絵を使う
3 1 ファイルから画像を読みこむ
3 2 画像付き荷物君のサンプルコード
3 3 アルファチャネルを使う
3 4 インクルード関係の決め方
3 5 おまけ:アルファブレンドの高速化
3 6 おまけ:加算ブレンド
3 7 この章のまとめ
Chapter4 リアルタイムなゲーム
4 1 リアルタイムなゲームとは
4 2 アニメーションさせる
4 3 アニメーション付き荷物君サンプル
4 4 フレームレートを取得する
4 5 フレームレートの差に対応する
4 6 おまけ:フレームレートに合わせてゲームの進行速度を変える方法
4 7 おまけ:ティアリング問題
4 8 この章のまとめ
Chapter5 かんたんなシーケンス遷移
5 1 ライブラリ追加機能
5 2 素直なやり方
5 3 シーケンスを増やしてみる
5 4 コードをチェック
5 5 サンプルコードの解説
5 6 この章のまとめ
Chapter6 文字の書き方
6 1 フォント用画像
6 2 文字描画関数
6 3 使いやすく
6 4 使ってみる
6 5 サンプルコードの解説
6 6 著作権に注意!
6 7 サンプルライブラリの機能
6 8 この章のまとめ
Chapter7 はじめてのアクションゲーム
7 1 使用するライブラリについて
7 2 「爆弾人」を作る
7 3 サンプルの解説
7 4 とりあえず背景だけ出してみる
7 5 動くオブジェクトを配置する
7 6 いよいよゲームにする
7 7 この章のまとめ
Chapter8 平面の衝突処理
8 1 衝突検出
8 2 衝突応答
8 3 複数衝突問題
8 4 衝突応答と操作性
8 5 動く物同士が当たる
8 6 爆弾人の衝突処理
8 7 この章のまとめ
Chapter9 いろいろな入力装置
9 1 入力装置インスタンスの取得
9 2 キーボード
9 3 マウス
9 4 ジョイスティック
9 5 爆弾人をジョイスティックで操作する
9 6 この章のまとめ
Chapter10 少しマシなシーケンス遷移
10 1 そもそも何が問題だったのか
10 2 継承を使う
10 3 実際に使う
10 4 おまけ:シーケンス移動コードを短くする
10 5 おまけ:階層間シーケンス移動も短くする
10 6 おまけ:継承についてもう少し
10 7 この章のまとめ
Chapter11 音を鳴らす
11 1 サウンドライブラリについて
11 2 おまけ:コンピュータで音を鳴らすということ
11 3 おまけ:音の高さと音の大きさ
11 4 おまけ:音色
11 5 おまけ:音の重ね合わせ
11 6 おまけ:ドレミの原理
11 7 おまけ:楽譜を読みこんで演奏する
11 8 おまけ:wavファイルの読みこみ
11 9 おまけ:Soundモジュールを使った波の合成
11 10 この章のまとめ
Chapter12 回す、伸ばす、動かす
12 1 回転
12 2 ベクタと行列の導入
12 3 頂点という考え方
12 4 拡大縮小
12 5 拡大縮小しながら回す
12 6 行列の威力
12 7 おまけ:回転の式は何故これで正しいのか?
12 8 おまけ:ちゃんと回す
12 9 おまけ:数学の中の行列
12 10 この章のまとめ
Chapter13 ハードウェアのパワー
13 1 使うライブラリについて
13 2 グラフィックスハードウェアで三角形を描いてみる
13 3 三角形に画像を貼る
13 4 アルファブレンド
13 5 回転、拡大縮小、移動
13 6 爆弾人を移植する
13 7 この章のまとめ
Part2 3次元のゲーム
Chapter14 立体を描く
14 1 ライブラリについて
14 2 3Dアクションゲーム「ロボファイト」を作るには
14 3 三角形を描く
14 4 手前のものを手前に描く
14 5 遠くのものを小さく描く
14 6 座標変換
14 7 透視変換も行列に
14 8 「ロボファイト」を作り始めよう
14 9 おまけ:zバッファ精度問題
14 10 この章のまとめ
Chapter15 ライブラリの作り方
15 1 全体設計
15 2 リソースの内訳
15 3 使ってみよう
15 4 ファイルからロードする
15 5 おまけ:ライブラリをゲームから分離する
15 6 この章のまとめ
Chapter16 XMLモドキを読む
16 1 ファイルフォーマットを決める
16 2 作る前の準備
16 3 処理の流れ
16 4 文字列の解釈
16 5 コードにする
16 6 使う
16 7 サンプルコード
16 8 おまけ:書き出し
16 9 この章のまとめ
Chapter17 遅くないコードを書くために
17 1 アルゴリズムと計算量オーダー
17 2 データ構造の基礎
17 3 スループットとレイテンシ
17 4 並列性
17 5 メモリの問題
17 6 STLとデータ構造
17 7 遅いのはどこか
17 8 おまけ:関数呼び出しそのものの重さ
17 9 おまけ:速い計算と遅い計算
17 10 この章のまとめ
Chapter18 立体の衝突処理
18 1 直方体での衝突処理
18 2 浮動小数点数を使った衝突検出
18 3 三角形と線分の交差判定
18 4 これで実用になるのか?
18 5 残された問題点
18 6 この章のまとめ
Chapter19 ロボファイトの設計
19 1 シーケンス遷移
19 2 操作系
19 3 弾を撃つ
19 4 一つにまとめる
19 5 フロントエンド
19 6 やっぱり足りないもの
19 7 この章のまとめ
Chapter20 光が当たるということ
20 1 物が見えるということ
20 2 光が減っていく過程
20 3 計算してみよう
20 4 ロボファイトに入れてみよう
20 5 おまけ:高速化のヒント
20 6 おまけ:もうちょっとマシな絵にするには
20 7 この章のまとめ
Chapter21 キャラクターが動き出す
21 1 相対移動
21 2 階層モデルクラス
21 3 木構造構築の自動化
21 4 アニメーションのデータ化
21 5 補間法
21 6 ロボファイトに入れる
21 7 おまけ:連立方程式vs決められた傾き
21 8 おまけ:足りないもの
21 9 この章のまとめ
Part3 売り物への道
Chapter22 遅くない衝突検出
22 1 とりあえず総当たりの遅さを実感してみる
22 2 高速化の基本
22 3 ソートに基づいた方法
22 4 分割による方法
22 5 おまけ:均等分割のさらなる改良
22 6 おまけ:高度な空間分割
22 7 この章のまとめ
Chapter23 ローディング
23 1 何故ロード時間は延びるのか
23 2 ファイルローダクラス
23 3 ファイル結合による高速化
23 4 圧縮による高速化
23 5 おまけ:マルチスレッドによる非同期処理
23 6 おまけ:符号化
23 7 おまけ:中身を見せないための結合と圧縮
23 8 この章のまとめ
Chapter24 floatの使い方
24 1 桁数に限りがあるということ
24 2 floatの中身
24 3 中途半端な数による誤差
24 4 誤差はどれくらい出るのか
24 5 誤差を飼いならす
24 6 特別な数
24 7 この章のまとめ
Chapter25 付属ライブラリ本番仕様
25 1 ライブラリのクラスについて
25 2 起動設定
25 3 Frameworkモジュール
25 4 WindowCreatorモジュール
25 5 FileIOモジュール
25 6 Baseモジュール
25 7 Mathモジュール
25 8 Threadingモジュール
25 9 Inputモジュール
25 10 Soundモジュール
25 11 PseudoXmlモジュール
25 12 Graphicsモジュール
25 13 Sceneモジュール
25 14 アンチエイリアス
25 15 最終版ライブラリにロボファイトを移植する
25 16 Xファイル
25 17 この章のまとめ
Chapter26 バグとの付き合い方
26 1 防火と消火
26 2 バグの種類
26 3 「予防」あるいは「防火」のこと
26 4 「治療」あるいは「消火」のこと
26 5 ロボファイト安全仕様
26 6 おまけ:メモリあふれ検出の中身
26 7 この章のまとめ
Chapter27 もっと先へ
27 1 何を学べばいいのか
27 2 ツール
27 3 AI
27 4 ネットワーク
27 5 シェーダ
27 6 参考文献
27 7 こんな本があったらいいのに
· · · · · · (
收起)