RPGツクールVX Ace製のゲームのデバッグモード・製作者側の対策
【初めに】
デバッグモードとは、製作者がデバッグするためのショートカットのようなものです。RPGツクールでは基本的に、壁抜け、変数・スイッチ操作などが可能です(製作者によって挿入されたスクリプトによって各々動作は異なります)。
変数やスイッチとは、一般的にはゲームのシナリオのフラグや、システムに必要な数字などを管理するもので、それをいじることによって、場合によっては開始1分でエンディングを呼び出すということも可能なわけです(本当に場合によるけどね)。
・RPGツクールVX Ace標準のデバッグメニュー。Sはスイッチ(Switches)、Vは変数(variables)
※デバッグモードで起動する方法はここでは書きません。そもそも、正規の遊び方ではないので、製作者の中にはデバッグモードで遊ぶことを快く思わない方もいます。
ショートカットを用いた方法だと、RGSS3でははじかれて起動できないということが多いのですが、別の手段を用いた場合ではほぼ100%デバッグモードで起動することができます(内部的に$TESTを書き換える)。
【製作者側の対策】
デバッグモードを勝手に見られたり、ストーリーをあべこべにして攻略されることは、あまり心地のいいことではないかもしれません。なので、デバッグモードを禁止できるスクリプトを書きましょう。
たった一行だけで十分です。DataManagerの21行目に$TEST=falseと書く、ただそれだけです($BTESTは不要)。
ただし、この方法だと製作者は自分でもデバッグモードを開くことができなくなってしまいます。なので、最終的なデバッグが終わって、ゲームを公開する前に挿入することをお勧めします。
ただ、DataManagerだと起動時に一度しか実行されないので、「絶対に絶対にデバッグモードで起動されたくない!」という方は、Scene_Baseのdef updateに$TEST=falseと挿入してください。毎フレームごとにデバッグモードが禁止されます。
……以上、かんじの草でした。