iPhoneゲーム開発本 iPhone Games Projects

公開日: : 最終更新日:2009/10/18 iPhone, ,

iPhone Games Projectsようやくざっと読んだので内容をまとめてみる。
出版元のApress のページはこちら

世界中のiPhoneプログラマが、iPhoneゲームプログラミングに関して、さまざまな視点から語った本。著者達はApple II時代からゲームを作っていたやNewton向けにゲームを作っていた人など、経歴が長い人が多い。おそらくその世界では有名な人たちなのだろう。含蓄深いコメントが多かった。

まだ翻訳本はでていないので、原書をAmazonで購入した。Prime会員なのでその日のうちに届き、洋書が即日買えるようになったことに感銘を受けた。

IMG_0754.jpg

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
iPhone Games Projects
Apress 2009-06-22
売り上げランキング : 11531

Amazonで詳しく見る by G-Tools

関連記事

no image

[iPhone 開発本] iPhoneのオモチャ箱 でしばらく遊べそう

cocos2d/Box2Dを調べたいと思っていたら丁度発売されたので買ってみた。 実際にcocos2

記事を読む

iPhone6, Xperia, Galaxy Note サイズ比較

  iPhone6 Plus は一体どれくらい大きいのか想像ができなかったの

記事を読む

no image

iPhoneアプリ おんぷちゃんアップデート 2010年6月

ユーザレビューなどで複数の方から要望があった機能に対応してみました。 以下、その説明です。 これま

記事を読む

no image

[iTunes Connect] Price End Date には安売りの終わる次の日を入れるべき

App Store では、ランキングに現れないアプリは存在しないも同然、という話がある。 App

記事を読む

no image

Head First デザインパターン

@akabekobeko 氏の書き込みに感化されて買ってみた。たしかにこれはいい。 人にものを教えよ

記事を読む

no image

20歳のときに知っておきたかったこと ティナ・シーリグ

しばらく前に読み終わっていたが感想を書いていなかった。 基本的に、失敗を恐れずに新しいことに挑戦しよ

記事を読む

Jony Ive: The Genius Behind Apple’s Greatest Products

Jony Ive: The Genius Behind Apple's Greatest Produ

記事を読む

no image

ヘコむな、この10年が面白い!

うーん、この人すごい。さすが世界中の国で仕事をしてきた人だけあって、言うことに説得力がある。 ものづ

記事を読む

Pastebot が OSX 用になっていた

昔使っていたがいつの間にか使わなくなっていた Pastebot が、いつの頃からかiOS版がなくなり

記事を読む

no image

バイリンガル版のだめカンタービレを読んでみた

たまに家の近くの大型書店の英語コーナーを回っている。 今回はバイリンガル版 進撃の巨人なるものを発

記事を読む

Comment

  1. […] 以前紹介した、iPhone Games Projects の翻訳本「iPhoneゲーム開発ワークショップ」が2009/11/27(金)に発売されるらしい。 […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

自作キーボード Mint60 完成

自作キーボード Mint60 が年末完成していたので、記録を残してお

LSSupportsOpeningDocumentsInPlace

拙作英単語学習アプリ EverLearn で LSSupportsO

Photoshop CS4をmacOS Mojaveで使う

いまだにPhotoshop CS4 を使っている。High Sier

Siri Shortcuts に対応

正月休み中なので、ブログ記事が書きやすい。毎年この時期だけはよくブロ

いまさら MacBook Pro Mid 2012 購入

MacBook Pro Late 2011の調子がすこぶる悪く、調べた

→もっと見る

PAGE TOP ↑