iPhoneゲーム開発本 iPhone Games Projects
iPhone Games Projects、ようやくざっと読んだので内容をまとめてみる。
出版元のApress のページはこちら。
世界中のiPhoneプログラマが、iPhoneゲームプログラミングに関して、さまざまな視点から語った本。著者達はApple II時代からゲームを作っていたやNewton向けにゲームを作っていた人など、経歴が長い人が多い。おそらくその世界では有名な人たちなのだろう。含蓄深いコメントが多かった。
まだ翻訳本はでていないので、原書をAmazonで購入した。Prime会員なのでその日のうちに届き、洋書が即日買えるようになったことに感銘を受けた。
1章 Simplify the User Interface for Complex Games:Chess, the Deep Green Way
Newton 向けにチェスアプリを作っていたデンマークのJoahim Bondo氏が、いかにしてシンプルなUIを実現するかに関して語った章。コードは出てこない。例として、著者がNewton時代に作っていたチェスアプリをiPhone用に作り直した、Deep Green が使われている。
product statement を書き、それに従い機能を重要度で分類し、画面をシンプルにする、ユーザが使う頻度が高い機能の使い勝手にこだわる、画面に使用頻度の低いUI部品がないことで使いやすくなる(The power is in what’s not there)、などが書かれていた。
ちなみにDeep Greenのグラフィックを担当したのは Mikio Inose 氏、と書かれていたので調べてみたらページを発見した。
2章 Responsive Social Gaming with RESTful Web Services
RESTを使ってサーバーと情報をやりとりする方法がコードを使って詳しく紹介されている。サンプルはゲームのハイスコアのサーバへの登録。
サーバー側はRuby on Railsを使う方法が紹介されている。LeopardにはRailsもSQLite 3も入っているらしいのでこの説明のまますぐ動かせるらしい。
NSURL, NSURLRequest, NSURLConnection を使った、サーバとのデータのやりとりの方法が詳しく紹介されている。XMLのパースにはNSXMLParserが使われている。
自分はSAXタイプのXMLパーサーは使ったことがなかったので、参考になった。iPhoneでサーバから何かデータをダウンロードしたい、という時には役に立ちそう。
3章 Rapid Game Development Using (Mostly) Standard C
OpenGL ESを使い、Objective-Cを使わずほとんどStandard Cで書く方法の紹介。基本的には毎フレームで呼ばれるrenderSceneで描画、タッチのハンドルを行う。
もちろん、Objective-Cが必要な箇所もあるので、 また、自動セーブの方法も紹介している。こちらは普通にUserDefaultを使う方法に見えた。
サンプルはSpace Hike (StarTrekのもじりらしい)というアプリで、ソースもアプリも公開されている。
4章 Brian Greenstone’s Jedi Master List for Game Optimization
著者は1980年、Apple ][+(と表記されていた)からのプログラマ。Enigmo, Nanosaur, Bugdom 2などを開発した。
著者は64KB RAM, 8bit 1MHz CPUの時代からのプログラマで、出力されるアセンブラコードを意識して書いていた人なので、基本的にゲームを書きたければ Straight CかC++を使え、Objective-Cは使うな、主張している(開発者の主義主張の話になるのでこのアドバイスに従うかはあなたに任せる、とも書いてある。さらに、著者はC++ではなくCを使おう、とも言っている)。
Bugdom 2の50万行のうち、C++は0行、Objective-Cは700行しか使っていないとのこと。 著者としてはもちろんCocoaではなくCore Foundationを使う。
その他、コンパイルオプションの Compile for Thumb はゲームによってはOffにしろ、Audio再生は重い、サウンド再生につかう音声データはこうやって作れ、など具体的なアドバイスが多かった。
afconvert -f caff -d LEI16 INPUT_FILE OUTPUT_FILE で CAFFファイル(Core Audio FIle Format)のファイルが作成できる。
Instruments, Shark の使い方も紹介されていた。Shark は自分はこの本で初めて知った。
5章 Starting with a Game Design Document: A Methodology for Success
ゲームを開発する際のドキュメントの書き方を紹介した章。
開発を効率よく行うために、ドキュメントを書こう、というように読めた。
ちなみにGame System/Engine として、5つあげられていたが、知らないものが多かった。
紹介されていたのは、次の5つ。Torque, cocos2d, Unity, SIO2 Interactive, Oolong
6章 Multiplatform Game Development: iPhone Games for Linux and Windows
なるべく同じコードを使って、Linux, Mac, Windowsで動くゲームを作ろう、という記事。
Portableであるために、Objective-Cは使わないことになる。
シンプルなループを使ってゲームを実現する。
7章 Code Optimization with Mike Lee, the “World’s Toughest Programmer”
Delicious MonsterのMike Leeによる章。
ちゃんと読んでいないけれども、炎のParticle Effectsや煙のParticle Effectsを紹介しているように見えた。
ここでも、ビルド設定やコードの書き方による最適化、Sharkによる最適化が紹介されている。
8章 Networked Games: Choosing the Right Option
Quick Draw, Pole2Pole というネットワーク越しにコミュニケーションするゲームを作った、UKの Swipe Interactiveの2人による章。
Socket, Bonjour を使った、ローカルネットワーキングによるマルチユーザゲームの作り方(の要素技術)が紹介されていた。
全体的に、この本でしか得られないと思われる知識も多く、iPhoneで動くゲームを作りたければ、英語に多少苦労しても読んでおいても良いのではと感じた。
英文も、ゲーム開発者に対して語りかける口調のものが多く、読みやすかった。ゲームが好きなことが伝わってきた。
ゲーム開発はCPUもメモリもシビアなので、性能にダイレクトに影響するところではObjective-C を使わない、という選択をしている人もいることを知った。
その代わり、Objective-Cでサポートされている便利な機能は使えなくなるので、そこはトレードオフになる。
Apress.com はすごい勢いでiPhone関連の本を出版しているらしく、ゲーム関係ではBeginning iPhone Games Developmentという本も出るようだ。この本で第2章を担当している人が書いている。
次はiPhone Cool Projectsか、iPhone Advanced Projects を読むのがよいのだろうか。
iPhone User Interface Design Projectsも気になる。
更新履歴
4章の記述を変更。アプリへのリンクを追加。
iPhone Games Projects | |
Apress 2009-06-22 売り上げランキング : 11531 by G-Tools |
関連記事
-
[iPad開発本] Beginning iPad Development
まだ数が少ないiPad開発本がApressから出たみたい。(Beginning of iPad De
-
コードちゃん 1.0.3 アップデート
コード学習アプリ コードちゃん 1.0.3をアップデートしました。ダイアトニックコードの Bmb5
-
Corona SDK 新バージョンリリース
Corona SDKの新バージョンが出た。 Corona SDK: New additions an
-
Generic Xcode Archive 問題
久しぶりに自作アプリ Reibun のアップデート版を App StoreにSubmitしようとおも
-
iOS Developer Program 更新(2回目)
4月はじめにiOS Developer Program の期限が切れるので、Apple から
-
タッチ!にほんちずHD Ver.1.1.0 Submit
タッチ!にほんちずHDのバージョンアップ版(Ver.1.1.0)を App Store に提出しまし
-
iPhone SDKでユーザデータをローカルに保存したい
一応5日より次のiPhoneアプリの開発を始めた。 前回のアプリはアプリの設定をちょこっとローカルに
-
iPhone SDK アプリケーション開発ガイド
iPhone SDK アプリケーション開発ガイド(原題 iPhone SDK Application
-
Xcode 設定しておくと便利なカスタマイズいろいろ
以前から Xcode はもう一歩使いにくいと思っていたが、iPhone アプリで稼げるのか でカスタ
-
[iOS SDK] No identities are available for signing 問題にはまる
久しぶりに Provisioning Profileではまった。 この問題にはまると、解決までにか
Comment
[…] 以前紹介した、iPhone Games Projects の翻訳本「iPhoneゲーム開発ワークショップ」が2009/11/27(金)に発売されるらしい。 […]