⚔️

『RPGツクールMZ』のプロジェクトをダイエットする

2022/07/17に公開

『RPGツクールMZ』関連記事 目次

プロジェクト[デプロイメント]や[アツマールへアップロード]のオプション[未使用ファイルを除外する]をチェックしておくと、その名の通り必要ないファイルを削除してくれるのですが、結構大量のファイルを「必要ある」と判断しますし、逆に必要なファイルを「必要ない」と判定してしまうこともあります。
そんなわけで、必要最低限のファイルだけ残して[未使用ファイルを除外する]をチェックしないことにより、軽量化を図る方法を探っていきたいと思います。

軽量化

単に起動するにはどれだけのファイルが必要かを調べました。
バンバン削除して、テストプレイで起動したらOKといった、雑な検証方法なので意外なところに不具合が出るかもしれませんが、概ね大丈夫だと思います。
一応お約束ですがプロジェクトのファイルを削除する場合は「自己責任で」お願いします。

削除可能フォルダ

まず、プロジェクトフォルダに含まれフォルダごと削除しても起動するのは、次の通り。

icon、movies、effects、css、fonts、audio

iconとcssフォルダ以外は、テストプレイ時に削除したフォルダは空フォルダとして復活します。

基本的にファイルを使う時点で読みに行くので、使う箇所がない場合[データベース]などでファイルを指定しておいてもエラーは発生しません。

cssフォルダは削除しても起動しますがエラーが発生した場合など表示が乱れるので、削除しない方が良いでしょう。

fontsフォルダを削除した場合、[データベース]-[システム2]-[高度な設定]の[メインフォントのファイル名]と[数字フォントのファイル名]を空にします。
ただ、OSで設定しているフォントで表示されるので環境によって見た目が変わるので、現実的な方法ではないでしょう。
英字だけのような文字種を減らしたフォントを設定すれば、ファイルサイズを抑えることができます。

起動時に必ず読みに行く音声データがあるので、audioフォルダを削除した場合
[データベース]-[システム1]-[効果音]で、カーソル、決定、キャンセル、ブザーをすべて(なし)に設定します。

imgフォルダ

今度は imgフォルダの中でフォルダごと削除し、起動時に問題が出ないフォルダは次の通り。

faces、parallaxes、pictures、battlebacks1、battlebacks2、enemies、sv_enemies、sv_actors

とくに enemies と sv_enemiesフォルダは片方しか使わないので、どっちかに決めたらもう一方は削除してOKですね。
同様にサイドビュー戦闘を採用しないなら sv_actorsフォルダも削除できます。
戦闘がないなら battlebacks1、battlebacks2、enemies、sv_enemies、sv_actorsフォルダは不要です。

title1、title2フォルダを削除した場合、[データベース]-[システム1]-[タイトル画面]の[画像]で(なし)を選びます。
画像を設定していないので、タイトル画面が真っ黒になりますが動作的には問題ありません。
ゲームによってはタイトル文字とスタートメニューだけのシンプルなものも悪くありません。

tilesetsフォルダを削除した場合、[データベース]-[タイルセット]の[最大数の変更]で0にして、[マップリスト]の[⌃]-[編集]で出る[マップの設定]の[タイルセット]を空にします。
これで、なんと真っ黒な背景上をキャラが歩けます。
フィールドの移動を使わない場合、タイルセットは削除できるということです。

charactersフォルダを削除した場合、アクターだけでなく乗り物の設定も変更する必要があります。
[データベース]-[システム1]-[乗り物画像]で(なし)を選びます。
ファイルを先に削除すると(なし)に見えるけどファイル指定は残っている状態になりエラーが発生するので注意です。
次に[データベース]-[アクター]-[画像]の[歩行キャラ]を(なし)に設定します。
facesフォルダを削除しているならここで[顔画像]を、sv_actorsフォルダを削除しているなら[[SV] 戦闘キャラ]を(なし)に設定しておくといいでしょう。
キャラ画像なくても動きます!
しかし[データベース]-[アクター]の[最大数の変更]で0項目にするとエラーで動きません!最低ひとつは必要です。
なお[データベース]-[システム1]-[初期パーティ]も空にするとエラーが出ます。こちらも最低ひとり設定します。
ちなみに[データベース]-[システム1]-[オプション]の[透明状態で開始]は、画像の読み込みに影響を与えません。

