2013年06月07日

ハマッタ!の解決編

結論から言いますと、解決できませんでした(汗)。
仕方無しに、今回はiPadの対応は見送ります。

iPadで遊んで楽しいか?と言われれば、返答が難しい類のゲームですので・・・。
さて、そのゲームの詳細はまた後日。
本日、AppStoreの審査に出しましたので、また動きがあったら、ここでご報告を。
もちろん、プロモーションも積極的にしていかないとね。

ところで、今回、初代iPadおよびiPhone4で動作が重くなる件についていろいろと調べた結果、いくつか問題も出てきました。

その前に、まず重かった原因ですが、複数あり、これが原因というのは特定しにくいですが、初代iPadに関してはGPUの性能が余り高くないとのこと。
他の機種と比べて、どの位なのか?という具体的な数値等は見つけられませんでしたが、まあ、そうだろうなという感想です。

また、マスクの件ですが、やはりこれも大きく影響しているようで、マスクを外せばサクサク動きます。

しかし!

それ以上に問題なのが、アプリの画面サイズ仕様。
なんのこっちゃですが、まず、現状の仕様策定において、考えたことが以下のようなこと。

1)iPhoneとAndroidの両方に対応
2)画像リソース、およびプログラム関係はできるだけ共通とする。

要はプログラムや画像の書き換え(描き変え)は出来る限りやらない方向で考えていました。

FLASHを開発環境に選んだのも、そのためです。
※以前にも書きましたよね。アニメがやり易い、もともと使っていたので勉強の時間短縮等も理由ですが。

そこで、アプリの制作の元となるstageサイズを800×480をベースにしました。
stageはFLASHの基本となる画面表示領域で、WEB等のFLASHアニメはこの領域が見えているわけです。

なぜこのサイズか?といえば、当時のAndroidで多数採用されている最低ピクセル数がこれだったわけです。
※正確には、この数字ピッタリというわけではないですが、この大きさで作っておけば、大抵の端末で表示可能だったわけです。

で、このサイズで作っておけば実行時に、ピクセル数が余っていても、FLASH(モバイルだとAIR?)Playerの方で、縦横どちらかにピッタリになるように拡大してくれるわけです。

ね?非常に楽でしょう?
楽なんですが、これが落し穴だったわけで。

例えば等倍(×2、×4)だったら拡大もわりと簡単ですが、1.7倍とか半端な数字なると拡大するのも大変ですよね。

どうも、この画面サイズにステージサイズを合わせるのも重くなっている原因のようです。

試しに横サイズをiPhone4いっぱいの960に伸ばして、パブリッシュ&実行したところ、確かに動作が軽くなっています。
ただし、オープニングのマスクに関しては、やはり重いようで、効果はあるのですが、完全では無いようです。
でも、マスクに関しては、他にもやり方はあると思えるので、一応解決ということに。

ただ、最初に言った、iPhoneとAndroidで変更を少なくするというのは難しそうです。

今後、どうやって制作していきましょうか。

iPhoneの性能が上がるのを待つか?
(iPhoneの最低ラインが今のiPhone5レベルになるのを待つ)

Androidの画面ピクセル数を960ピクセル以下は未対応にするか?

マーケットのシェアを見ると、今後はAndroidが上がっていくでしょうし、無視できない存在ではあるんですが、現状を見ているとウチの売り上げには貢献しそうにないというか・・・。

しばらくは作るアプリに応じて、仕様を振り分けるのが一番よさそうですね。
動きが激しいものは、960対応で。
それ以外は800で・・・等など。

出来るだけ綺麗な画像を見せたいし、滑らかな動きも見せたい・・・両立できるバランスをアプリ毎に探していこうかと思います。

そんな訳で、ハマッタアプリの申請が通りますように!!

posted by カモノハシ at 00:37| Comment(0) | 日記

2013年06月06日

ハマッタ!

昨日の続き。

背景データもそのうち届くでしょう、ということでアクションの続きを制作。
細かい部分も、まあ、なんとか形になって、納得できるところまでは出来ました。

それじゃあということで、手持ちの実機に片っ端からインストール&チェック。

ところが・・・。

