目次
- はじめに
Introduction iOSでゲームを開発するには
- iOSにおける開発
- 開発環境
- プログラミング言語
- 本書のプログラム
- 本書のプログラムとデータの著作権
Chapter1 ゲームの基本となるアルゴリズム
- 物体を生成する
- 物体を生成するプログラム
- 自機のプログラム
- 物体を移動する
- 移動する物体のプログラム
- タッチ入力を検出する
- タッチされた座標に物体を生成するプログラム
- タッチ入力と物体の接触判定をする
- タッチした物体を消すプログラム
- 物体を生成するプログラム
- 物体同士の衝突判定をする
- 物体同士の衝突判定を行うプログラム
- 物体を生成するプログラム
- エフェクトを生成する
- エフェクトを生成するプログラム
- エフェクトを動かすプログラム
- スコアを加算する
- タッチすると消える敵のプログラム
- 敵を生成するプログラム
- スコアを表示するプログラム
Chapter2 アクションゲームのアルゴリズム
- 落下する
- 落下のプログラム
- 自機を生成するプログラム
- 床に乗る
- 床に乗る自機のプログラム
- 自機と床を生成するプログラム
- ジャンプする
- ジャンプする自機のプログラム
- ジャンプの高さを調整する
- ジャンプの高さを調整するプログラム
- 2段ジャンプする
- 2段ジャンプする自機のプログラム
- 放物線ジャンプする
- 放物線ジャンプを行う自機のプログラム
- 自機とブロックを生成するプログラム
- 床が落ちる
- 床を落とす自機のプログラム
- 落ちるブロックのプログラム
- 床が移動する
- 床に乗る自機のプログラム
- 移動するブロックのプログラム
- 敵を踏みつける
- 敵を踏みつける自機のプログラム
- 踏みつけられる敵のプログラム
- トランポリンで高くジャンプする
- トランポリンで高くジャンプする自機のプログラム
- アイテムを拾う
- アイテムを拾うプログラム
- アイテムを拾うと強くなる
- アイテムを拾うとサイズが変わる自機のプログラム
- アイテムを投げる
- アイテムを投げる自機のプログラム
- 投げられるアイテムのプログラム
- ゴムの張力でアイテムを撃つ
- ゴムで撃たれるアイテムのプログラム
- 画面端で跳ね返る
- 画面端で跳ね返る自機のプログラム
- 壁で跳ね返る
- 壁で跳ね返るプログラム
- 荷物を押して運ぶ
- 自機がブロックを押すプログラム
- 全方向に荷物を押して運ぶ
- 自機がアイテムを全方向に押すプログラム
- 荷物を持って運ぶ
- アイテムを持って運ぶプログラム
- 破壊できない障害物を生成する
- 障害物に阻まれるプログラム
- 破壊できる障害物を生成する
- 障害物を破壊するプログラム
- 破壊される障害物のプログラム
- 敵が自機を追いかける
- 追いかけてくる敵のプログラム
- 敵が自機から逃げる
- 逃げる敵のプログラム
- 敵が自機を攻撃する
- 攻撃する敵のプログラム
- 傾き入力を利用した操作をする
- 傾き入力で移動する自機のプログラム
Chapter3 シューティングゲームのアルゴリズム
- スライド入力で自機を移動させる
- スライド入力で移動する自機のプログラム
- 自機を画面外に出さない
- 自機を画面外に出さないプログラム
- 背景をスクロールさせる
- スクロールするエフェクトのプログラム
- エフェクトを生成するステージのプログラム
- 背景を多重スクロールさせる
- 多重スクロールのプログラム
- 弾を生成・移動・消去する
- 弾のプログラム
- 弾を生成するステージのプログラム
- 自機が破壊される
- 弾に破壊される自機のプログラム
- 自機と弾を生成するプログラム
- 自機狙い弾を発射する
- 自機狙い弾のプログラム
- 自機誘導弾を発射する
- 自機誘導弾のプログラム
- 自機誘導弾を発射するプログラム
- n-way弾を発射する
- n-way弾のプログラム
- n-way状に物体を発射するプログラム
- 円形弾を発射する
- 円形弾のプログラム
- 円状に物体を発射するプログラム
- 弾の動きを変化させる
- 動きが変化する弾のプログラム
- 自機と弾を生成するプログラム
- 分裂弾を発射する
- 分裂弾のプログラム
- 分裂弾を発射するプログラム
- 加速弾を発射する
- 加速弾のプログラム
- 加速弾を発射するプログラム
- ショットを撃つ
- ショットを撃つプログラム
- 武器を発射するプログラム
- ショットを一発ずつ撃つ
- ショットを一発ずつ撃つプログラム
- 敵を生成・移動・破壊する
- 敵のプログラム
- 敵を生成するプログラム
- アイテムを自動回収する
- アイテムを自動回収するプログラム
- アイテムを配置するプログラム
- 直進レーザーを発射する
- 直進レーザーのプログラム
- 直進レーザーを発射する自機のプログラム
- 誘導レーザーを発射する
- 誘導レーザーのプログラム
- 誘導レーザーを発射するステージのプログラム
- ロックオンする
- ロックオンのプログラム
- 自機と敵を生成するプログラム
- ボムを発射する
- ボムでダメージを受ける敵のプログラム
- ボムを爆発させるプログラム
- ボムを発射するプログラム
- バリアを生成する
- バリアのプログラム
- バリアを生成するプログラム
Chapter.4 パズルゲームのアルゴリズム
- スライド入力でピースを移動する
- 基本となるピースのプログラム
- スライド入力で移動するピースのプログラム
- スライド入力でピースを移動する
- 基本となるピースのプログラム
- スライド入力で移動するピースのプログラム
- スライド入力で隣接するピースを入れ替える
- 入れ替わるピースのプログラム
- 入れ替わるピースを配置するプログラム
- スライド入力で任意個のピースを入れ替える
- 任意の個数が入れ替わるピースのプログラム
- ピースをなぞって選択する
- なぞって選択するピースのプログラム
- 距離の近いピースをなぞって選択する
- 互い違いに配置されたピースをなぞって選択するプログラム
- ピースを並べて消す
- ピースを並べて消すプログラム
- ピースを落とす
- ピースを落とすプログラム
- 落ちるピースを配置するプログラム
- スライド入力でピースを収穫する
- スライド入力で消えるピースのプログラム
- 一定数のピースが連続すると消える
- 一定数のピースが連続したことを調べるプログラム
- 四つ組ピースを生成する
- 四つ組ピースのプログラム
- 四つ組ピースを管理するプログラム
- 四つ組ピースを生成するプログラム
- 四つ組ピースを落とす
- ピースを配列に登録するプログラム
- ピースの接触判定を行うプログラム
- ピースを落下させるプログラム
- 四つ組ピースを移動・回転させる
- 四つ組ピースを移動・回転させるプログラム
- 四つ組ピースを横一行に並べて消す
- ピースを横一行に揃えて消すプログラム
- 四つ組ピースが落下する先の候補を表示する
- 落下先の候補を表示するプログラム
- 候補をタッチしたときのプログラム
- ピースを積み重ねる
- ピースを積み重ねるプログラム
- 積み重なるピースを生成するプログラム
- 行動力でプレイ回数を制限する
- 行動力の増加と減少を行うプログラム
- スコアを段階的に上昇させる
- スコアの段階的な上昇と記録を行うプログラム
Chapter.5 ロールプレイングゲームのアルゴリズム
- タッチ入力した場所までキャラクターを移動する
- タッチ入力で移動する自機のプログラム
- 剣を持つ
- 自機が持つ剣のプログラム
- 剣を持つ自機のプログラム
- 剣を振る
- 自機が振る剣のプログラム
- 剣を振る自機のプログラム
- 剣で敵を倒す
- 剣で倒される敵のプログラム
- 敵を配置するプログラム
- 迷路を表示し,自機を移動させる
- 迷路を歩く自機のプログラム
- 迷路を作るプログラム
- マップを切り替える
- マップを切り替えるプログラム
- ランダムエンカウントで敵に遭遇する
- ランダムエンカウントのプログラム
- シンボルエンカウントで敵に遭遇する
- シンボルエンカウントのプログラム
- ゲージを表示する
- ゲージを表示するプログラム
- コマンドを表示・選択する
- コマンドの表示と選択を行うプログラム
- コマンド実行時のエフェクトのプログラム
- 装備やアイテムを管理する
- 装備のプログラム
- 装備画面のプログラム
Appendix ゲームプログラムの基盤
- ファイル構成
- ビューの制御
- ビューの初期化
- ビューの破棄
- ビューの更新
- ビューの描画
- ゲーム本体のクラス
- 初期化
- 移動
- 描画
- 画面の消去
- シェーダの制御
- バーテックスシェーダ
- フラグメントシェーダ
- シェーダの管理
- シェーダのコンパイル
- シェーダのリンク
- シェーダの検証
- シェーダの初期化と破棄
- 描画前と描画後の処理
- テクスチャの描画
- テクスチャの管理
- テクスチャの初期化
- テクスチャの取得
- タッチ入力
- タッチ入力の管理
- タッチ入力の検出
- タッチ入力状態の更新
- 傾き入力
- 傾き入力の検出
- 色
- 色の表現と演算
- ベクトル
- ベクトルの表現と演算
- クォータニオン
- クォータニオンの表現と演算
- その他の数学機能
- 各種の数学機能を提供する定数と関数
- 乱数の生成
- 乱数を生成する関数
- 物体
- 物体の管理
- 物体の描画
- 物体のリスト
- 物体のリストを表すクラス
- 物体の生成
- 物体を生成する関数
- 衝突判定
- 物体間の衝突判定
- 設定のセーブとロード
- 設定のセーブとロードを行うクラス
- 効果音の再生
- 効果音を再生する例
- 効果音のクラス
- 効果音の初期化
- 効果音の取得
- プログラム実行画面一覧
- Chapter.1
- Chapter.2
- Chapter.3
- Chapter.4
- Chapter.5
- Appendix
- 参考ゲーム一覧
- おわりに