開発日誌

すべての記事

[ ゲームリリース情報 ] [ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] イベントスキップを実装した

2020-11-02 21:08:18

ミニゲーム『夫婦戦争MZ(まさに絶体絶命)』を少しバージョンアップしました。

進行のテンポを改善してほしいというフィードバックをいただいたので、一部のウェイトを短縮してみたほか、一度見たバッドエンドは次回から飛ばせるように、イベントスキップの機能を取り入れました。

イベントスキップ機能については、そもそも飛ばしたくなるような長いイベントを作るなというのと、飛ばしてもストーリーが成立するような無意味なイベントを作るなという理由で、個人的には不要派です。

実際、『天下御免!からくり屋敷』では、ボス戦前の会話イベントなど、そもそもそんなに長くはしていませんが、2回目に戦う時は前半を飛ばして最後の2〜3台詞ですぐに戦闘に入れるようにしています。

しかし、この『夫婦戦争MZ(まさに絶体絶命)』は周回前提のゲームなので、何度も同じエンディングを見るのは、たとえ数秒程度とは言え時間のロスになるのは確かです。

というわけで、一度見たバッドエンドは↑キーを押せばスキップできるようにしてみました。

本音を言うと、何も考えずにスキップするのではなくて、今回手に入れたアイテムでどのエンディングになったのか、よく考えながら戦略を練ってほしいというのはありますが……。

いくつかイベントスキップのプラグインは探してみたのですが、多機能すぎたり、いまいち使い方がよく分からなかったりしたので、結局自分で作ってしまいました。

プラグインだけでイベントスキップを実現しているのではなく、並列処理イベントと連携して動かす前提になっているので、機能はシンプルですが実装は難しいかもしれません。

スキップさせたいイベントの実行中に、特定のスイッチをONにします。そのスイッチに連動して起動する並列処理イベントを作成し、スキップ時に押すキー(ここでは↑キー)が押されていたら、プラグインコマンドで「実行中イベントのスキップ」を実行します。これでイベントスキップが実現できます。

プラグインコマンドの「実行中イベントのスキップ」は、現在メインで実行しているイベントを、指定したラベルの位置までスキップさせる機能です。ラベルが指定されていなければ最後までスキップされます。もちろん呼び出し元の並列処理イベントはスキップされません。

イベントからコモンイベントを呼び出して……みたいな入れ子状態になっている場合は未対応です。「文章の表示」中であれば直ちにメッセージウィンドウを閉じてスキップしますが、それ以外のイベントコマンド、例えば選択肢の表示や移動ルートの設定などは、そのコマンドが完了してからスキップされます。

なので汎用性は非常に低いと思いますが、会話だけのイベントを飛ばすといった限定的な使い方であれば、これで十分です。

コメント
お名前
コメント
※ 確認画面はありません。