「iPhone Core Audioプログラミング」購入

まさか、こんなピンポイントな本が発売されていたとはビックリです。全然気がつきませんでした。
以前、Amazonで「Core Audio」関連の本を調べたときは、来年発売予定の洋書が1冊見付かっただけだったので、日本で、しかもiPhone OSに限定した本が出るとは、日本も捨てた物じゃありませんね。

まだ興味のあるページをパラパラと見ただけですが、とりあえず、iPhone OSのオーディオ周りはこれ1冊あれば充分で、他の資料は必要なさそう。あとは、今月発売予定のOpenGL ES 2.0の本を買えば、もう参考書の類は必要ないかな。

でも、今いちばん困っているのは、iPod touchが思ったよりも非力な点なのよね…。コールバック関数内でちょっと重い処理をしただけで音を上げてしまう。こればかりは参考書を読んでも容易に解決しない。もうちょっとパワーが欲しいですね。

| | トラックバック (0)

3本目のアプリが公開

3本目のアプリがAppStoreで公開されました。
今回は、10月16日に申請して11月3日に公開だから、公開まで2週間ちょっと。

ちなみに、公開されたアプリ(ミニ ゲーム)の説明はこちらです。

はじめてOpenGL ES 2.0を使いましたが、普通にプログラマブル シェーダを使えるし、いいですね。もう1本くらいOpenGL ES 2.0を使ったゲームを作りたいですが、やはりゲームのようなものは一人で作っていると、いろいろな限界も感じてくるなぁ…。

| | トラックバック (0)

電波が届かないことを想定していないサービスは困る

今日初めて、佐川急便の「受取人確認配達サービス」で荷物を受け取りました。

荷物を持ってきた佐川のおじさんは、荷物を渡す前に、端末に情報を入力してどこかと通信しなきゃならないらしいのですが、どうも電波が入らないらしく、玄関前で延々と端末を相手に挌闘していました。今日は結構寒かったですが、(よく分からないけれども)端末の手続きが完了しないと荷物を渡してくれないらしく、私も一緒に玄関前で待つことに。

結局、佐川のおじさんは玄関前での通信を諦めて、必要な情報をメモった後、荷物を渡してくれました。どこか電波の入る場所で手続きしておくらしいです。佐川急便の「受取人確認配達サービス」とやらがそういう手順でいいのかどうか分かりませんが、実際問題としてそうせざるを得ないでしょうね。だって、(おそらく)電波を使った通信必須なのに、電波が入らないのだもの。

携帯万能みたいな世の中だし、一応、都庁まで歩いて15分くらいの場所ですが、電波が入らない場所だってあるのですよ。こういうサービスは、電波が入らない場面も考慮して手順を構築して欲しいです。風邪引くかと思った。

| | トラックバック (0)

AppStoreでiPhone(iPod touch)向けアプリを販売してみた感想

2本目のアプリが10月5日にAppStoreで公開されて、25日で3週間経ちました。おかげさまで、毎日コンスタントに買って頂けている状況です。今回、AppStoreでiPhone(iPod touch)向けアプリを実際に販売してみたことで、分かったことや感じたことがいろいろあります。まだ3週間目ではありますが、そのへんを書いてみたいと思います。

結論を先に言うと、どうやら、日本の中だけを考えている時代はすでに終わっていたようです。

まず、2本目のアプリが、10月5日から10月25日までの3週間で販売された本数の国別割合を示すグラフを紹介します。

Battleshipmini_091005_091025_1

また、週別の割合は、次のようになります。

Battleshipmini_091005_091025_2

このグラフの通り、販売本数が多い順に、アメリカ(US)が約80%、イギリス(GB)が約7%、日本(JP)が約6%、その他、カナダ(CA)、オーストラリア(AU)、ノルウェー(NO)、ドイツ(DE)、デンマーク(DK)などと続きます。販売本数は、1週目→2週目→3週目と伸びています。もしかすると、アメリカかどこかのページで紹介されているのかもしれませんが、伸びている理由はよく分かりません。

AppStoreへは、英語+日本語ローカライズの形式でアプリを登録しています。
アプリ自体も、英語と日本語の両対応です。
特別な宣伝はしていません。ブログに日本語の紹介ページを1ページ書いただけです。

最初、AppStoreに登録する際は、基本的に日本のことしか頭にありませんでした。
英語+日本語ローカライズの形式にしたのも、大して深い理由があったわけではありません。
AppStoreの英語の紹介文は、日本語を翻訳ソフトで自動翻訳した物です。
海外でも売れたら嬉しいな、程度の感じでした。

