マーリンアームズ サポート   翻訳   コンサル   講座   アプリ   コラム
JavaScript講座     辞書サイト

iPhone/iPadゲーム開発ガイド ── Objective-Cで作る2D/3Dゲーム    P. Zurkle & J. Hogue著    武舎広幸+阿部和也+武舎るみ訳

まえがき

まず初めに、我々がこの本をどのような方々を対象に、何を伝えたくて書いたのかをお知らせしま しょう。我々のバックグラウンドからご覧ください。

著者について

長年ロサンゼルスで暮らしてきた良き友人であり、ともにプログラマーで、2003年からモバイルゲームを作り続けてきました。2人で“NINJA GAIDEN”(邦題同)、“Castlevania: Order of Shadows”(邦題『悪魔城ドラキュラ』)、“Dance Dance Revolution: Mobius”(国内未発売の携帯版『ダンスダンスレボリューション』)、“Contra 4”(邦題『魂斗羅 デュアルスピリッツ』)、などなど100近いゲームの開発や移植をしてきました。現在、Paul Zirkle(ポール・ザクロ)は米国Konami Digital Entertainmentに勤めており、ときどき南カリフォルニア大学でゲームソフトのプログラミングに関する講義を行っています。Joe Hogue(ジョー・ホーグ)は米国Electronic Artsに勤めており、最近iPhone用のゲームを発表しました。この本の解説の大半はZirkleが書きましたが、気のきいたサンプルプログラムはHogueが作りました。

本書のねらい

iPhone/iPadなどのiOS機器は新たなゲームプラットフォームとして世の注目を浴びるだろう。我々はそう期待しています─いや、すでにたいへんな注目を浴びています。従来型のゲームに十分なパワーやグラフィックス性能を備えているだけでなく、無類のタッチスクリーンとジャイロスコープを駆使したインタフェースを持つ、革新的なゲームソフトの登場を促すこと請け合いの画期的なプラットフォームなのです。加えて、App Storeというオープンマーケットがあるおかげで、独立系の開発者が容易に参入でき、本格的な開発会社も収益を正確に追跡できるため、業界で大評判になっているわけです。 我々のねらいは、あらゆるプログラマーにiOS機器用のゲーム開発への道を開いてくれるような本を、初心者にも上級者にも理解できる形で書くことでした。 この本はObjective-Cの学習書ではありません(入門編といえる章はありますが)。また、iOS SDKの包括的な解説書でもありません(iOS SDKのうちゲーム作りに必要な機能だけを利用します)。ゲームのプログラミング技術を身につける5年間の講座でもありません。そうではなく、この本には、我々が用意したサンプルゲームを作るうえで知っておくべきことと、皆さん自身のゲームを作るうえで知っておくべきことが漏れなく記載されています。 この本を読めば、ゲームエンジン作りの核心となる概念のすべてと、それをiOS機器に応用する方法を学べます。iOS SDKを利用して2Dゲームを作るのに必要なObjective-Cに関する知識も学べます。OpenGL ESを使って3Dゲームを作る方法も学べます。

前提知識

この本を十分理解するためには、プログラミングの基礎知識が必要です。iOSではObjective-Cが使われていますが、CやC++、Javaのほうが詳しいという人がほとんどでしょうから、1章のObjective-Cの紹介部分は基礎を学ぶうえで有用でしょう。 また、Macも必要です。iPhone/iPadなどiOS機器用の開発環境はOS Xでしか使えませんから、本気で開発をするならApple Store(あるいはほかのMac販売店)へ行く必要があるでしょう。幸い、開発は基本モデルのMac Miniでできますし、今使っているモニタとキーボードがそのまま使えます。Macさえ入手できれば、Appleの統合開発環境Xcodeは無料で配布されています。

そして、もうひとつ。これは必須ではありませんが、ぜひ入手されるとよいものがあります。それはiPhoneやiPadなどのiOS機器です。この本では各所で「iPhone」と書いていますが、iPhone向けのゲームはどれもiPadやiPod Touchでも動きます。iPhoneシミュレータだけでiPhone向けのゲームを作ろうとする人もいるはずです。それも可能で、App Storeで公開することもできますが、開発も検証もぜひiPhoneやiPadなどの実機で行ってください。いずれにしても、自分でプレイできないゲームなど、何の役に立つというのでしょう。

