• このエントリーをはてなブックマークに追加
RPGツクールMVの最適なファイルサイズはどれくらいか?(読み込みの軽量化手法)
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

RPGツクールMVの最適なファイルサイズはどれくらいか?(読み込みの軽量化手法)

2016-10-08 23:11
    2016年10月7日に「ニコニコ自作ゲームフェスMV」の投稿規定を発表しました。投稿をお考えのかたはぜひご覧ください。(特に「解像度」「ブラウザ出力」「ファイル名は英語」が大事です)

    「解像度」と「総ファイルサイズ」について不便ではないか、という御指摘をいただいています。この規程は見直しを行っていきますのでしばしばおまちください。

    せっかくの機会ですので、ファイルサイズについて考えていきたいとおもいます。まずは、RPGツクールMVで出力されるゲームの総ファイルサイズについてみていきます。

    ■RPGツクールMVゲームの総ファイル容量はいくつか?
    まず、まったく作っていないゲームを出力します。
    全ファイル 396 MB 
    未使用ファイルを含めない 80.4 MB
    未使用ファイルを含めない機能はツクールのver1.1から搭載されています。この機能をつかえば、創作の余裕は十分にありそうです。

    1f88b8dfa78230383838b7a8959336b67f0915ba
    未使用ファイルを含めないオプション

    RPGツクールMVは、デフォルトの素材が非常に高品質大容量でつくられています。
    ちょっと重くて使いにくいという声にこたえて軽量化素材がアップデータとして配布されているので、それを使ってみましょう。

    https://tkool.jp/mv/special/tkool-mv-update-1.html
    ここで配布されているファイルのなかに以下のものがあります。
    audio_64kbps.zip (軽量化された音楽)
    img_compressed.zip (軽量化された画像ファイル)
    21126320fb84a05a77ebb4c2764c347439b77253
    軽量化音楽ファイルの構造

    音楽の場合は
    \v1.1.0Assets\audio_64kbps\AdditionalAssets\audio
    の中身をまるごとゲーム作業フォルダにある「audio」フォルダのなかに上書きコピーします


    f5b1bd7b5100fe8ce67883631cfff0d7e4ade6c4
    軽量化画像ファイルの構造

    画像の場合は
    v1.1.0Assets\img_compressed
    の中身を丸ごとゲームの作業フォルダにある「img」フォルダのなかに上書きコピーします。

    さて、これでいくつになるでしょうか?
    全ファイル 307 MB
    未使用ファイルを含めない 39.0 MB
    ファイルサイズが小さくなりました。
    ただ、おもったよりは小さくなっていません。全体のファイルサイズ抑制には、不要な素材を使わないというのが1番のようです。


    さらに小さくしてみましょう。「PNGoo」というPNG圧縮ソフトを使って画像サイズを小さくしてみます。設定はデフォルトです。
    未使用ファイルを含めない 24.6 MB

    だいぶ小さくなりました。



    ■シーン単位の読み込み量を考える
    これまでは「総サイズ」の話でした。
    ゲーム投稿のときには総サイズは重要ですが、実際にプレイするときには「シーン単位の読み込み量」が重要です。ローディングの長さや、スマホプレイの快適さにかかわります。

    現在のインターネットの中心はスマートフォンです。ブラウザモードでゲームを公開した場合、スマートフォンのプレイヤーのほうがPCよりも多いのです。

    8209af9c8936f105177570fe268bc108e3d5a19e
    そして、スマホの場合は「128kbps」という1つの壁があります。いわゆる7GB制限を突き抜けたあとの通信制限です。なお、LTEモードの場合は実測値で10Mbps近く出ているという統計発表があるので、あまり気にする必要はありません。



    ■シーンごとの読み込み量を計測し、最適な値を捜すには?
    デフォルトマップ「城1」にBGM「Battle1」を自動再生したマップを用意しました
    4ced761e8469f293f20674dacc5c8eb7b7b88896
    用意したデフォルトマップ


    これの読み込み速度をみます。
    ツールとしてGoogle Chromeの「Developer tool」を使うことにします。デベロッパーツールはwindowsの場合F12キーで立ち上がる開発者モードです。様々なテストが行える超有用なモードです。今回はネットワーク回線の速度を制限します。


    362547cd52f807daa3e3410ade27befb63681757
    Google Chrome デベロッパーツール

    「▼」クリックすると回線制限の種類が選べます。
    customで128kbpsモードを作り、テストしてみましょう。なお、実験はローカルPCでサーバを立てておこなっています。そのため、インターネット回線の制限を通常はうけません。

    では、早速立ち上げてみましょう。

    a0b07f79fc27738e35b32b2a5d73dcac2c398d07
    フォントのロードエラー


    ・・・・とするとload errorでゲームがはじまりませんでした。フォントの読み込みが20秒以上になるとツクールMVはエラーになるというのが現在の仕様です。(対策を検討しています)


    いったんフォントは読み込んだことにして、オープニング画面から読み込みをテストします。
    これを「デフォルト素材」と「軽量素材(公式)」と「軽量素材(公式+png圧縮ツール)」で比較しましょう。デベロッパーツールの測定結果を見てみます。


    7d7c00ada9f088f87ee212bdbe5b472edd688445
    デフォルト状態

    297744999547466fdff96d4ba4e94f245706b70b
    軽量素材(公式)



    88cb917ca17812b1cfafa41a11ac26fdee6f9bef
    軽量素材(公式+png圧縮ツール)

    デフォルト素材:9.8分(読み込み総量17.0MB)
    軽量素材(公式):5.3分(読み込み総量9.6MB)
    軽量素材(公式+png圧縮ツール):2.2分(読み込み総量6.4MB)

    この分数はOPが表示されてからゲームが始まるまでの時間です。
    デフォルト素材はBGMの「Battle1.ogg」が重く、読み込みに4.5分かかっています。
    1番軽い軽量素材(公式+png圧縮ツール)では128kbps制限下で2.2分とギリギリ我慢できる長さになりました。音声は遅延ロードでプレイ後に演奏されるので、画面がでてくるだけなら1分半というところです。

    このことから「公式の軽量音楽素材」「png圧縮ツールでの画像の圧縮」は体感的にロード時間が短くなるといえそうです。また、体感的に1.5分であれば待てそうだ、というのも実験で感じたことです。


    ■まとめ
    ・総容量は「未使用ファイルを含まない」をすると余裕が出る。
    ・シーンごとの読み込む容量を軽くすると、スマートフォンプレイが軽快になる。スマホの普及率はPC以上。
    ・chromeのデベロッパーツールを使うと読み込みの可視化やテストが行える
    ・シーンごとの読み込み容量は、「公式の軽量素材」「png画像の軽量化」が効果的。


    ■Tips
    ・ブラウザゲームは通常1度ファイルを読み込むとキャッシュされ、2回目からは読み込みが早くなります。テストのときはこのキャッシュが邪魔になります。デベロッパーツールのネットワークタブの「disable chache」をチェックすることでこれを無効にできます。もう一つのやりかたとして、chromeではデベロッパーツールを表示した状態でリロードボタンを長押しすることで「キャッシュの消去とハード再読込」ができます
    ・軽量化をする場合は、闇雲に軽さを目指さず「総ファイルサイズ」と「シーンごとのファイルサイズ」の目標を決めてください。デベロッパーツールで計測しながら「これくらいが満足度高いな」と判断していくのがお勧めです。


    ■関連情報
    RPGツクールMVで制作したゲームをウェブ公開する(後編) - Qiita
    RPGツクールMV_軽量化する方法 - Medical Herb Game Jam community - itch.io


    ------------------


    自作ゲームフェスMVでは上の話題のようなことを「みんなでサポートチャット」で話しています。ぜひご参加ください。
    また(PCだと)右側にある「メール配信を購読する」ボタンをクリックすると更新がメールで受け取れますので、ご利用ください。

    コメントを書く
    コメントをするには、
    ログインして下さい。