Flash lite開発におけるサイズの削減
こんにちは
CyberX FlasherのイニシャルHです。
今回はFlash liteを用いて開発をする際のサイズ問題について
お話したいと思います。
まずFlashでもPC版とは違い、Flash lite1.1(ここでは普及率の高いLite1.1に焦点を絞ってお話します)
では100Kという限られた容量の中でコンテンツを作成していかなければなりません。
そうなると必然的にクオリティを極力下げずに容量の削減を行う必要が出てきます。
その有効な手段として、大まかにいくつか紹介。
1) グラフィックの使い分け
例えば携帯ゲーム上で使われる背景。
※モバゲーにて公開中「モリんちゅ」
上図のような比較的パスの少ないグラフィックを使用するなら
ベクターで描くほうが容量は小さく済みます。
※モバゲーにて公開中「きらめき舞子ガール」
上図のような描画の細かいものをベクターで描いた場合
アンカーポイントもかなりの数になってしまい画像として
使用するより容量を大きく食うことに。
どちらもその時の使用する素材によって使い分けることが大事です。
ベクターで描くならパスをなるべく少なくする、画像にするなら
PhotoshopやIllustratorで保存する際にあらかじめ画質調整など
しながら容量の削減を行うとより効果的でしょう。
2) ムービークリップ(インスタンス)の使いまわし
Flashにおいて最も有効的でFlashの特徴ともいえる1つではないでしょうか。
例えば同じ素材を違うシーンで使うからといって毎回インスタンス化していては
そのたびに容量を食ってしまいます。
※Mixiモバイルにて公開中「星空バータウン」
上図のような左右対称の素材があったとします。
これをそのままインスタンス化するのではなく、
Flashで左部分をまずインスタンス化、その後右側に
左側の作成したインスタンスを反転させ配置。
これでこの素材をそのままインスタンスした場合より
実質半分くらいのサイズでSWF化することができます。
グラフィック以外にアクションスクリプト部分においても幾分か削減することができます。
ほんの少しの減量ですが、
:変数名は短く 例)/:enemy_weapon → /:e_w など。
※ラベル名も同じく
:Flash liteはfunctionが使えない代わりにcallを。
同じような処理をする場合はcallで呼び出して実行
と、PC版Flashや他の言語を使って開発をする時など、普段気にしない部分にまで
配慮してliteのコンテンツは作る必要があります。
また携帯端末での動作となると、端末によってFlashコンテンツの再生速度に
バラつきがあったりましす。
コンテンツを利用する者皆が最新の端末を持っているとは限りません。
PCでのFlashコンテンと違い、携帯端末の小さい画面からでは
演出にも限界があります。
しかしだからこそ細部に至るまでこだわって、
携帯でここまでやれるか!?といった作り込みを自然に演出する。
どのユーザにも軽快に、ストレスなくFlashコンテンツを遊んでもらうために
グラフィック面からAS面まで、ありとあらゆる工夫をし作りこむ。
これが作り手の、私のliteで開発を行う上での楽しみにもなっています。
ゲーム制作の入門としてもFlash liteはとっつきやすい分野とも
思いますので、これを機にゲーム作ってみたいなぁて方は是非勉強してみては!?