AdobeAIRでスマホカードゲームを開発することへの感触

まとめました
15
trick7 @trick7

AdobeAIRでスマホカードゲームを開発することへの感触をメモ。僕はトレンド追えていないのであくまで感触。間違えてたら教えてほしいぐらい。#AIR_cardgame

2013-02-14 14:51:34
trick7 @trick7

1:StarlingがAIRで動くようになった2012年7月の前後で世界が変わっているので7月以前のAIR使えない論は無視してOK?#AIR_cardgame

2013-02-14 14:51:50
trick7 @trick7

2:2Dゲームの場合、スプライトシートの活用が大事なのでStarlingを使えばパフォーマンスは問題なさそう。興味あるのはベジェのままでいいのか、ベジェ部分もスプライトシート化しちゃって、例えばUIパネル素材を1枚テクスチャにしちゃうか、どっちが推奨?#AIR_cardgame

2013-02-14 14:55:11
trick7 @trick7

3:他の開発ツールでも問題になるRetina/非Retinaのテクスチャ問題。Retina用の解像度で素材を作ると、非Retina端末でその素材は無駄に高解像度なのでテクスチャメモリを圧迫する。#AIR_cardgame

2013-02-14 14:59:09
trick7 @trick7

続き:もちろん端末解像度によるテクスチャの切り替えもできるけど、それだと高&低解像度のテクスチャを同梱することになるので、Retina端末だとファイルサイズが無駄に大きくなって悲しい。AIRはどうする?http://t.co/LB3hyzyy #AIR_cardgame

2013-02-14 15:00:05
trick7 @trick7

4:これはそんなに問題じゃないけど、パッケージしたらAIRのランタイムが何MBぐらい上乗せされるんでしょうね。※昔は7MBのっかってた。

2013-02-14 15:00:53
trick7 @trick7

5:2DカードゲームならAIRはとてもありだと思う。Unityで2DUIを開発するのとFlashで開発するのだったら、Flashの方が速くできる感触。(UnityのNGUIちょっとだけ触った程度の僕なんでUnity→Flashの人は違うかもだけど)#AIR_cardgame

2013-02-14 15:03:24
trick7 @trick7

CoronaSDKではコーディングベースの実装はFlashと同じスピード感で作れるけど、ちょっとしたとこでのFlashのタイムラインの使い勝手はやはり素晴らしいと思う。#AIR_cardgame

2013-02-14 15:04:03
trick7 @trick7

ようはStarling&Stage3Dに対応した後のAIR製カードゲームが出てないから、実情よく分かってない気運?greeのMONPLASMASHぐらい?あれ見るとAIRでバッチリだと思うけど。#AIR_cardgame

2013-02-14 15:06:02
◤◢◤◢◤◢ @whirlpower

@trick7 airは3.5以降のatfがないと厳しかった印象。メモリと初期化の問題で。

2013-02-14 15:08:49
trick7 @trick7

@whirlpower ありがとうございます!ATFを知りませんでした。これ実際に一回使ってみないと作業フローの面倒さが実感できないですね。http://t.co/8NyiAgQY

2013-02-14 15:13:14
池田 泰延 @clockmaker

Stage3DがモバイルAIRで使えるようになったのはAdobe AIR 3.2(2012年3月リリース)から。モバイルAIRはキャプティブランタイム一択だと考えているので、基本的にどの端末でもFlashの最新機能を使える(HWの制約以外は)。 #AIR_cardgame

2013-02-14 15:14:49
池田 泰延 @clockmaker

UIパネル素材は最終的にはテクスチャアトラス(一枚テクスチャ)にしてしまうほうが、GPU的にメモリの節約 & GPU転送速度を早める(初期化を早くする)ことができます。さらにATF形式(Stage3Dに最適化された画像)するとなお良し #AIR_cardgame

2013-02-14 15:19:59
池田 泰延 @clockmaker

とはいえ、ベジェ(Flash Proで作成したグラフィック等)はテクスチャアトラスにするとワークフローが煩雑で非効率。実行時にActionScriptでBitmapData化してテクスチャに変換する仕組みを独自に作るのが妥当か(ここは検証したい課題) #AIR_cardgame

2013-02-14 15:21:54
trick7 @trick7

@clockmaker ありがとうございます。仰っているキャプティブランタイム一択というのは、WebViewベースの「側(がわ)ネイティブ」に対しての「純ネイティブ」ということでしょうか?#AIR_cardgame

2013-02-14 15:23:41
trick7 @trick7

@clockmaker http://t.co/6CLYMYLB を読んで、こと2D開発においてstarlingが使えるようになったことの重要さを思い知りましたので7月と書いてみました。2DゲームはCPU負荷よりもテクスチャ関連のGPU負荷かなと。#AIR_cardgame

2013-02-14 15:26:07
池田 泰延 @clockmaker

@trick7 キャプティブランタイム一択に関して。AIRランタイムをアプリ内に同梱するかしないか(同梱しない場合はユーザーが自分でストアからAIRランタイムを入れる必要があるので)で、エンドユーザーの手間を減らすための意図ですー #AIR_cardgame

2013-02-14 15:30:43
trick7 @trick7

@clockmaker やはりここは面倒なのですね。さらにRetina/非Retina対応もよくわかりませんがこれはCoronaSDKでも同じ問題で、理想はiPhone4以下は切り捨てる、、捨てたい、、。 #AIR_cardgame

2013-02-14 15:30:58
池田 泰延 @clockmaker

@trick7 確かにテクスチャ関連の負荷(特に容量・メモリ)がアプリ開発時に課題になると思いますー。 #AIR_cardgame

2013-02-14 15:33:45
trick7 @trick7

タグつけて再掲:AIR3.5以降のATFがないとメモリと初期化の問題で厳しいと教えてもらった。http://t.co/8NyiAgQY #AIR_cardgame

2013-02-14 15:36:35
trick7 @trick7

@clockmaker あ、そういう意味なのですね。それは激しく同意です!

2013-02-14 15:38:35
nezilab🍺🍶🍖🍣 @nezilab

@trick7 参考になるかわかりませんが、ATFとPNGでのテクスチャを読み込んでから表示までのサンプルです。右側がATFで左側がPNGです。 だいたい3倍ぐらい表示までの時間は変わる感じです。 http://t.co/eLf6hXIy

2013-02-14 15:47:15
UmeYoshioka @ume_y

@clockmaker テクスチャとしたいシェイプをスプライトシートとして書き出してしまえば、座標情報も含めて割と簡単にまとめられそうな感じですよね。元がベクターなら端末サイズに合わせて書き出し分けもできそうですし。

2013-02-14 15:55:05
trick7 @trick7

@nezilab とても参考になりました!ATF大事ですね。他の開発ツールではPNGのままでビルドしたりしますが、AIRのPNGテクスチャと同じ時間がかかるのか、AIRランタイムを介さないぶん遅くない(orATF並の速度)なのかが導入の判断基準かも。#AIR_cardgame

2013-02-14 16:42:48
nezilab🍺🍶🍖🍣 @nezilab

@trick7 ほかの開発環境もGPUを使う物はテクスチャ圧縮は使うみたいですね。ATFも名プラットフォームのテクスチャ圧縮をまとめてる物です。 どの環境でもテクスチャ圧縮は大事っぽいですね。 http://t.co/ALWNBrTB #AIR_cardgame

2013-02-14 17:01:22