【ウディタ講座】「プレイヤー接触」のべんり化(起動条件拡張)

遊びやすいフリゲ、快適なRPGの条件っていろいろあると思います。

たとえば、そのひとつは「町の人にプレイヤー接触で話しかけられること」ではないかと僕は思うのです。決定キーを押さずに済む。つまり、ボタン入力の手間が少ない。ただそれだけがとてもだいじ。

遊びやすさ=使うボタンの少なさ

ツクール2000で極限までシステムを練り上げた名作フリーゲーム『ダーリン菊一文字』などでは、プレイヤーがNPCに向けて歩いていく(ぶつかる)だけで会話することが出来ます。「調べる」の入力が不要なのです。

ゲームの紹介はこちら。

【おすすめゲーム】影明かし

会話でいちいち決定ボタンを押さないで済むし、決定ボタンを押してもモチロン会話を始められます。イベントの起動方法が二重化しているわけですが、これは地味ながら、ものすごくプレイがラク! スゴイ! 実に奥ゆかしい気配りです。

使うボタンが少ないほど疲れずプレイできるものなのですね。

二重の起動条件の設定方法

ツクール2000やMVならば、NPC(町の人など)のイベントの開始条件(トリガー)を「決定キー」ではなく、「プレイヤーから接触」にするだけでOKです。

ところが、操作感がほぼ同じウディタでコレができるかというと、できないのです。

イベントの起動条件がツクールよりも厳密に区別されているらしく、条件が「プレイヤー接触」の場合、そのイベントに隣接して決定キーを押してもイベントは始まってくれません。

「ぶつかっても、調べても起動OK」としたいのに、「ぶつかるか、調べるかのどちらか」でしか会話(イベント起動)ができないのです。

ウディタで二重の起動条件を実現するには

でも、快適に両立させたいですよね。なんとかしてみました。

基本的にはイベントを「プレイヤー接触」起動にし、次のような並列処理のコモンを動かします。シンプルに考える意味でも、全歩移動のナナメ移動なしの設定となっています。

 

つまり、決定キーが押されたとき、主人公が向いている方向にイベントがあったら、キーの自動入力を使って、こっそり主人公が移動していることにして、「プレイヤー接触があったことにしている」のです。

力業ですねー

 

処理の核は、「決定キーを検知したとき、主人公が向いている方向の十字キーを自動入力する」こと。

複雑そうな箇所は、決定キーを押すだけで主人公が一歩前進してしまうので、あらかじめ「主人公が向いている方向が通行不可の場所である」ということを入念にチェックしているパートなわけです。

ウディタの仕様で気を付けなくてはいけないのは、「キャラの動作指定」ではダメということ。
イベント命令によって主人公が右に動いたことと、キー入力によって主人公が右に動いたことは、ウディタではやはり厳密に区分されているようです。

 

コモン頭の分岐はイベントの起動が重なったり、勝手に歩いて行かないためのセーフティです。さらに他処理との競合が不安でしたら、このコモンに起動条件を付けておきましょう。ある変数が1の時だけ動く並列処理にしてください。

 

イベント接触(イベントから触れたとき)の場合

ちなみにプレイヤーからではなく、「イベントから触れたとき」という開始条件もありますよ。

シンボルエンカウントの敵キャラなんかで使うことになるでしょう。

基本的には「イベントから触れても起動する、プレイヤーからの接触で起動するイベント」と考えて構いません。

ツクールならば調べても起動できますし、ウディタは上のようなコモンを入れない限りは調べても起動しません。逆に言うと、このコモンを導入するとイベント接触の起動も発生させやすくなります。

 

では、決定キー起動可能なイベントを、「プレイヤー接触」と「イベント接触」どちらかだけにしたい場合は? こちらで紹介している「イベントの影グラフィック設定による区別」がよさそうです。

https://donichi-game.com/howto-arpg01/