ガンズターン 公式サイト

楽しいことに、まじめです。 ——ガンズターンアプリ研究所公式サイト

Objective-C & OpenGLES だけでゲームを作るために読んだ本

Pocket

少しずつ形になってきています。

何度かここでご報告している新規アプリの製作に関して、基本的な動作をするモックがほぼ完成しました。

一応ゲームとして動作するようになりましたが、まだまだいろんなとこが足りてないのでしばらくは新規開発にかかりきりになりそうです。

なお、新規アプリを作っている過程で、ゲーム製作において基本的な動作をする部分を一から自分で作っていたら、いつの間にかけっこうな量のコーディングをしていました。

「りずもぐ!」もそうでしたが、次期アプリにおいても、グラフィック周りの処理は、OpenGLES以外全部自前のコードになりそうです。

気づけば、イージングアニメーションするスプライトのクラスを自前で作っていました……。orz

「Cocos2D」とか「Unity」使えば一瞬で(それこそすでにあるクラスをインスタンス化する一行だけで)作れてしまう仕組みなのでしょうが、時間とやる気(あと興味)だけは人一倍以上に持っているわたくし。

いつか、こうして地道に勉強している事柄を、ライブラリか何かの形で、githubかなんかで公開したいなあ、なんて野望を抱いております。

——ゲーム製作以上に途方もない夢ですがね……。(苦笑)

はてさて。

今日は、タイトルにある通りわたしがこれまでに読んだ技術書籍の中でもとりわけ「Objective-C」と「OpenGLES」に焦点を当てて、とてもためになったタイトルだけを厳選してご紹介したいと思います。

なにぶん、実際に自分が読んだことのある本だけですので、ちょっと情報が古いかも……?

とはいえ、「iPhoneアプリ作ってみたいけど、なにから勉強したらいいのかわからない」という方や、あるいは「OpenGLESを自分で直接触ってみたいけど、ネットで調べてもイマイチ使い方がわからなかった」という方のご参考に、少しでもなりましたら幸いです。

1. 「詳解 Objective-C 2.0(第3版)」

紹介Objective-C2.0の表紙

もっと早くこの本に出会っておきたかった……。

心のそこからわたしにそう感じさせた、大変すばらしい良書です。

ソフトバンククリエイティブさんからの発行ですね。

これまで、なんとなく「サンプルコードがこう書いてあるんだからこう書けばいいだろう」ぐらいのつもりで使っていたObjective-Cの色んな仕組みについて、懇切丁寧に説明されています。

……なので、この本を一冊しっかりと読めば、はっきり言ってObjective-Cに関する他の参考書はなくてもよい、ぐらいに中身の詰まった本です。(もちろん、基礎的な知識に関しては、という意味ですが)

この本でわたしが初めて知り、なおかつすぐに自分のアプリに仕組みとして組み込めた便利な知識は、例えば以下のようなものです。

  1. 単純なシングルトンクラスの作り方。
  2. ブロックオブジェクトの使い方。
  3. 独自のカテゴリの作り方。
  4. ターゲット・アクションパラダイムの実装。
  5. ARCをはじめとする各種メモリ管理方式の詳細。
  6. 各種メッセージ送信のパターン。(デリゲート、通知、レスポンダチェーン等々)

本の目次とはだいぶ違う順番ですが、個人的に役立った順で並べてみました。

すでにObjective-Cでの開発経験が豊富な方であっても、上にある単語のうち一つでもきちんと概念を説明できないものがあるのなら、ぜひこの本を読むことをお勧めします。

(というか、ひょっとしたらそういう方はもう読んでいらっしゃるかもしれませんね。有名な本なので)

これを読むまでわたしは、「Objective-Cは、変な書き方をするC++」ぐらいの認識でいましたが、全然別物でした。

ぶっちゃけ「NSArray」も「NSDictionary」も、使い方がよくわからないので使用を避けていたぐらい、わたしは無知だったのです。(今考えると、どうしてそんな状態で「りずもぐ!」を作れたのかわかりません。当時、配列はすべて無理やりCの配列として扱っていました)

実は同じ作者さんの「詳解 Swift」という本も買いました。

時間ができたら勉強しようと、今からうずうずしております。

