セルフスイッチ活用のコツ


この記事は、「RPGツクールMVアドベントカレンダー2017」12月15日用に書かれたものです。
また、「ツクール学園フェスティバル」教室22番の、ネタバレや制作時の裏話を多少含みます。

皆さんこんばんは。沫那環です。
普段はVX Aceで剣と魔法と科学なRPG「Humanus」をツクっている人ですが、先日、「ツクール学園フェスティバル」なる公式合作企画へ参加すると同時に、本格的にMVデビューした次第です。
私の作品は、教室22番にてプレイ可能です。
短い時間でサクッとプレイできるので、皆様ぜひプレイしてくださいませ。

と、挨拶も兼ねた宣伝はさておき。
プレイされた方はすでにご存知かもしれませんが、今回は「展示をめぐってスタンプを集める」という、ごくごくシンプルなスタンプラリー形式の作品を制作しました。
他の皆様が気合の入ったミニゲームを制作している中、ツクールスキルが(年数のわりに)しょっぱい私が、制作にかけられる時間と能力、自分自身の強みである(多分)小説書きを掛け合わせてやれるだけをやってみた一品です。

ところで。
スタンプラリーの進捗を管理するには、一般的にはセルフではない方のスイッチを使うことの方が多いでしょう。
……というか、一般的な作品ではほぼそうだと思われます。
しかし、私が今回ツクった作品は、合作企画に応募する作品です。
合作企画のルールとして、使えるスイッチと変数とコモンイベントの数は、基本的に一人当たりおよそ9個となっていました。

(作ったマップを見ながら)見ようとさせる展示の数に対して、スイッチの数が圧倒的に足りないぞ!

そこで何を思ったのか、私はセルフスイッチを判定に使うという暴挙に出ました。
マップイベントに展示の解説やらなんやらを書いたページを作り、それを同じイベント内にまるっとコピー&ペーストします。
ペーストしたページの出現条件を、任意のセルフスイッチがONになっている時にします。

そして、展示内容などを書いたページの一番下に、こんな感じのイベント命令を追加します。
セルフスイッチの操作で、先ほど出現条件を設定したイベントページで使っているものと同じセルフスイッチをオンになるように設定します。
変数は、今回は、自分がいるフロアで見た展示の数を計測するために使っています。


横長の絵画や地図は、このように、スクリプトで隣接するイベントのセルフスイッチを操作するように命令を入れます。
後は、これを設定したいイベントの数だけ繰り返しつつ、楽しいスタンプラリーになるように試行錯誤します。
クリア後や、途中で断念する際の退出時に行う変数などのリセットなども、必要に応じて設定していきます。

さて、そんなこんなしながら、完成した作品は無事に提出することができました。
しかし、正規公開直前の参加者向けプレビューにて、リトライ時に再挑戦することができずに、詰み状態になってしまうことがプレイした方の報告によって判明。
この不具合の原因は、リセットしそびれたセルフスイッチにありました。
そこで、コモンイベントを使って、途中退出時にセルフスイッチが全てリセットされるように設定しました。
ですが、セルフスイッチはもともとが宝箱やアイテム入手イベントなどの一回きりのイベント向けに設計されているのですから、一括でオン/オフを切り替えてくれるイベント命令なぞありません。
というわけで……該当するマップイベントの数だけ、セルフスイッチをオフにするスクリプトを入れます(かなり特殊なイベントでありながら、導入を許可してくださった主催者の方々、ありがとうございました!)
イベントNo.を一つ一つ書き換えながらスクリプトを複製していく作業が、私の中では一番しんどかったです……。
複数を一括で操作できるスイッチの存在が、この時は少しだけ妬ましく思えてしまったのは、ここだけの話。

とまあ、四苦八苦しながらも無事に正式公開にこぎつけたわけですが……。

……正直言って、こういう形でセルフスイッチを大量に使うのは、よほどのことがない限り、二度とやりたくないと強く思った私がいました……。

≪結論≫
合作企画でもない限り、スタンプラリーをツクる時は、普通のスイッチを使った方が楽だ。
まあ、セルフスイッチの性質からして、今回のチャレンジが無謀すぎた、ってことでここはひとつ。

以上、長々とお粗末様でした。