まず初代iPadでものすごく重い。
ゲーム部分はまだなんとか遊べるけど、オープニング&タイトルが滅茶苦茶重い。
まあ、なんといっても初代だし、こんなもんかと次の機種チェック。

そうしたら、iPhone4でも激重!!

なんで?
3GSでは問題なく動くのに・・・。

というわけで、急遽、動作の軽量化に入りました。
その中で、オープニングが重いのは、すぐに原因が分かりました。

背景になるムービークリップ中で、マスクをかけているからです。
マスクといってもそんなに重いものではなく、ステージから画像がはみ出ないように短径で抜いているだけなんですが、それでも重いようですね。

ここは最悪、マスクを外してしまえば何とかなるんですが、問題はゲーム部分。
アクション性の強いゲームで、動作が重いなんてのはもってのほか。
いろいろ調べてみたのですが、基本的に打つ手なし(というか原因の特定が出来ませんでした)。

というわけで、最後の手。

パブリッシュ設定の中の「解像度」の項目を高→標準に切り替えてパブリッシュ。

おお!?先ほどのオープニングのマスクも、こちらなら問題なく動作します。
もちろんゲーム中も、全く問題ない速度が出ました。

この「解像度」の項目、標準にするとRetina Displayで表示したときに荒れた感じになるようなのですが、この際、背に腹は代えられません。

コレで行こう!と決断したまでは良かったのですが、再度、解像度=標準でパブリッシュしたアプリを、iPadで試してみると・・・。

全然改善出来ていない!!!
ありえん!!
何故?どうして?

さて、困った。
一応、ハードの問題(ハード仕様が古くて、速度的について来れない)かと思い、仕様を調べてみましたが、基本的に初代iPadはiPhone4と同性能位の感じですね。
※GPUの性能がどれ位なのか、正確なところは分かりませんが、CPUでは若干iPad(初代)の方が速いようです。

ホントに困った。
ディスプレイサイズの問題?
GPUの性能?

他に打つ手はないのでしょうか?

う〜ん・・・最悪、iPadは対応から外すという方法も有りですが・・・。
※iPhoneアプリとして、iPadで動かすことは出来るはず・・・こちらもテストが必要ですね(汗)

そんな訳で、連日、何かしらハマッております。
そんな毎日が、生きてることを実感させてくれるなぁ(苦笑)。

posted by カモノハシ at 02:00| Comment(0) | 日記

2013年06月05日

次回作

早速ですが、次回作の報告です。
現在、Love Noticeキャラを使ったスライドパズルと、アクションモノをそれぞれ製作中です。

当初はスライドパズルを手早く出そうかと思っていたのですが、やはりキャラ物は感情移入が大事ということで、前作(その恋スライドパズル)よりもシチュエーションをしっかりと出したいなぁと。
要は、キャラにあった背景を、ということなんですが、今回のスライドパズルは各キャラ毎のバージョンを出して、それぞれの個性なんかも出せればな、と。

そんなふうに考えて、ちょっと画像に出費します。
なんて大層に書いてますが、要は背景画像データを購入するだけなんですけどね。

で、もう発注はしたのですが、手元に届くまでにちょっと空きが出来るので、アクションモノを先に進めておりました。
ゲーム部分はもうほぼ完成しており、あとは細かな調整(特にデザイン面で)を残すだけとなっています。

が、今回はGame Centerに対応させたい!ということで、またまたMilkmanGamesさんのANEの力を借りることに。
ほんでもって、早速実装にかかった訳ですが、これが相変わらずの英語ドキュメント。
Googleさんに手伝ってもらっても、半分も理解できない。

サンプルコードを見ながら、うんうん唸ってなんとか実装にこぎ着けました。
しかしまあ、相変わらずポカの連続で。

バンドルIDを間違えていたり、ViewDetailsでEnableにし忘れたり・・・。
とにかく、バタバタとトライ&エラーを繰り返しておりました。

それでもなんとか実装完了です。

そんなわけで、背景データが届かなければ、このままアクションモノを完成させ、審査に出そうかと思います。

2〜3日後にはハッキリすると思いますので、また、ここで告知します。

お楽しみに。

posted by カモノハシ at 01:58| Comment(0) | 日記