AIR 3.2
というわけで、早速ですが、ICSにアップグレードしたスマホでAIR3.2を動かしてみました。
FlashDevelop 4の最新版にアップデート後、AIR3.2 SDKをダウンロードしてきてFlex SDKに上書きすればOKです。
FlashDevelop 4でAir Mobileプロジェクトを作成するとバッチファイルができあがるのでそれを編集すればAndroidやIOS端末で実機検証ができます。
デフォルトでは goto desktop になっていてこれだとadtでデスクトップ上で起動しますので、これをコメントアウトして goto android-debug のコメントアウトを外してやります。
ただ私の場合PathにAndroidのadbを追加してしまっていた関係でコンパイル後、うまく実機で起動してくれませんでした。
同様の症状でお悩みの方は、バッチファイルの 「adb」 で始まる箇所を全て 「call adb 」 に書き換えてやると正常に動くようになりますよ。インストールディレクトリ->Projects内に元のバッチファイルがあるのでこちらを書き換えちゃいましょう。
AIR 3.2からは、Stage3Dにも対応したとのことで、早速こちらも試してみました。
なぜかデスクトップ起動では表示されませんでしたが、端末側で起動したところうまく動いてくれました。素敵です。
スマホ向けのゲーム開発のおおまかな選択肢としては、Native , HTML5 , AIR , Unity 3Dなどでしょうか。
パフォーマンスについてはNativeが最もよい事は間違いないのですが、ワンソースで複数OSに書き出せるのは大きなメリットです。
つい最近 AdobeがAdobe Flash Player Premium Features for Gamingというライセンスを発表しました。
これは、Stage3DとdomainMemoryという機能を同時に使用し、5万ドルを超える収益をあげるコンテンツを対象としたもののようで、一時はネットでも騒ぎ??になっていたようです。
Stage3D単体の利用でライセンス料がかかるのかと一瞬あせりましたが、どうやらこのdomainMemoryと同時に使用した場合のみのようです。
このdomainMemoryは、メモリアクセス絡みのもののようで、Alchemyを使用した場合や、Unity 3Dからswf書き出しを行った場合に必然的に利用されるもののようです。
とはいえスマホ向けにUnity使うなら各デバイス向けに書き出せばよいので、あえてswfにする必要もないですね。
Alchemyはパフォーマンスアップにも繋がるので非常に興味があるのですが、下手に使えませんね。
主にweb向けのソーシャルゲームが該当するようになるのかもしれません。
HTML5でのゲーム開発はどうなんでしょうね?Flash liteよりは全然いいと思いますがある程度限界があるような気もします。
国内の各ソーシャル会社さんもAIR SDKを提供しているようですので、今後のAIRの普及には期待したいです。
そんなわけで、無理やりAIRっていいね的な結論に結び付けようとしてしまいましたが、本音は、「もう各端末ごとに検証なんかやりたくねえよ・・・」でした。