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、どこが違う? 世界で勝てるデジタル家電 感想
西田宗千佳氏の本はいつも面白い。 今回も予想に違わず面白かった。 自分も同じような情報は知っているは
-
-
[洋書] The Day of the Triffids トリフィドの日
The Day of the Triffids (RosettaBooks Into Film)Jo
-
-
[iPhone SDK] アプリケーションのローカライズ
iPhoneアプリを作っていて、一通り作り終わったら最後にやる作業の一つとして、ローカライズがある。
-
-
iPhone向け有償・無償フレームワーク
かごおた さんで、iPhone アプリ開発で使用できる有償・無償フレームワークが紹介されていた。 有
-
-
[iPhone 開発本] iPhone Advanced Projects がおもしろい
Apressのページはこちら。公開されているサンプルコードは43MBもある。
-
-
リズムくんにくまモン画像を利用させていただきました
熊本県さまから許諾をいただけたので、リズムくん バージョン1.6で、くまモン画像を表示
-
-
[買ってみた] 新しいAirPods
2019年3月20日に突如発表された、新しい AirPods を買ってみた。 新型「
-
-
iPhone SDK 3.1.2 のお知らせ
Appleより、iPhone SDK 3.1.2 のお知らせが来た。 3.1.2 はバグフィックスリ
-
-
iPhoneアプリやiPadアプリのモックをさくさく作れる iPadアプリ iMockups
iPhoneやiPadアプリのモックアップをサクサク作れそうなiPadアプリ iMockups をR
-
-
iOS9からGKSession over Bluetoothが無効に
ユーザの方からおんぷ先生アプリが接続できないという報告があり調べていたところ、iOS9からGameK
Comment
[…] 以前紹介した、iPhone Games Projects の翻訳本「iPhoneゲーム開発ワークショップ」が2009/11/27(金)に発売されるらしい。 […]