やさしいウディタ講座9:ランダムエンカウントで戦闘を発生させる

無料のゲーム開発ツール「ウディタ(WOLF RPGエディター)」の基本的な使い方を、初心者さん向けに紹介するこの企画。

ウディタのことをよく知らない人は、まず以下の記事から読んでみてください。

>>【関連記事】:無料で使えるRPG開発ツール!ウディタの始めかた

前回「やさしいウディタ講座8:敵と戦うイベントを作ってみよう」では、敵とのバトルが発生するマップイベントの作り方について解説しました。

今回は前回講座の発生方法とは違う、ランダムエンカウントによる戦闘イベントを作ってみましょう。

公式サイトにはウディタの使い方を詳しく解説している、マニュアルやガイドが公開されています。ウディタを学ぶ際の、必須となる教科書です。ぜひ参考にしましょう。

>>WOLF RPGエディター|公式サイト

「ランダムエンカウント」って何だ?

一定確率で敵と遭遇するイベントのことです。

抽選会のルーレットやガラガラポンといった、くじ引きを想像するとわかりやすいと思います。

運良く当選すると豪華賞品が…の代わりに、敵とのバトルがはじまる感じです。

ドラクエやFFなどのRPGを思い浮かべてください。ワールドマップをトコトコ移動している最中、たまに敵と遭遇してバトルがはじまりますよね?

目的地への移動中の他、レベル上げやアイテム集めなどで、頻繁にプレイすることになる敵との戦闘シーン。

これをウディタで作ってみよう!というのが、今回の講座の目的です。

今回の講座をはじめる前に

基本的な戦闘イベントの作り方については、前回の「やさしいウディタ講座8:敵と戦うイベントを作ってみよう」にまとめています。そちらの知識と合わせてやると理解が深まりますよ。

また、この講座ではサンプルゲームのDataをそのまま使っています。

空データ基本システム入りのDataではじめる人の場合、Dataフォルダの中身が少し違います。敵のグラフィックやBGMなどの素材があまり入っていません。サンプルゲームのDataから素材をコピーし、Dataフォルダ内にある同名フォルダに入れておきましょう。

ランダムエンカウントの戦闘イベント作る手順

適当なマップを用意してイベントを配置

主人公キャラが余裕を持って移動できるサイズの、マップを作ってください。

今回は以前の「やさしいウディタ講座4:操作キャラを別マップへ移動させる」で作った、ワールドマップっぽいものを使いまわすことにしました。作り方については以前の記事を参考にどうぞ。

マップの中央付近に、マップイベントを設置します。

ウディタ マップ

マップイベントを設置する基本の方法は、「やさしいウディタ講座2:人を配置・看板を調べるイベントの作り方 – マップの中に人を配置してみよう」の記事を参考にしてみてください。

厳密に中央へ置かなくても大丈夫です。配置は後でいくらでも微調整できます。大まかに置いてください。

マップイベントの内容は以下のとおり。

ウディタ マップイベント画面

  • 名前はお好きなように。わかりやすい内容でつけてみましょう。
  • グラフィックは不要です。
  • 移動ルートは「動かない」に。その場で固定させます。
  • 起動条件を「プレイヤー接触」に変更。このマップイベントに主人公キャラ(操作キャラ)が触れると、イベントが発生するようにします。

ランダムエンカウントのコマンドを入力する

ランダムエンカウントの戦闘についてですが、ウディタ開発者さんが予めコモンイベントを用意してくれています

それを利用すれば簡単。

先程配置したマップイベント画面で、「コマンド入力ウィンドウ」を開きます。

ウディタ コマンド入力ウィンドウ表示

コマンドコマンド入力画面左側の一覧で、「I コモンイベント」を選択しましょう。

ウディタ イベントコマンド入力 コモンイベント

画面右側、イベント操作処理の一番上「イベントの挿入」を選択状態に。その横にあるドロップダウンメニューから、「コモン37:◇ランダムエンカウント処理」を選びます。

ランダムエンカウント処理の詳細設定

続いて、コモンイベント「ランダムエンカウント処理」の中身を設定します。

ウディタ イベントコマンド入力 コモンイベント

【コモンEv入力(数値)】の部分に注目。

・出現歩数:

敵と遭遇する確率を調整する部分です。この確率は主人公キャラ(操作キャラ)が移動した歩数を基準としています。

例えば100にした場合、100歩移動したら1回当たるくらいの遭遇率ってことです。テストプレイで感触を確かめつつ、数字を微調整してみてください。

・敵グループ 1~3:

出現する敵を決める部分です。「ユーザーデータベース」に登録されている敵グループから選べます。最大3種類まで可能です。

