ゲームアルゴリズムコレクション for iOS
松浦 健一郎/司 ゆき 著
B5変形判、1色、528ページ
価格 3,300円+税、出版日 2015/04/11、ISBN 978-4774173092
対応環境 Mac OS X Yosemite 10.10.2以上, iOS 8.2以上, Xcode 6.2以上
出版社 技術評論社
書誌情報
はじめに
使い方
サンプルプログラム
目次
Q&A
はじめに
本書はiOSでゲームアプリケーションを開発する方法を解説します。特に、色々なゲームのアルゴリズムについて取り扱っています。アルゴリズムとは本来、コンピュータで問題を解くための手順を定式化したものです。本書ではアルゴリズムという言葉を、ある機能を実現するための方式、といった緩やかな意味合いで用いています。
本書では、アクション、シューティング、パズル、RPGといったゲームの種類ごとに特徴的な動きを、数多く取り上げています。個々の動きについて、図解を中心に、実際に動くプログラム例とともに説明しています。
開発用のプログラミング言語には、主にC++を使います。iOSではObjective-Cが広く使われていますが、ゲームプログラミングに適した機能を備えていることと、他機種との間でプログラムの移植がしやすいことから、本書ではC++を採用しました。
初めてゲームプログラミングを行う方にもお楽しみ頂けるように、プログラムを短く簡潔にまとめた上で、図を使って直観的に説明することを心がけました。まずは図から大まかな仕組みを理解することを目標に、気楽に読んで頂けましたら幸いです。興味のある項目から、読み始めて頂いても構いません。
画像の表示やタッチ入力の検出といったゲームに欠かせない処理は、基盤となるプログラムにまとめました。本書のプログラムを利用すれば、複雑な処理を記述することなく、iOSのゲームプログラミングをすぐに楽しんで頂けます。
開発したゲームは、iPhoneやiPadといったiOSデバイスで遊んだり、App Storeで公開したりすることができます。ぜひ本書を片手に、iOSのゲームプログラミングを始めてみませんか。そして、自分が本当に面白い!と思うゲームを、自分の手で作り上げてみませんか?
書誌情報
はじめに
使い方
サンプルプログラム
目次
Q&A
使い方
本書は、iOSでゲームを作ってみたい方、特に「ジャンプ」や「レーザー」といった、色々なゲームの動きを作ってみたい方におすすめです。本書が提供するライブラリ(UnityやCocos2Dのような、ゲームを構築するための基盤プログラムの一種)を使うと、ごく短いプログラムで、色々なゲームの動きを再現することができます。また、本書が図解している内容を理解すると、色々な環境(各種のゲームエンジンやライブラリなど)に応用できる考え方が身につきます。
本書は次のようにお使いください。
- 開発環境をお持ちの場合には、サンプルプログラムを入手してください。
- 本書を使うとどんな動きが作れるのか、サンプルを実行して確かめてみてください。
- Chapter1「ゲームの基本となるアルゴリズム」をお読みください。
- サンプルに少し変更を加えて(画像、色、サイズを変えるなど)、実行してみてください。
- Chapter2~5は、特に興味がある項目があれば、その項目からお読みください。こだわりがなければ、Chapter2から順にお読みください。
- サンプルに変更を加えて、例えばジャンプの高さを変えたり、弾の数や速度を変えたりしてみてください。
- 本書を読み進めて、サンプルを操作するうちに、サンプルを変更して、作りたい動きに近い動きが再現できるようになることがねらいです。
- サンプルが自由に操作できるようになった後に、もしライブラリの構築にも興味を持った場合には、Appendixをお読みください。
- Appendixはかなり高度な内容なので、将来必要になったときにお読み頂けたら幸いです。
書誌情報
はじめに
使い方
サンプルプログラム
目次
Q&A
サンプルプログラムより
床が落ちる (アクションゲーム) |
分裂弾を発射する (シューティングゲーム) |
ピースを積み重ねる (パズルゲーム) |
シンボルエンカウント (ロールプレイングゲーム(RPG)) |
書誌情報
はじめに
使い方
サンプルプログラム
目次
Q&A
目次
Introduction: iOSでゲームを開発するには
-
iOSにおける開発
-
開発環境
-
プログラミング言語
-
本書のプログラム
-
本書のプログラムとデータの著作権
Chapter1: ゲームの基本となるアルゴリズム
-
物体を生成する
-
物体を移動する
-
タッチ入力を検出する
-
タッチ入力と物体の接触判定をする
-
物体同士の衝突判定をする
-
エフェクトを生成する
-
スコアを加算する
Chapter2: アクションゲームのアルゴリズム
-
落下する
-
床に乗る
-
ジャンプする
-
ジャンプの高さを調整する
-
2段ジャンプする
-
放物線ジャンプする
-
床が落ちる
-
床が移動する
-
敵を踏みつける
-
トランポリンで高くジャンプする
-
アイテムを拾う
-
アイテムを拾うと強くなる
-
アイテムを投げる
-
ゴムの張力でアイテムを撃つ
-
画面端で跳ね返る
-
壁で跳ね返る
-
荷物を押して運ぶ
-
全方向に荷物を押して運ぶ
-
荷物を持って運ぶ
-
破壊できない障害物を生成する
-
敵が自機を追いかける
-
敵が自機から逃げる
-
敵が自機を攻撃する
-
傾き入力を利用した操作をする
Chapter3: シューティングゲームのアルゴリズム
-
スライド入力で自機を移動させる
-
背景をスクロールさせる
-
背景を多重スクロールさせる
-
弾を生成・移動・消去する
-
自機が破壊される
-
自機狙い弾を発射する
-
n-way弾を発射する
-
円形弾を発射する
-
弾の動きを変化させる
-
分裂弾を発射する
-
加速弾を発射する
-
ショットを撃つ
-
ショットを一発ずつ撃つ
-
敵を生成・移動・破壊する
-
アイテムを自動回収する
-
直進レーザーを発射する
-
誘導レーザーを発射する
-
ロックオンする
-
ボムを発射する
-
バリアを生成する
Chapter4: パズルゲームのアルゴリズム
-
スライド入力でピースを移動する
-
スライド入力で隣接するピースを入れ替える
-
スライド入力で任意個のピースを入れ替える
-
ピースをなぞって選択する
-
距離の近いピースをなぞって選択する
-
ピースを並べて消す
-
ピースを落とす
-
スライド入力でピースを収穫する
-
一定数のピースが連続すると消える
-
四つ組ピースを生成する
-
四つ組ピースを落とす
-
四つ組ピースを移動・回転させる
-
四つ組ピースを横一行に並べて消す
-
四つ組ピースが落下する先の候補を表示する
-
ピースを積み重ねる
-
行動力でプレイ回数を制限する
-
スコアを段階的に上昇させる
Chapter5: ロールプレイングゲーム(RPG)のアルゴリズム
-
タッチ入力した場所までキャラクターを移動する
-
剣を持つ
-
剣を振る
-
剣で敵を倒す
-
迷路を表示し、自機を移動させる
-
マップを切り替える
-
ランダムエンカウントで敵に遭遇する
-
シンボルエンカウントで敵に遭遇する
-
ゲージを表示する
-
コマンドを表示・選択する
-
装備やアイテムを管理する
Appendix: ゲームプログラムの基盤
-
ファイル構成
-
ビューの制御
-
ゲーム本体のクラス
-
シェーダの制御
-
テクスチャの管理
-
タッチ入力
-
傾き入力
-
色
-
ベクトル
-
クォータニオン
-
その他の数学機能
-
乱数の生成
-
物体
-
物体のリスト
-
物体の生成
-
衝突判定
-
設定のセーブとロード
-
効果音の再生
書誌情報
はじめに
使い方
サンプルプログラム
目次
Q&A
最終更新 2022/08/02
©ひぐぺん工房 禁無断転載
最新刊『Java[完全]入門』
このサイトはリンクフリーです。
このサイトはChromeで動作検証しています。ブラウザにかかわらず表示に乱れがありましたらどうぞお知らせ下さい。
メールを送る