systemフォルダ

systemフォルダで削除できるファイルは、次の通りです。

Weapons1.png、Weapons2.png、Weapons3.png、Shadow2.png、GameOver.png、States.png

実は『RPGツクールMV』だとWeapons系の画像を削除するとエラー出ていました。

Shadow1.png : ゲーム開始でエラー
Balloon.png : ゲーム開始でエラー
ButtonSet.png : ゲーム開始でエラー
Window.png : ゲーム開始でエラー
IconSet.png : タイトルでエラー

これらは[データベース]で(なし)を指定できないので、プラグインでも使わない限り残しておくしかありません。
使わないならば1ドットだけのPNG画像などを用意して入れ替え、容量削減してもいいでしょう。

データベースの項目を0に

[データベース]のうち[最大数の変更]で項目数を0にできるのは、次の通りです。
スキル、アイテム、武器、防具、敵キャラ、敵グループ、ステート、アニメーション、タイルセット、コモンイベント

また[データベース]-[タイプ]に含まれる各種項目はすべて[最大数の変更]で項目数を0にできます。

アクターを0にするとエラーが出るので、ともかくダミーで1アクターは必要です。
職業も同様にダミーがひとつは必要です。

ここに、ちょっとした罠があります。
職業が1つしかないとアクターで職業が選べないので、エラーが出続けることがあります。
職業をダミーの1つに減らす前にアクターで1の職業を選んでおきましょう。

後は用語とか空にすれば多少は減りますが、焼け石に水といった感は否めません。

マップはダミーに1つは必要ですが、[幅]0、[高さ]0にできます。

その他

後は js/plugins/に入ってるファイルも使わないなら、[ツール]-[プラグイン管理]で外してファイルを削除していいでしょう。
ちなみに pluginsフォルダもテストすると復活します。

game.rmmzproject、index.html、package.jsonファイルはゲームのベースとなるファイルなので、削除してはいけません。

またプロジェクトフォルダに配置したファイルはとくに内容を検証せずデプロイメントに含まれるようです。
シナリオメモや加工前の素材など作業フォルダは、プロジェクトの外に作っておきましょう。

削除指針に

[ファイル]-[デプロイメント]で[プラットフォーム]を[Webブラウザ / Android / iOS]にし、[未使用ファイルを除外する]をチェックして出力したものを削除の指針にすると、比較的スムースに不要ファイルを削除できます。
プラグインなどで必要とするファイルは、基本的に自分で用意したものなので削除してはいけないということはわかると思います。

まとめ

以上のような感じで起動に不要なファイルを削除して、プロジェクトフォルダのサイズを見ると…おおよそ4MB!
jsフォルダが3.8MBなので、この辺が限界かと思います。
[新規プロジェクト]を製作した直後は105MBあるので、劇的に減っています。
起動するだけに必要な4MBに必要な素材を足しても、短編なら10MB以内に収めることができると思います。
とくに音楽ファイルのサイズが大きいので、使っていないのになぜか残っているファイルがないか気をつけると、削減効果が大きいです。

よくわからない時は「これ消して壊したら今までの苦労が水の泡!」とビビってなかなかファイルを消すのを躊躇してしまいますが、プロジェクトをコピーしておいて「ばさっと消して変なことになったらコピー先から戻す」といったことをやれば割と安全に削除できます。
基本的に扱うファイルが少ないほど管理は楽になりますし、必要か不要かわからないファイルが沢山あると、じわっと不安が心に溜まって良くありません。

また、プラグインやタイルなどの各種素材のサンプルプロジェクトをできるだけ軽くしたい、という場合も参考になると思います。
ゲームアツマールなど、アップロード先のサイズに制限がある場合も有用だと思います。

ただ現在はストレージ(HDDやSSD)のサイズも大きく、通信速度も十分速いので「ファイルサイズなんか一切気にしない」という態度でもそんな問題は起きないというのも確かです。
とくに数KBを減らすのに汲々とするのは愚の骨頂と言えるでしょう。ですが僕はやりがちです(笑)

レッツエンジョイ ツクールライフ!

Discussion