この他、敵の強さや敵グループの組み合わせなどをアレンジしたい場合には、前回「やさしいウディタ講座8:敵と戦うイベントを作ってみよう – 敵の強さなど、パラメータを変えたい場合」以降の部分を参考にやってみてください。

設定が終わったら、入力ボタンをクリック。

マップイベントのコマンド欄を確認しましょう。

ウディタ イベントコマンド

上で作業した、コモンイベント「ランダムエンカウント処理」のコマンドが表示されていればオッケーです。

イベントの発生範囲を広げる

続いて、ランダムエンカウントが発生する範囲を調整してみましょう。

現状では1マスにしかマップイベントを置いていません。そして、このマップイベントの起動条件は「プレイヤー接触」。

ウディタ マップイベント

つまり、主人公キャラがこの1マスに触れなければ、ランダムエンカウントは発生しないということ。

マップが広いのに判定がたった1マスでは、戦闘イベントの発生確率が極端に低くなってしまいます。ゲームとして不自然ですし、プレイしていてもつまらないですよね?(クソゲー認定されてしまう…)

これを解決する方法が「接触範囲の拡張」。では実際にやってみましょう。

マップイベントをダブルクリックし、画面を開きます。

起動条件の下にある「接触範囲拡張」の部分に注目。

ウディタ 接触範囲拡張

ここのXとYの数字を増やしてみてください。

マップに赤い枠が登場し、数字が増えるに従って縦や横に広がるはずです。

ウディタ 接触範囲拡張

この赤い枠の大きさまで、イベントの発生する範囲が広がるんですね。

接触範囲拡張については、「やさしいウディタ講座4:操作キャラを別マップへ移動させる – イベントの発生範囲を拡張する」で解説済みです。参考にどうぞ。

敵を出現させたいところまで、赤い枠を広げましょう

もし狙った場所へうまく広がらなければ、マップイベント自体を動かしてみてください。マップイベント上で右クリックし、「切り取り」と「貼り付け」を駆使して、位置を微調整します。

作業が終わったらセーブをクリック。変更内容を保存して完了です。

テストプレイでランダムエンカウントを確認

さあ、ランダムエンカウントが発動するかどうか、テストプレイで確認してみましょう!

テストプレイのために主人公キャラの初期位置をこのマップにする場合、「やさしいウディタ講座2:人を配置・看板を調べるイベントの作り方 – 主人公キャラを自作マップ上で操作できるようにする」を参考に、作業してみてください。

主人公キャラをキーボードで操作し、マップ内をウロウロと移動させてみます。

ウディタ ゲーム画面

しばらく歩いていると…

ウディタ ゲーム画面

敵に遭遇!バトルのはじまりです。

その後も何度でもランダムエンカウントし、戦闘が発生します。

ウディタ ゲーム画面

みごと、ウディタでRPGらしい定番の戦闘イベントを作れました!

場所によって出現する敵を変えたい場合

ランダムエンカウントの応用となりますが、作業自体は簡単。同じマップ内に複数のマップイベントを設置するだけです。

それぞれのマップイベントにコモンイベント「ランダムエンカウント処理」のコマンドを入力して、違う敵を設定しましょう。

ウディタ 接触範囲拡張

接触範囲拡張を利用し、それぞれのマップイベントの範囲を微調整します。

ここでちょっとした疑問。

ランダムエンカウントのマップイベントが2つ以上あったとして、接触範囲が一部分重なっていたら、どうなるのでしょうか?

ウディタ 接触範囲拡張

これ、実際に検証してみました。

どうやら重なった部分に対しては、「マップイベント一覧」で数字の小さいマップイベントの内容が優先的に発生するみたいです。

ウディタ マップイベント一覧

上のマップイベント一覧を見てください。

02:敵の出現」と「03:敵の出現2」は、どちらもランダムエンカウントのイベントです。接触範囲拡張により、お互い接触範囲の一部分が重なっています。

この場合、接触範囲が重なっている部分で発生するランダムエンカウントは、「02:敵の出現」が優先されます。「03:敵の出現2」は発生しない様子です。(03よりも02のほうが小さい数字なので)。

接触範囲の重なっていない部分であれば、それぞれ独自に設定した内容のものが発生します。

覚えておくと役立つかもしれませんね。

次回の講座は?

やさしいウディタ講座9はここまで。

次回「やさしいウディタ講座10:条件分岐の基本!イベント内容を振り分ける」では、条件分岐のコマンドについて解説する予定です。「もし~だったら〇〇する」といったコマンドを作り、イベント内容を振り分けてみます。

「やさしいウディタ講座」- もくじ
※全講座の目次ページはコチラ。