そんなわけで、この結果には、個人的にかなりびっくりしています。

今まで、原稿を執筆するのも、何かを公開するのも、基本的に日本という範囲に限った話でした。
もちろん、日本経済は輸出主導型らしいので、日本全体として海外展開は珍しくも何ともないのでしょうが、個人的なレベルでは、そもそもどうすれば海外を視野に入れた活動ができるのかもよく分からなかったわけです。

インターネットを使えば誰でも世界に情報を発信できる、みたいな話は昔からよく耳にします。たしかに間違いではありませんが、一方的な“情報発信しているつもり”に止まらず、実際に世界中とやり取りを成立させるのは、かなり大変なのが事実でしょう。

それが、AppStoreではこんなにあっさりと達成されてしまうとは、いつの間にか世の中が変わってしまっていたことに気がついた浦島太郎のような気分です。絶対的な売り上げ自体はアルバイトに毛が生えたレベルですが、こんなに簡単に世界にアピールできるのは、それだけでドキドキします。

なんかもう、縮小し続ける国内市場だけを見て、これからどうしようとか考える時代はとっくに終わっていたのだな、という感じです。同じ物を販売するにしても、購入してくれる人の割合が同じなら、市場が大きい方が売れる数が多いに決まっているわけです。日本だけだと100個の市場でも、世界なら1000個なわけです。国内だけでは難しいことも、世界に視野を広げれば成立する余地があるかもしれない。海外展開に特別な労力が必要ない今、海外に目を向けない理由はありません。

****

AppStoreでアプリを公開するのは、Webやブログを公開するのとは違った楽しさを感じます。感覚としては、昔、雑誌に投稿したりしていたころの感じが近いです。Androidの方も、こんな感じなのかな。ちょっと興味が出てきました。

| | トラックバック (0)

iPhone OSでのバックライト制御とか

もしかして、現在のiPhone SDKでは、バックライトを直接制御するAPIとかは提供されていないのかな?リファレンスを検索しても、何もヒットしないのだけれども…。

バックライトを消灯させないだけなら、UIApplicationクラスのidleTimerDisabledでできるみたいですが。

にしても、OpenGL ES 1.1は面倒臭いなぁ。2.0のシェーダなら、実質、コード1行ですむ処理なのだが…。ちょっとした画面効果だし、1.1向けでは省略しよう。もう、固定機能は使いたくないよ。

| | トラックバック (0)

OpenGL ES 2.0の感想

連休を利用してiPod touhc(iPhone)用のちょっとしたアクションゲームを作ろうと思い、OpenGL ES 2.0を初めて使ってみたのですが、苦戦しました。

・フラグメント シェーダでは、精度宣言が必要
最初、フラグメント シェーダで、

varying vec4 colorVarying;

とか書いていたのですが、シェーダのコンパイル時にエラーになります。
結局、ドキュメントをよく読むと、フラグメント シェーダでは、

varying lowp vec4 colorVarying;

などとするか、デフォルトの精度宣言をしなければならないことに気がついたのですが、最初はエラーの意味がまったく理解できず、困りました。

それでも、この問題はコンパイル時に分かるのでよかったのですが、次の問題の解決には1日かかってしまいました。

・GL_POINTSの描画では、頂点シェーダでgl_PointSizeの出力が必要
よく考えれば当たり前なのかもしれませんが、iPhone OS SDKのシミュレータでは、GL_POINTSのデータを描画する際に頂点シェーダでgl_PointSizeを出力しなくても、何の問題も起こらず実行されてしまいます。
それに対して、実機(第3世代iPod touch 64GB)では、画面がおかしなことになり、事実上ハングアップしたような状態になります。(GPUが暴走している感じ?)
実機でテストしたのが、シミュレータ上である程度作り込んだ後だったので、問題の切り分けに1日かかりました。まさか、こんなところに問題があるとは思いませんでした…。

というわけで、まだゲームは完成していませんが、はじめてのOpenGL ES 2.0プログラミングの感想としては、プロジェクト作成時のテンプレートで基本的なコードがすべて用意されることもあって、上記の2つの問題以外は、非常に楽にプログラミングできました。
ただ、以前のiPhoneやiPod touchもサポートしたい場合は、OpenGL ES 1.1のコードも用意する必要があります。両方用意するのは面倒だし、1.1は2.0対応の機種でも実行できるので、小さなゲームなどではどっちを使うかで悩みそうです。

