フラグ
「俺、このゲームをリリースしたらSwitchを買うんだ」と爆死フラグを立てて早半年、
なんとかGooglePlayにリリースはしたものの、なんたってIndie Game Fesitivalの締め切りに合わせて突貫工事で作ったものだから、いまだに未完成部分の作成に時間を取られてフラグ改修とはいかない状況です。いや、この場合はフラグは成立してるのか。
それはさておき
それほど規制のないGooglePlayなんですが、一つだけ大きな決まりがあって、それは
GooglePlayにアップルするAPKのサイズは100MB以下
ってやつ。
当初は「ゲーム規模はそれほど大きくないし、大丈夫だろ」と考えて、あまりに気にせずにいたのですが進捗が進むにつれてアプリのサイズも大きくなり気がつけば240MBオーバー。
この時点でIndie Game Fesitival締め切り日の前々日だったりしたのは、まさしく
どうしてこんなになるまで放っておいたんだ!
三 三三
/;:"ゝ 三三 f;:二iュ 三三三
三 _ゞ::.ニ! ,..'´ ̄`ヽノン
/.;: .:}^( <;:::::i:::::::.::: :}:} 三三
〈::::.´ .:;.へに)二/.::i :::::::,.イ ト ヽ__
,へ;:ヾ-、ll__/.:::::、:::::f=ー'==、`ー-="⌒ヽ
. 〈::ミ/;;;iー゙ii====|:::::::.` Y ̄ ̄ ̄,.シ'=llー一'";;;ド'
};;;};;;;;! ̄ll ̄ ̄|:::::::::.ヽ\-‐'"´ ̄ ̄ll
的な状況だったのですが、何とかそれをしのぐことができたので今日はそのお話。
APKのサイズを小さくするには
1.何がサイズを大きくしているのか知る
まずは何がそんなにサイズを大きくしているのか知る必要があるので、ログを開いて確認します。
Consolの右上をクリックしてEditor.logを表示
ログを下のほうにスクロールしていくと、アプリ内で使用されるアセットのサイズが「大きい順に」出力されています。
なので、ログの上位に表示されているものから優先的にサイズを縮小する対応を行います。
2.テクスチャのサイズを小さくする
殆どの場合、アセットのサイズで上位を占めるのはゲーム内で使用しているテクスチャになっていると思います。
3Dモデルなどをアセットストアで購入したままの場合、テクスチャは2048×2048のサイズになっていたりするので、一つのテクスチャで数メガぐらいの容量をとったりします。
これはPCなどの大画面でプレイするようなゲームを作る場合には、なるだけ綺麗なテクスチャが必要となるためこのサイズになっていると思うのですが、携帯ゲームの場合にはそこまで巨大なサイズは必要ないので容赦なく小さくすることにします。
projectウィンドウで小さくしたいテクスチャをクリックするとInspectorに以下のように表示されるので、Override for Androidをチェック。
(今は2.7MBもあります)
Maxサイズを512に変更して、Applyボタンを押すと・・・
サイズは170.7KBになります。
これを繰り返してテクスチャのサイズを下げれやれば大抵のアプリなら100MB以下になるかと思うのですが、私の場合は124MBに留まり更に減量が必要でした。
3.音声ファイルを小さくする
音声ファイルは通常、Sampe Rateが44.0Hzになっていると思います。が、音質にこだわらなければテクスチャと同様にサイズを小さくできます。
テクスチャと同じようにProjectウィンドウで音声ファイルを選び、InspectorのOverride for Androidをチェックして、「Override Sample Rate」を選択して「Sample Rate」を22.0Hzにします。
これで1.3MB→0.7MBになった。
音声ファイルを多く使っている場合は有効な手だと思いますが、ただこれでもダメな場合のさらなる一手は・・・
4.使う日本語フォントを一つに絞る(TextMeshProのみ)
私の場合、Text系のUIには全てTextMeshProを使用していますが、TextMeshProで日本語を使用する場合、ttfやotfなどをそのまま扱うことはせず、独自の形式で保存されたassetを扱います。
これが意外とでかい、一つのフォントで16MBぐらいになっちゃう。
なので演出上の理由から二種類使用していた日本語を一つに絞りました。これで16MB空くなら仕方ない。
で、それでも、尚且つ、ダメな場合、最後(?)の手段が・・・
5.使用しないStandardAssetsを削除する
開発中にPostProcessingを使おうかと思い、プロジェクトにインポートしていたのですが、テストしてみると端末負荷が以外に大きく、使用を断念してそのまま削除せずにいたのです。
が、なぜかビルドするとAPKに組み込まれるようで、Bluerのシェーダとかが2MBとか容量を喰っていたのでこれも削除しました。
で・・・
ここまできてやっとAPKサイズが90MBぐらいに。
一気にいろいろ書いてますが、実際は一つ試してはビルドして、一つ試してはビルドして、の繰り返しで作業したので結構な時間が掛かってしまいました。
ええ、終わったのがIndie Game Fesitival締め切り日の前日の午前4時ぐらい。
これからアルファ版を公開して課金テストを行う為に、あれやこれやのドタバタがあったのですが、それはまた別のお話・・・
宣伝
「キューティサーキット ~どうぶつたちと旅にでよう~」
GooglePlayで絶賛公開中です!!
ここまでドタバタを披露するとベータ版じゃないの?とか思われそうですが、ちゃんと最後まで動きます。大丈夫です!きっと、たぶん、大丈夫。うん、きっと・・・
追伸
サイドボードのキューティーサーキットのリンクに画像を張りたいのですが、なぜか上手くいきません。誰か助けて