ただ、とても詳細に書かれている本ですが、その反面、「プログラミング初心者」という方にはちょっときつい内容かもしれません。

また、この本はあくまで「Objective-C」についての解説書ですので、「OpenGLES」については別途、他の書籍で勉強が必要になります。

というわけで、次に紹介する本は、もうちょっと優しめの、かつ「OpenGLES」に特化した内容のものになります。

2. 「OpenGLで作るiPhone SDK ゲームプログラミング」

OpenGLで作るiPhone SDKゲームプログラミングの表紙

インプレスジャパンさんからの発行です。

本の厚みも、書かれている内容も、そしてサンプルコードを書き写すだけでちゃんとしたゲームが出来上がってしまうという手軽さにおいても、はじめてゲームプログラミングをする人にオススメかと思います。

何をかくそう、わたしが最初にiPhoneプログラミングをするために手に取った本がこちらでした。

……が、なんとこの書籍、2009年の発行なので、今読むとかなり内容が古いです。

当時、まるっきりのゲームプログラミング初心者であったわたしを、曲がりなりにもアプリを一本リリースできるぐらいに育て上げてくれた本なので、とてもよい本だということは確信しています。

同じ作者さんでひょっとしたらもっと新しいやつがあるかも、と思いましたが、どうやらOpenGLESとiPhoneアプリに関するものはこれ以降出ていないようです……。残念。

初っ端のXcodeによるOpenGL用テンプレートの作成に関しては、今やまるっきり状況が異なっていますので、その点にはとても注意が必要です。(webからのサンプルコードダウンロード等で、ある程度フォローできるとは思いますが)

3. 「iPhone 3D プログラミング」

iPhone 3Dプログラミングの表紙

言わずと知れた、オライリー社さんから発行されているOpenGLESの解説本ですね。

こちらの本も2011年の発行と少し古いですが、先ほどご紹介した「OpenGLで作るiPhone SDK ゲームプログラミング」とは異なり、テンプレートを使わずに一から自分で作り上げるやり方が解説してあるので、たぶん今のXcodeでもなんとか動くんじゃないでしょうか。

また、OpenGLES2.0に関する説明が豊富(というか、3Dを題材としているだけあって、ほぼ2.0の説明)で、これ一冊しっかりやれば、3Dポリゴンを使った簡単なゲームなら自作できるんじゃないかと思います。

けっこう難易度の高めな本ですが、サンプルコードをなぞるだけで基本的には問題なく動きますので、なんだか自分が凄腕のプログラマーになれたかのような錯覚に陥れます。

シェーダプログラミングってどんなものかっていうのが基本から身につきますので、これから本格的に3Dプログラミングを始めたいっていう人にオススメですね。

ちょっとだけ、CocoaTouchのクラスの仕様が今とは異なる記述になっている部分がありますので、その点には注意が必要ですかね……。
第2版が出ることを祈ってます。

4. 番外編「Androidゲームプログラミング A to Z」

Android ゲームプログラミング A to Zの表紙

インプレスジャパンさんから発行されている「Android」でゲームを作るための本です。
「iPhone」アプリの製作用ではありません。

とはいえ、説明されている内容は「OpenGLES」ですので、全編通じて「iPhone」のゲーム製作にも使える知識ばかりでした。

また、とても単純な仕組みではありますが、一冊勉強し終える頃にはちゃんとフレームワークがまるまる一つ出来上がっているというのが、この本のすごいところですね。

テクスチャアトラスを使ったOpenGLESの描画処理高速化の話とか、スクリーンの座標系の詳しい話とかがしっかり説明されていて、とても参考になりました。

新規アプリでは、この本で吸収した知識をバリバリ前線で使っております。

終わりに

さて。駆け足ですが、わたしがこれまでにお世話になったObjective-CとOpenGLESに関係する技術書籍を紹介してみました。

文中にも書きましたが、ちょっと情報が古いかも知れません。

ただ、座標系の話とか、OpenGL特有の考え方、みたいなものは今後も通用する知識かとは思いますので、ご興味がありましたらぜひご自身でもお読みになってみてください。

ゲームアプリ、作るのとっても楽しいですよ!

Pocket

コメントを残す

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

トラックバックURL: http://gunsturn.com/2015/05/15/objective-c_opengels_book/trackback/