2019年2月24日日曜日

RPGツクールMVのバージョンを「1.6系」にあげるべきか

 RPGツクールMVの本体バージョン1.6系が公開されてからしばらく経ちますが、このメジャーバージョンは過去にいくつか問題を起こした経緯があり、今でも情報が錯綜していて『バージョンを上げるべきか』迷っている方も少なくないようです。

 そこで本稿では状況を改めて整理し現時点(2019/02/24)でバージョンアップすべきかどうか指針を示そうと思います。ちなみに「本体」のバージョンの話であり「コアスクリプト」のバージョンではありません。

画像

 なお、本稿は私の独自調査に基づくものであり、ツクール公式のお墨付きを得たものでないことを断っておきます。

バージョンの差し戻し(ダウングレード)方法

 まず前提として、バージョンアップ後でも元の1.5系へに差し戻しは可能です。Steam版とパッケージ版とでやり方が異なりますが、Steam版の方が少し楽です。

パッケージ版の場合

 公式フォーラムに以下の記事があり、ここから1.5.1の再ダウンロードができます。リンク先の手順に従ってください。
【お知らせ】RPGツクールMV バージョン1.5.1再公開

Steam版の場合

 ソフトウェア一覧の「RPG Maker MV」を右クリック→「プロパティ」→「ベータ」タブから選択できます。なお、ツクールMVを起動している間はドロップダウンを選択できませんのでその場合、一旦落としてください。

Steam版ダウングレード方法

1.6系の特徴

 ダウングレード方法について確認したところで、バージョン1.6系がそれ以前と何か違うのかを説明します。

NW.jsの公式差し替え

 「NW.js」と呼ばれるツクールMVの実行エンジンが(1.6系リリース時点での)最新版に差し替えられました。これが1.6系のほぼ唯一にして最大の特徴です。

 (一部ユーザにとってはもう聞き飽きたかもしれませんが)NW.jsは、Chromiumをもとに作られたマルチプラットフォームの実行環境で、今も改良が続けられています。

 1.5系はツクール発売当時(正確には開発当時)のNW.jsが使用されていましたが、1.6系で1.6.0リリース時点での最新版に差し替えられました。実はこのNW.jsは1.5系でもユーザの手作業で差し替えることが可能で、一部ユーザは自力で差し替えを行っていました。以下に当時の記事が残っているので参考にしてください。

 ただ、この手作業での差し替えは多少PCの扱いに慣れている必要があるというのと、広く知れ渡った方法ではなかったため、公式のバージョンアップに取り込まれたのが1.6というワケです。

NW.js差し替えによるメリット

 詳しいメリットについては上の記事に記載していますが、ひと言でいうとパフォーマンスが改善しています。ツクールMVユーザにとってパフォーマンスは大きな課題のひとつであり、特にピクチャを多用したり、プラグイン等を使って画像をたくさん表示していたプロジェクトにおいてその改善は体感で分かるほど明らかです。これは非常に大きな改善と言えます。

 多くのユーザがわざわざ手間を掛けて今までエンジンを手作業で最新化していたのはこのためです。

1.6系にアップグレードする場合のリスク

 前述の通り1.6系はエンジンの刷新が主な変更点です。エンジンを刷新するというのは実行環境が変わることを意味します。それはつまり今まで動いていたものが動かなくなる可能性があるというリスクを孕んでいます。

 ただし、この項目は一部こちらでの検証・確認が十分でないものも含まれていますのでご注意ください。

一部のプラグインが正常に動作しなくなる

 NW.jsの手動差し替えの頃から指摘されていましたが、ごくまれに正常に動作しなくなるプラグインがあります。ただ、1.6系がリリースされてしばらく経った今ではプラグイン作者側の対応も進んでいるため、動かないプラグインも減ってきています。(こちらでもいくつか対応しました)

 ただ、海外製の高機能なプラグインの中には、そもそも単純なコード修正では対応が難しいプラグインもあるようです。コミュニケーションの問題もあると思うので、海外製のプラグインが正常に動作しなくなった場合は、差し戻した方が賢明かもしれません。

一部のムービーが再生に失敗することがある

 一部のwebmファイルが正常に再生されず最初のコマで止まってしまうことがあります。ただ、すべてのwebmファイルで発生するわけではなく、またコーデックとも直接は関係なさそうで根本原因は不明です。ムービーを多用する場合、正常に再生できるか入念にチェックしたほうがいいと思います。

WebGLモードで動作するための要件が変わっている?

 正確な情報ではありませんが、WebGLモードで動作するための要件が内部で変わっている可能性があります。(本件は後述するデプロイ後にCanvasモードになってしまう問題とは別です)

 つまり今までWebGLモードで実行できていた環境なのにアップデート後はCanvasモードで実行されてしまう、というケースです。Canvasモードでの実行は多くの実行環境でパフォーマンスが低下するほか、一部プラグインやスクリプトの演出が動作しなくなります。

コアスクリプトのバージョンが古いままだとテストプレー特有の機能が使えない

 コアスクリプトのバージョンが1.6.0より前だとテストプレー特有の壁抜けなどの機能が使えなくなります。コアスクリプトも最新に差し替えれば問題は解決しますが、差し替えが難しい場合はこちらで対策プラグインを用意しています。

すでに解決した問題

 過去の1.6系で発生していた問題です。最新版では解決されていますが、情報が十分に周知されていない場合もあるので整理のためここに残しておきます。

エディタ上で特定の操作を実行するとアプリケーションが強制終了する

 この問題は、1.6.0公開当初にのみ発生していました。Qtというエディタで使っているライブラリのバージョンをあげたことにより発生したようです。1.6.1にてQtのバージョンを元に戻し本現象は解決しました。

コアスクリプトが古い状態でテストプレーを実行するとコアスクリプトが自動で差し替えられてしまう

 この問題も1.6.1により解決しました。コアスクリプトに直接変更を加えている場合やコアスクリプトのバージョンを上げたくない場合などでも強制的に差し替えられてしまいます。

デプロイしたゲームがWebGLで動作する環境でもCanvasモードになってしまう

 この問題は1.6.2により解決しました。Canvasモードの問題点は前述の通りでパフォーマンスに影響するので無視できない問題でしたが無事に解決しました。  

まとめ

 1.6系はいくつかの問題があり、解決されたものと未解決のものとがありますが、パフォーマンス上の重要な更新を含むので可能なら適用させたいところです。そのためには情報を整理し、リスクを改めて確認する必要があると思い記事にまとめました。参考にして頂ければ幸いです。

 ここまでお読みくださり、ありがとうございました。