Playで公開しているあるアプリを更新しようと思ってテストしていると、なぜか数回に一度の割合でクラッシュする事に気付いた。エラーの内容はこんな感じ。Playの管理画面で報告されるエラーが増えてきていた。自分のテスト端末(初代Nexus7)で出ているエラーと同じものだ。エラーが起きている端末は全てNexus7。搭載している端末で問題が発生している様な気がする。エラーが起きるのは、SurfaceViewを使ったActivityから一旦別のActivityを起動して、また元のActivityに戻ってきた瞬間だ。毎回というわけではなく大体5回に1回ぐらいの頻度なのでやっかいだ。Backキーでホーム画面に戻ってからまたアプリを起動した時やタスク一覧から戻ってきた時は全く問題は起きない。調べてみると下のスレッドが見つかった。現状では回避策は無さそう。使っているアプリ全てが影響を受けるとすると、結構大きな問題になるのではないだろうか。描画する様に書き直して対策した、という書き込みはあった。皮肉な事にハードウェアアクセラレーションのおかげでかえってFPSが改善されたとの事。使う様にすればなんとかなるかも知れない。同じ事をするのに2種類の方法で実装しないと行けないとなると、これは面倒だなー。4.3を搭載した端末が一般的になる前になんとか早く解決してくれないかな〜。{//SurfaceViewを生成}テストしてみた所上手く行っているみたい。最近はいろんな開発環境やツールがあるけれど、とりあえず以下のような選択肢で検討している。iPhoneで簡単なゲームアプリを作れる様になった自分としては、次はこれでAndroid版とiOS版の同時開発かなと思っている。iPhoneで得た知識も使えるし、CocosBuilderなどの周辺ツール類も豊富なのが魅力。最初は「AndroidではNDKが必要」というのを聞いただけで尻込みしていたけれど、採用事例は結構多そうで、ネットでの情報も増えてきつつあるみたいだ。今この本を読みながら次のアプリ開発に向けて準備しているところ。Cocos2d-XNA意外なところでは、C#で開発するという手法もある。XamarinとCocos2d-XNAというライブラリを組み合わせれば2Dゲームアプリも作れるみたいだ。普段仕事で使っている言語はC#なので、本当に使い物になるのならぜひ使いたい。Studioとの統合も可能なのでかなり興味を惹かれる。StudioというIDEの無料版をとりあえずインストールしてぼちぼち試しているところ。Corona2Dゲームに特化した「エレガントなAPIで従来より10倍速く開発出来る」というのが売り文句の開発環境。Luaというスクリプト言語を使う。デモなどを見るかぎりでは確かに簡単に2Dゲームが作れそうだ。プロプライエタリなソフトウェアなのであまり依存したくはないかな、と思ってしまう。面白そうな解説本も買って積んであるのだけれど、まだじっくり触る事が出来ていない。次のバージョン(4.3)ではなんと2Dゲームに特化した機能も追加されてますますパワーアップするらしい。Unity、2D向けゲーム開発機能とクラウドサービスを新たに提供もしかするとこれからのゲームアプリ開発の大本命になるのではないかとも思ってしまうほど高機能。高機能過ぎて初心者は慣れるまでが大変。それにしてもUnityのアセットストアは強力。Herlock今日、こんなのも見つけた。国産の新しいクロスプラットフォーム統合開発環境。JavaScriptで開発出来る。Backbone.jsやTweenJSなどと言った既存のJSライブラリも使える。OpenGLで高速なグラフィック処理も可能。Publickey『FlashライクなコードでOpenGLの処理を記述できるため、高速なグラフィック処理を実現する点も大きな特徴です。ゲームなど高速な画面書き換えなどを要求するアプリケーションに対応します。』Herlockの紹介動画これは期待大。クローズドベータ版の利用申請をしておいた。Mobileクロスプラットフォーム開発の老舗。Studioを使ってC#で開発が可能。個人的にはかなり興味あり。JavaScriptのアプリをラップしてネイティブアプリを作成するツール。CordovaとPhoneGapの関係が分かりにくい事になっているけれど、今の所は結局同じモノみたいだ。JapanMonaca内部的にはPhoneGapを利用しているらしい。ブラウザ上で利用出来るIDEが秀逸。Monacaデバッガというのもちょっと試してみたけれど、とても便利で感動した。Cordova(PhoneGap)を使うのであればこっちの方が生産性が高そうな気がしている。HTML5での実装に適したアプリを作る機会があったらぜひ使いたい。今日の結論この他にも色々な開発環境やツールがあると思うけれど、次はCocos2d-xUnityの順でやって行こうかなと思っている余裕が出来たら、MonacaXamarinあたりにも手を伸ばしたい。あとHerlockにはぜひとも頑張って完成度を高めて行ってもらいたい。セットアップは実に簡単だった。テレビのHDMI端子に本体を差し込んで、USBケーブルで電源につなぐ。(もちろん電源アダプタが付属している。)テレビと壁の間に本体を差し込むスペースが無い時の為に、HDMIの延長ケーブルも付属しているのでちょっと感心した。その後PCのブラウザで所定のURLを開く。するとアプリケーションをダウンロードする様に言われるので、ダウンロードしてインストールする。そのアプリを実行すると、Chromecast用のWifi設定やデバイス名称の設定を行う画面が表示される。何も変更せずにデフォルトのままで問題無しだった。YouTubeがまるでテレビみたいに見える。(笑)Netflixのストリーミングで映画のタイタニックも観てみた。画質は普通にDVDで観ているのと変わらない様に感じた。実は既にだいぶ前からリビングのテレビにはWindowsのPCをつないでYouTubeや動画を観ていたのだけれど、それよりも明らかに画質が良い様な気がする。それに何より使いやすい。手元のスマートフォンのChromecast対応アプリで出力先に自分のデバイスを選ぶだけ。無いみたいだけれど、これから増えてくるに違いない。対応アプリが増えればひょっとするとヒット商品になれるかも。(?)現時点でも、YouTubeとNetflixのヘビーユーザーにはかなりオススメだと思う。