『RPGツクールMZ』[ゲーム]-[テストプレイ]のヘルプ
はじめに
『RPGツクールMZ』の機能のうち、[ゲーム]-[テストプレイ]機能を解説します。
テストプレイを行い、バグを発見し原因を特定し修正する。このサイクルを素早くたくさん行うことがゲームのクオリティアップに繋がります。
ゲーム開発で一番大切な機能と言っても過言ではないでしょう。
ショートカットキー
著者がMacユーザなので、基本的にMacでの画面や操作方法で記述しています。
Windowsユーザのかたは、ご自分の環境に合わせて読み替えてください。
記号 | Mac | Win |
---|---|---|
⌘ | command | Ctrl |
⇧ | shift | Sft |
⌥ | option | Alt |
⌃ | control | なし |
[⌃]はコンテキストメニュー(いわゆる右クリックメニュー)を表すのに使っています。
用語
プロジェクト…『RPGツクールMZ』で作るゲームに使われるファイル(画像・音声・その他データ)をひとまとめにしたフォルダです。
パブリッシュ… プロジェクトを指定環境で動くような形式で出力することです。
コアスクリプト…『RPGツクールMZ』で作ったゲームを動かすための中心となるプログラムです。プラグインは含みません。
プラグイン… ゲームの機能を拡張するプログラムです。付属しているもの、ユーザが公開しているものがあります。自作もできます。
テストプレイ
[ゲーム]-[テストプレイ ⌘R]かツールバーの[ ▶️ ]のボタンからテストプレイを開始できます。
ツールバーのボタン
<New!1.7.0> [ゲーム]-[タイトル画面をスキップ]でタイトル画面をスキップしてテストプレイを開始します。
テストプレイは『RPGツクールMZ』とは別に『NW.js』というアプリケーションアプリケーションが起動することになります。
これはイベントコマンド編集時も敵グループ編集時のテストプレイも同様です。
豆知識
テストプレイは使用中のOS向けにパブリッシュした状態とほぼ同じ状態です。
なので、他機種やブラウザでの動作とは若干異なる場合があります。
また、テストプレイ中のアプリケーションを終了せずに『RPGツクールMZ』に戻ったら、テストプレイは続行しています。
<Bad!> Mac版もWindows版もアプリケーションを終了しているにもかかわらず『NW.js』のプロセスが残り続けてOSの動作遅くなることがあるので、アクティビティモニタ(Windowsだとタスクマネージャ…たぶん)でチェックし、nwjs関連プロセスを終了する必要があります。
イベントコマンド編集時
イベントコマンド編集時も実行する箇所を選択して[⌃]-[テスト ⌘R]でテストプレイができます。
<Bad!> ただし、マップが再現されないのでかなり限定的な機能です。
豆知識
砂川赳さんの NRP_EventTest.js プラグインを使えば、マップ上での動作も確認できるようになります。
敵グループ編集時
[データベース]-[敵グループ]編集時は[戦闘テスト]ボタンで戦闘のテストプレイができます。
デバッグ用プラグイン
デバッグ用としてDevToolManage.js
というプラグインが収録素材に用意されています。
これを使うと「タイトル画面を飛ばしたり」デバッグに便利な機能が使えます。
あれ?[タイトル画面をスキップ]メニューって必要なかったのでは…という気持ちもありますが。
他にも開発用のプラグインは色々とあるので、余裕が出てきたら探してみてもいいかもしれませんね。
NW.jsとは
『NW.js』はブラウザ用の HTML+JavaScript を、デスクトップ(Windows, macOS, Linux)のアプリケーションとして動作できるようにします。
『RPGツクールMZ』はこの『NW.js』を使ってブラウザを含めたマルチプラットフォーム実行を実現しています。
豆知識
NW.js はブラウザの Chrome と同じ Chromium というレンダリングエンジンで HTML+JavaScript を動かしています。
またデスクトップ用の機能を使う仕組みとして Node.js を使っています。
なので、Chrome と同じ DevTools が使えるのです。
ちなみに最初は Node.js と Safari用の Webkit で作られたので node-webkit.js だったんですが、頭文字だけ残って NW.js となっています。
プレイ中の機能
メニューには表示されないのですが、ファンクションキーで呼び出せる機能があります。
[F2] …… フレームレート表示。
[F3] …… 伸縮モード切り替え。
[F4] …… 全画面モード切り替え。
[F5] …… リロード。
[F8] …… 開発者ツールを開く(テスト時のみ)
[F9] …… デバッグ画面呼び出し(テスト時のみ)
ヘルプの[ゲームのプレイ方法]のページに書いてあるんですが、 割と気づかない人が多い気がします。
<Bad!> ヘルプには「FPSと描画モードの表示切り替え」とありますが、 『RPGツクールMV』のヘルプの記述をそのまま持ってきてしまったためで、『RPGツクールMZ』の描画モードはひとつだけなので表示されません。
<Bad!> メニューに色々項目がありますが、ほとんど動作しないか役に立ちません!
すり抜け
テストプレイ中に⌃(Ctrl)または⌘キーを押しながら移動すると、壁などをすり抜けることができます。
もちろん、パブリッシュしたゲームではできません。
[F2]フレームレート表示
現在、画面がどのくらいの速さで描き換えられているか…つまり動作が遅くなっていないかの指標です。
1秒間に60回描き換える60FPSが基準です。それより低くなると何か処理を減らす必要があります。
[F2]を押すごとに FPS → ms → 非表示 の順に切り替わります
[F3]伸縮モード切り替え
画面をウィンドウサイズに合わせるのと実寸表示を切り替えます。
操作説明に書いておくと親切かもしれません。
[F4]全画面モード切り替え
フルスクリーンに画面表示を変更します。
操作説明に書いておくと親切かもしれません。
<Bad!> メニュー表示用のEscキーでフルスクリーンが解除されてしまうのはいかがなものかと思います。
[F5]リロード
ゲームのデータを読み込んで、最初からやり直します。
ただし、マップなどの情報はテストプレイ中に書き直すこともでき、マップ切り替えによりゲーム内でも書き換わるので、リロードまでする必要はありません。
また前述のDevToolManage.js
プラグインにはデータを書き換えてテストプレイに戻った時に再読み込みするオプションもあります。
[F8]開発者ツールを開く
テストプレイ中は F8キーで DevTools という Chrome と同じ開発用のツールを起動できます。
JavaScriptの知識は必須ですが、使いこなせばかなり便利になります。
サポートするプラグインも色々とあるので、そちらを活用するのも良いかもしれません。
詳しくは『RPGツクールMZ』[スクリプト]の使い方基礎#JavaScriptコンソールを参考にしてください。
[F9]デバッグ画面呼び出し
テストプレイ中に F9キーを押すと、ゲーム画面がデバッグメニューに切り替わり、スイッチと変数の値を確認・変更できます。
[デバッグ]メニュー
左側のリストはスイッチ(S)と変数(V)とその番号の範囲になっているので、目的の範囲を選択して決定。
さらに、右側のリストで個々の値を選択します。
スイッチのON・OFFは決定で変更できます。
変数の値は左右矢印で1単位とPageUp・PageDown(またはQ・W)で10単位で変更できます。
変更し終わったら、Escキーでプレイ画面に戻ります。
<Bad!> スイッチを選択しているときに右下に出る操作説明は変数のものです…紛らわしい!
その場で値を書き換えるので、いろんな状況のテストには必須と言って良い機能です。
ちなみに、開発者ツール(DevTools)でも値の操作はできますが、大抵はこちらの方が簡単なので、開発者ツールを使うとしても、まずデバッグメニューに慣れてからでいいと思います。
豆知識
ちなみに最近デバッグという言葉が「バグを見つける」という意味で使われる事が多いようですが、本来はバグを取る方が主目的です。
バグを見つけることのみをデバッグと呼ぶのは、虫を取らない虫取りのようなもので、なんともムズムズします。
昨今、デバッグチームとかデバッグ会社とか組織名につくと、ほぼ間違いなくバグを見つけて報告までが仕事で「バグ取らないんかよ!」と突っ込みたくなります。
特にデバッガーという言葉はほぼ「バグを見つける人」を指して使われている気がします。
そもそもは、『RPGツクールMZ』のデバッグ画面のような「デバッグ作業に役立つツール」を指してデバッガーと言うのですが、意味が拡大して話がすれ違いがちで困ったものです。
見つけるだけの人はバグチェッカーとか言って区別して欲しいのですが…そうなるとバグを修正し不具合を解消する人はバグフィクサーになるんでしょうか。
最後に
こういった感じで、テストプレイで不具合を発見するのに便利な機能が用意されているのですが、もうひとつ知られてない機能が多かったり、もう一歩使い勝手が上がって欲しかったりで、非常に惜しい出来と言えます。
逆に言えば、これらの機能を活用せずにバグ取り(デバッグ)をするのは非効率極まります。
少なくともデバッグ画面(メニュー)はスイスイ使えるようになるのをオススメします。
開発者ツール(DevTools)はなかなか使いこなすのが難しいかもしれませんが、多くの人が使って知識を共有していけば、相当便利な使い方ができる潜在能力はあります。
とりあえず、『RPGツクールMZ』[スクリプト]の使い方基礎から始まる記事をいくつか書いたので、参考にしてもらえれば幸いです。
レッツエンジョイ ツクールライフ!
Discussion