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

関連記事

iOS8 文字入力に時間がかかる問題ようやく解決

iPhone6 Plus に機種変更してからずっと苦しめられていたのが文字入力時に時間がかか

記事を読む

no image

基礎から学ぶ CoronaSDK

基礎から学ぶ CoronaSDK という本が2012/2/25にでるらしい。 昔 CoronaSDK

記事を読む

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5400 を購入してみた。当時一

記事を読む

no image

iPhoneアプリUI研究本 iPhone User Interface Design Projects

それほど期待せずに買ったのだが、これは面白かった。 和書だと、iPhoneアプリ成功の法則に近いが、

記事を読む

iPhotoがiPad mini 4 を iPhone 7 Plus と表示する

「写真」が好きになれないのでいまだにiPhotoを使っているのだが、MacBook Late 201

記事を読む

no image

NSURLConnnection オブジェクトをいつ解放するか 2011/08/06

NSURLConnection の -[NSURLConnection initWithReque

記事を読む

no image

Cocos2dで作る iPhone&iPadゲームプログラミング

ついに良さそうなcocos2d本が出るらしい。6/24(金)発売予定。488ページ、3980円。 し

記事を読む

no image

マイコン徹底入門(仮題) レビュー

マイコン徹底入門:STM32ではじめるARM/Cortex-M3組み込み開発のサイトで募集されていた

記事を読む

no image

目からウロコが落ちる英文法書 「ハートで感じる英文法」

ここ数年英語が伸び悩んでいて、一時期は英文法にすがってみようとして3冊ほど英文法書にトライしてみたの

記事を読む

英単語学習アプリ EverLearn 1.4.0 を公開しました

ようやく、iOS7 に対応した EverLearn  1.4.0 を公開しました。 i

記事を読む

Comment

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

Message

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Break Back 22巻まで読了

テニス漫画と言えば、ベイビーステップスだと思っていたし、全巻持ってい

TORRAS iPhone 16 Pro Max用ケース

自分はiPhoneはケースを付けない派で、iPhone 12

iPhone 16 Pro Max 購入

iPhone 16 Pro Max 256GB 189000

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

→もっと見る

PAGE TOP ↑