(追記)
今回、OpenGL ES 2.0を使うに当たって、参考になるような本を探したのですが、なかなか適当な本がありませんでした。洋書でよければ、「OpenGL ES 2.0 Programming Guide」という本がありますが、アマゾンでも5,555円と結構な値段がします。

そんなわけで、購入は見送っていたのですが、ピアソン・エデュケーションのページを見ると、翻訳の「OpenGL ES 2.0プログラミングガイド」が出るみたいですね。値段も4,830円(予定)と、意外と安い。(追記:5,460円(予定)に変更されたみたい。でも、amazonで原書買うよりは安いですね)。発売予定は11月のようですが、予定通り発売されて欲しいです。

| | トラックバック (0)

2本目のアプリが公開

昨日、2本目のアプリがAppStoreで公開されていたみたいです。
なんとなくiTunes Connectを見たら、昨日の日付のレポートが上がっていてビックリしました。
そういえば、Appleからメールが来ていたような気もする…。

9月24日に申請して10月5日に公開だから、前回よりもちょっと早いのかな?
どういう手順でどんな審査が行なわれているのか分かりませんが、やはり、2週間前後ということなのでしょうね。

ちなみに、公開されたアプリ(ミニ ゲーム)の説明はこちらです。

iPhone SDKが3.0になって、ミュージック ライブラリの曲を再生させることができるようになったようですが、逆に、ミュージック ライブラリに曲を登録することは出来ないのかな?ちょっと調べた限りでは、出来なさそうなのだけれども…。
アプリで生成した楽曲データをどうやって母艦のPCにもっていこうか悩んでいます。メールを使うか、独自にFTPでも実装しないといけないのかな…。

| | トラックバック (0)

第1世代iPod touchと第3世代iPod touchの違い?

新しく買ったiPod touchを設定していて気がついたのですが、新しい第3世代iPod touchの時計で使えるサウンドって、第1世代iPod touchとぜんぜん違うのですね。一応、第1世代iPod touchのOSも3.1にアップグレードしてあるのですが、第1世代iPod touchで選べるサウンドが5種類なのに対して、第3世代iPod touchでは25種類あります。

それだけならよかったのですが、第1世代iPod touchにある5種類のサウンドは、第3世代iPod touchに1つも含まれていません。今までアラーム音に「タイムパス」を設定していたのですが、第3世代iPod touchにはこれに似た音すらなくて困ってしまいました。

ハード的な違いはともかく、第1世代と第3世代でこんな違いがあるのは予想外。ちなみに、OSのバージョンは、第1世代が「3.1.1(7C145)」で第3世代が「3.1.1(7C146)」なので、微妙に違う…。

| | トラックバック (0)

iPhone OSプログラミングの本

iPhone OS 3.0対応のプログラミング本が出ていたので購入。
最近ちょっと買い物してばかりだな…。少し抑えなければ。

iPhone SDKプログラミング実践ガイド
帯に「アプリケーションの開発の流れとApp Storeへ登録するまで」とあったので、AppStore周りの説明に興味があって購入しました。
基本的には、iPhone SDK 3.0を使った開発手順を中心に解説している本のようです。帯にある「アプリケーションの開発の流れとApp Storeへ登録するまで」という説明がこの本の性質をもっともよく表わしていると思います。なんとなく、iPhone SDKで実際に開発を始める前に読んでおくといい本なのかもしれない。
個人的に興味のあったAppStoreに関しては、無料アプリの配布方法だけで、有料アプリに関しての説明はありませんでした。実機での開発とAppStore関連についてもう少し丁寧に解説してくれると良かったかな。

| | トラックバック (0)

iPod touch届いた

第3世代iPod touch 64GBが届きました。

Newipodtouch64gb

左が第1世代、右が第3世代です。表から見ると、第1世代も第3世代も大きく変わりませんね。裏から見るとけっこう違うのですが。

Newipodtouch64gb2

手に持った感じでは第3世代の方が薄く感じるけれども、これは縁が丸くなっているからで、実際の厚さは第1世代も第3世代も変わりませんでした。
重さは、第3世代の方が微妙に軽いような感じがしますが、気になるほどの違いではないかな。

液晶画面を見比べてみると、第1世代は全体的に白っぽい感じなのに対して、第3世代は黒がより黒い感じ。明るさは変わらないのですが。もっとも、第1世代は発売時からずっと使っているので経年変化かもしれません。

第2世代は32GBモデルしかなかったので、結局スキップしたのですが、やっぱり64GBあると、iTunesで管理している音楽(約40GB)をそのまま全部同期できて便利です。

| | トラックバック (0)

«iPod touchが発送されたらしい