以上3つの要件を満たせれば、あとはダウンロードしたり習ったりすればよいだけです。この本で紹介しているサンプルも公開しました。翻訳版はhttp://www.marlin-arms.com/support/ipgd/にあります。なお、オリジナルの英語版はhttps://sourceforge.net/projects/iphonegamebook/にあります。

対象読者

前述のとおり、この本を理解するためにはプログラミングの基礎知識が必要です。それはそれとして、iOS機器にはさまざまなプログラマーが関心を寄せています。さまざまなレベルの開発者が自分の腕を試そうと考え、この本を読んでくださるものと想定しています。

ゲームのプログラミング経験がなく、ゲームエンジンやユーザーインタフェースの設計に関する基本的な理論を学びたいという人もいるでしょう。あるいは、他のプラットフォームでゲームを作った経験なら豊富だ、あとはSDKとゲーム作りのプロセスを学習し、タッチスクリーンの概念も知りたい、という人もいるでしょう。クロスプラットフォームのゲームの移植可能なコードの書き方や、ミドルウェアソリューションには現在どのようなものがあるかなど、高度なトピックに関心のある方もいるでしょう。いずれにしても、この本ではこうしたあらゆるレベルの問題を網羅して解説してあります。

本書の構成

この本の構成を以下に示します。

1章 iOS入門
インタフェースを作りObjective-Cでプログラムを書くための基礎知識を紹介します。Appleのサイトで開発者アカウントを設定する手順も解説します。

2章 ゲームエンジンの構造
楽しいゲームアプリケーションを書けるようにするため、ゲームのロジックと質の高い設計 の基本要素について解説します。

3章 フレームワーク
皆さん自身のゲームの実装を助けるコードと、AppleのSDKが提供する機能を補うために我々が書いた重要な資料を掲載しています。

4章 2Dゲームエンジン
3章のフレームワークを使って4ステージから成る完全なゲームを作ります(なかなか、楽し いゲームですよ!)。2Dから始めるのは、ゲームの複雑さについてもコーディングの複雑さについても、2Dのほうが3Dよりはるかに単純だからです。具体的には、基本的な動き、オーディオや視覚的な効果、ステージ間の移動といった事柄について解説します。

5章 3Dゲーム
3Dゲームを作る際に必要な、より高度な事柄について説明します。この章ではOpenGLライブラリを使っていますが、目的は3Dの基本やOpenGLの解説ではなく、それをゲームのプログラミングに使うのに必要な独特な技術を紹介することです。

6章 ゲームデザインに関する考察
全体のまとめとして、ベテラン開発者向けの広範な留意点をあげ、有用なライブラリやミドルウェアなどお勧めのリソースを紹介します。 付録A リファレンス
役に立つ情報、ライブラリ、製品を紹介します。

さらにこの日本語版では、巻末付録として、iPad対応のポイント、ARアプリケーションの開発、物理エンジンBox2Dの利用について解説記事を収録しました。

付録B iPadへのアプリケーションの移植
付録Bは監訳者による日本語版オリジナルの記事です。iPhoneをターゲットに開発されたiOS対応ゲームアプリケーションをiPadにも対応したユニバーサルアプリケーションに移植する手順を紹介します。

付録C 組み込みデバイスを応用したARアプリケーションの開発
付録Cも監訳者による日本語版オリジナルの記事です。iPhoneの組み込みデバイスを活用したAR(Augmented Reality:拡張現実)アプリケーションの開発手順を解説します。

付録D 物理エンジンを使ったアプリケーションの開発
付録DはRadium Softwareの高橋啓治郎氏に寄稿いただいた日本語版オリジナルの記事です。iPhone上で使用可能な2D物理エンジンのBox2Dを紹介します。Box2Dを使ったアプリケーションを実際に開発してみることで、物理エンジンの使い方について学びます。