Top > STEP14 戦闘イベントの作成
HTML convert time to 0.013 sec.


STEP14 戦闘イベントの作成

Last-modified: 2013-04-20 (土) 16:31:50

長らく、「データベース」上での設定作業が続きましたが、ここからは「マップ」上での「イベント」制作が続いていきます。
まずはせっかく「敵キャラ&味方キャラ」の設定をしましたので、その設定内容を確認するのに一番な「戦闘イベント」を作成していきます。
「戦闘イベント」STEP8で行った「マップ間の移動イベント」と同じような1つの「イベント」として「マップ」上に設置していくことになります。

 

ここで一つ決めなければならないコトがあります。
なんらかのストーリー上のイベントシーンでそのまま戦闘になる場合もありますが、そこに辿りつくまでの障害となる雑魚敵達との戦闘をどのような形で開始されるようにするかです。
毎回イベントシーンのようにある一定のポイントにいくと雑魚敵が現れて、戦闘が開始されるというのもありですが、一般のRPGでは大きく2種類の雑魚戦を開始する手法があります。
「シンボルエンカウント」「ランダムエンカウント」と呼ばれるものです。
「エンカウント」とはWikipediaによると「遭遇する」という意味の英単語 "encounter" に由来している和製英語だそうですが、「敵と遭遇する」という捉え方になります。

 

「シンボルエンカウント」はマップ上を敵キャラが歩き回っているのが、視覚的にわかるようにし、その歩き回っている敵キャラとプレイヤーキャラが接触することにより、戦闘が開始されるものです。敵がマップ上で確認できるため、プレイヤーが戦闘するかしないかマップ上で判断できますし、戦闘になった場合の気持ちの準備ができます。代表例は「ロマンシング・サガシリーズ」や「ファイナルファンタジー12・13」などでしょうか。

 

「ランダムエンカウント」はマップ上で敵キャラがいるかいないかはわからず、プレイヤーキャラが一歩一歩歩くたびだったり、時間ごとだったりで、戦闘になるかならないかを乱数などで判定して、戦闘を行う判定になった場合に戦闘が開始されるものです。敵が見えないため、マップ移動中でいつ戦闘になるかというスリルがあります。代表例はやはり「ドラゴンクエストシリーズ」などでしょうか。

 

2つの「エンカウント」方法にはそれぞれ特徴があり、場合によって使い分けられればと思うところもありますが、制作上の手間を避ける意味・プレイヤーの混乱を避ける意味でも、ゲーム内で適用する「エンカウント」方法を統一しなければいけません。
次の段階ではそれぞれの「エンカウント」方法の作り方を実践していきますので、自分が制作する上でどちらがいいかなど考えていただければと思います。

 

【INDEX】


 

戦闘BGMの設定

2つの「エンカウント」の作り方の前に両方で必要となる設定をしていきます。
設定といっても戦闘用のBGMを1つ設定するだけです。

 

まずは「システムデータベース」を開きます。
「システムデータベース」を表示するには、「ツールバーのアイコン」をクリックするか、「上部メニューの「表示」」から「システムデータベース」を選択することで、表示されます。
step14-001.jpg
step14-002.jpg

 

「システムデータベースエディタ」が開いたら、左側のタイプから「1:BGMリスト」を選択します。
データリストから「0番」を選択した状態でIDを「戦闘BGM」と入力し、右側のファイル名で戦闘に合うBGMを選択します。
一緒に「ボス戦」用のBGMも設定しておきます。
以上の設定ができたら、右下の「OK」を押します。
step14-003.jpg

 

続いて、上で設定したBGMを「デフォルトの戦闘BGM」に設定するため、「ユーザーデータベース」を開きます。
「ユーザーデータベースエディタ」が開いたら、左側のタイプから「15:ベースシステム設定」を選択します。
ページ3を選択し、デフォルトの戦闘BGM「システムデータベース」「1:BGMリスト」で決めた「戦闘BGM」に設定します。

[tip]ウディタ2では?
 「17:システム設定」の「基本戦闘BGM」

右下の「OK」を押します。
step14-012.jpg
これで、「戦闘用のBGM」の設定は完了です。

シンボルエンカウント

マップ上に敵キャラを配置し、その歩き回っている敵キャラとプレイヤーキャラが接触することにより、戦闘が開始されるタイプになります。

「シンボルエンカウント」ではいくつか考えなければならないことがあります。

  • マップ上を歩きまわる敵キャラの移動の仕方をどうするか。
  • マップ上での敵の配置バランスをどうするか。
  • 戦闘で味方が逃走・勝利した場合にマップ上に敵キャラの再配置をするかしないか。

今回は下記のようにしていきます。

  • 敵キャラの移動の仕方は「プレーヤー接近」という移動のさせ方があるので、これを使用。
    凝った作り方をすれば、通常はその場にじっとしてて、プレイヤーキャラが近づくと、急接近してくるなんていう動きも作れたりします。
  • マップ上の配置バランスについては、マップごとに考えることですので、今回試作してみる段階では決めませんが、ある程度プレイヤーの操作で降り切って逃げられるくらいのバランスを心がけるのが良いと思います。
  • 戦闘後の敵キャラの再配置は、再配置せずに一時的に消去するようにします。戦闘を続けていくと、マップ上の敵キャラがいなくなってしまいますが、マップを切り替えることで元に戻ります。

それでは、さっそく「シンボルエンカウント」「戦闘イベント」を作っていきましょう。
「マップエディタ」で森マップを開き、「イベントレイヤー」を選択し、適当なスペースに敵キャラのイベントを配置します。
step14-004.jpg

 

「イベントエディタ」で各項目を設定していきます。

  • 名前は「敵テスト」。
  • 画像は今回はちょうどいいのがボス用の犬画像しかないので、それを設定します。
  • 移動ルートは「プレーヤー接近」。
  • 移動速度は「1」。今回は遅めにしてみます。
  • 移動頻度は「毎フレーム」。これ以外の設定だと、移動するたびに立ち止まってしまうので、追いかけてくるような演出のためにも「毎フレーム」にします。
  • 起動条件は「イベント接触」。
  • 接触範囲拡張は場合によっては少し大きくしたほうが良いかもしれません。ただし大きくしすぎると、ゲームの難易度が高くなるので、バランス調整が必要になります。今回は「X:0,Y:0」のままで。

step14-005.jpg

 

次は右側の「イベントコマンド入力エリア」にイベントコマンドを挿入していきます。
「その他2」のタブをクリックし、「イベントの挿入」「コモンイベント24:バトルの発生」を選択します。

[tip]ウディタ2では?
 イベントコマンド「コモンイベント」で「コモンイベント28:バトルの発生」
  • 敵グループ番号で出現させたい敵グループを選択します。「敵グループ」設定の内容が反映されます。
  • 逃走可能は「逃走可能」。
  • 敗北時処理は「ゲームオーバーEvへ」。これは後ほど説明します。
  • 戦闘BGMは「戦闘BGM」。「BGMリスト」設定の内容が反映されます。

これで、戦闘を開始するイベントの設定ができました。
設定ができたら、下の「入力」ボタンを押します。
step14-006.jpg

 

続けて、戦闘イベント終了後にマップ上の敵キャラが消える処理を加えます。
「その他1」のタブをクリックし、「イベントの一時消去」対象を「このイベント」、フェードを「10」に設定します。

[tip]ウディタ2では?
 「イベント制御」

設定ができたら、下の「入力」ボタンを押します。
step14-007.jpg

 

「イベントコマンド入力エリア」には以上の2つのイベント処理が入力されました。
step14-008.jpg

 

さっそくテストプレイをしてみましょう。
敵キャラを配置した近くを右クリックして、「ゲーム開始位置に設定」しましょう。
step14-009.jpg

 

テストプレイしてみると、敵キャラが近づいてきて、プレイヤーと接触して「戦闘イベント」が開始されるのが確認できます。
step14-010.jpg

 

「シンボルエンカウント」では、このような敵キャライベントをマップ上に複数配置していけばいいわけです。
敵キャライベントはイベント上で右クリックして「イベントコピー」「イベントペースト」で複製していくことができますので、イベントを複製してダンジョンの奥に進むにつれて敵が強くなるように出現する「敵グループ」を変えたりとバリエーションを増やしていきましょう。
step14-011.jpg

ランダムエンカウント

マップ上で敵キャラがいるかいないかはわからず、プレイヤーキャラが一歩一歩歩くたびに乱数で判定して、戦闘を行う判定になった場合に戦闘が開始されるタイプになります。

 

「シンボルエンカウント」に比べて、「ランダムエンカウント」はだいぶ楽に作ることが出来ます。
気を使うのは戦闘を行う判定になる確率のバランスになります。いわゆる「エンカウント率」というものです。あまりにも頻繁に戦闘開始の判定になってしまうと、プレイヤーはストレスを感じて、ゲームプレイのモチベーションを下げてしまう恐れがありますので、程々のバランスというのを見つけていかなければなりません。

 

それでは、さっそく「ランダムエンカウント」「戦闘イベント」を作っていきましょう。
「マップエディタ」で森マップを開き、「イベントレイヤー」を選択し、適当なスペースにイベントを配置します。
step14-013.jpg

 

「イベントエディタ」で各項目を設定していきます。

  • 名前は「敵エリア1」。
  • 起動条件は「プレイヤー接触」。
  • 接触範囲拡張は「X:20,Y:20」。とりあえずこのくらいに設定します。

step14-014.jpg

 

次は右側の「イベントコマンド入力エリア」にイベントコマンドを挿入していきます。
「その他2」のタブをクリックし、「イベントの挿入」「コモンイベント32:ランダムエンカウント処理」を選択します。

[tip]ウディタ2では?
 イベントコマンド「コモンイベント」で「コモンイベント37:ランダムエンカウント処理」

この処理では、3つの「敵グループ」を設定し、一定の「歩数」を超えた場合に設定した3つの「敵グループ」の中から1つをランダムで選び、「戦闘」を発生させます。

  • 出現歩数は「50」。「50歩」以上歩くと、「戦闘」が発生します。
  • 敵グループ1で出現させたい敵グループを選択します。「敵グループ」設定の内容が反映されます。
  • 敵グループ2で出現させたい敵グループを選択します。「敵グループ」設定の内容が反映されます。
  • 敵グループ3で出現させたい敵グループを選択します。「敵グループ」設定の内容が反映されます。
    必ず、3グループ設定する必要はないので、場合によって「なし」にしましょう。

これで、戦闘を開始するイベントの設定ができました。
設定ができたら、下の「入力」ボタンを押します。
step14-015.jpg

 

「イベントコマンド入力エリア」にイベント処理が入力されました。
step14-016.jpg

 

さっそくテストプレイをしてみましょう。
しばらく移動させていると、「戦闘イベント」が開始されるのが確認できます。
step14-017.jpg

 

「マップエディタ」に戻って、「イベントレイヤー」を見てみると、赤い枠線で「イベントエディタ」「接触範囲拡張」で設定した範囲が示されています。これがイベントが発生する範囲になり、この範囲外では何も起こりません。
「接触範囲拡張」で範囲を広げていくか、イベント上で右クリックして「イベントコピー」「イベントペースト」で複製していくかして、マップ全体で戦闘イベントが発生するようにしていきましょう。もちろん、敵が出現しない・戦闘イベントが発生しない安全地帯エリアを作ってみてもよいでしょう。
step14-018.jpg

 

さて、今回の制作ではこちらの「ランダムエンカウント」を採用していきますので、実際のマップに「ランダムエンカウント」のイベントをどんどん設定していきます。
敵グループの出現内容を変えつつ、4つの出現エリアとして、下の画像のようにイベントを配置しました。
隙間なくびっしりとイベントが配置してあります。画面の上部・下部の隙間は移動できないところ・マップ移動イベントが配置してあるところですので、戦闘イベントは配置していません。
イベントの接触範囲の設定は四角形になるため、マップによってはうまく配置しにくいかもしれませんが、そういう場合は細く区切り、四角形をうまく組み合わせてイベントを配置していけば良いと思います。
step14-019.jpg

敗北イベント

戦闘で味方が敗北した場合の処理を考えていきます。
いくつか考えられますが、3つほど例を上げてみます。

  • ゲームオーバー画面を表示して、タイトル画面に移行。
    ゲームを再開するにはセーブを行ったデータをロードすることになるため、セーブしていなかった場合のプレイヤーの落胆を大きいです。
  • 全回復して特定の場所(今回の設定では自宅)に移行。
    戦闘で敗北した地点への移動がペナルティとなります。
  • HP1状態でその場に復帰。
    ほぼペナルティはないですが、一度敗北したほどの強敵がいる場所での復帰となるため、回復アイテムや回復能力がない場合は再びの戦闘でまた敗北する可能性が高くなります。

今回は「全回復して特定の場所(今回の設定では自宅)に移行」を採用していきます。

 

「シンボルエンカウント」の説明で「コモンイベント24:バトルの発生」を設定する際に「敗北時処理は「ゲームオーバーEvへ」」という設定をしました。
これは戦闘で味方が全滅した際に実行されるイベントを示しています。
この「ゲームオーバーEv(イベント)」「全回復して特定の場所(今回の設定では自宅)に移行」という処理を設定していくことになります。

 

「ゲームオーバーEv(イベント)」の設定は戦闘を発生させる処理などと同様に「コモンイベント」にあります。
いままでは、「イベントコマンドのその他2」で呼び出すだけでしたが、今回は「コモンイベント」の中身を編集していきます。と言っても、通常のイベントを「イベントエディタ」で編集するのとそれほど違いはありません。

 

まずは「コモンイベントエディタ」を開きます。
「コモンイベントエディタ」を表示するには、「ツールバーのアイコン」をクリックするか、「上部メニューの「表示」」から「コモンイベント」を選択することで、表示されます。
step14-020.jpg
step14-021.jpg

 

左側のリストから「082:ゲームオーバーイベント」を選択します。

[tip]ウディタ2では?
 「213:ゲームオーバーイベント」

右側の「イベント入力エリア」を見ると、デフォルトで文章表示が行われる設定になっています。
これが、戦闘で全滅した時に呼び出される「ゲームオーバーEv(イベント)」の設定になります。
ここを「全回復して特定の場所(今回の設定では自宅)に移行」という処理に書き換えていきます。
step14-022.jpg

 

デフォルトである文章表示処理は不要なので「DELETEキー」「イベントコマンド」を削除します。
step14-023.jpg

 

新たな「イベントコマンド」を挿入していくため、空白部分を「左ダブルクリック」か下の「イベンドコマンド挿入ウィンドウ表示」を押します。
step14-024.jpg

 

まずは、戦闘画面からマップ画面に切り替わった直後なので、若干ウェイトを入れます。
「その他1」タブを選択し、ウェイトを「30フレーム」と入力、下の「入力」ボタンを押します。

[tip]ウディタ2では?
 イベントコマンド「イベント制御」

step14-031.jpg

 

次に村マップの自宅のベット横にキャラクターを移動させる処理を入力していきます。
STEP8で行ったマップ間の移動設定と同じで、「トランジション」を設定して、マップが切り替わるようにしましょう。
「その他1」タブのまま、「トランジション準備」を押します。
次にトランジションの指定は「瞬間表示」、フェードは「100フレーム」、完了までウェイトにチェックをして、下の「入力」ボタンを押します。
最後に「トランジション実行」を押します。
step14-025.jpg

 

「イベント入力エリア」は下図のようになっています。
「トランジションタイプ指定〜」の前に「マップ移動」の移動コマンドを挿入していきます。
下の「イベンドコマンド挿入ウィンドウ表示」を押しましょう。
step14-026.jpg

 

「場所移動」タブを選択し、対象を「主人公」、「移動先を見ながら指定」ボタンを押して、村マップの自宅ベッド横を指定します。
下の「入力」ボタンを押します。
step14-027.jpg

 

あとは、味方全員が復活して、HPとSPが全回復する処理を加えます。
「その他2」タブで、イベントの挿入「コモンイベント4:回復・ダメージ処理」を選択します。

[tip]ウディタ2では?
 イベントコマンド「コモンイベント」

処理内容は「完全回復」、誰に?は「パーティ全員」とします。
設定ができたら、下の「入力」ボタンを押します。
step14-028.jpg

 

「イベント入力エリア」は下図のようになっています。
回復の処理はどの位置にあっても構いません。
問題なければ、下の「OK」ボタンを押します。
step14-029.jpg

 

テストプレイにて、きちんと動作するか戦闘で全滅して確認します。
全滅の確認には、STEP12で行った「敵キャラ個体データ」の設定で一時的に敵の攻撃力などを強くしてみましょう。
ニワトリと重なって、ちょっと見にくいですが、無事に動作しました。
step14-030.jpg

 

icon02.gif 続いて、「STEP15 ストーリーイベントの作成」に進みましょう。



※TOPページでの説明どおり、コメント受付を停止させていただきました。


  • シンボルエンカウントなのですが、この状態でイベントを作成すると、敵から逃げた際にも消えてしまうのですが… -- ユウやん? 2010-10-24 (日) 21:21:32
  • 敵の動きを一時的に止めて逃げる時間を作れる感じにはできないのでしょうか? -- 追記? 2010-10-24 (日) 21:22:30
  • 追記さん:「イベントの一時消去」の代わりに逃げ時間分のウェイトを入れてはどうでしょう? -- こめ? 2010-10-25 (月) 23:15:52
  • 逃げた際のイベントを分けたいなら、逃走コモンに通常変数「逃げた」など作ったものを組み込んで、イベントの起動条件にしたらどうでしょう。 -- 間違えた? 2010-10-25 (月) 23:19:21
  • 「予備変数9」の「70[戦]戦闘結果(-1:逃 0:負 1:勝)」というものがありますので、戦闘結果が格納されているこの値を参照して処理を分岐させ、逃げた場合のイベントの状態を設定していけばいいと思います。「予備変数9」の「70[戦]戦闘結果(-1:逃 0:負 1:勝)」については「STEP15 シーン7」に詳しく記載しております。 -- 管理人 2010-11-02 (火) 17:30:02
  • 敵にダメージを与えられないのですが何か問題があるのでしょうか?ちなみに自分にもMissしかでません。 -- 2011-02-11 (金) 15:13:16
  • ↑おそらく単純に敵の能力値(攻撃力など)と味方の能力値のバランスの問題だと思います。ここの調整はなかなか難しいところで、試行錯誤と慣れが必要です。能力値の値を色々試してみることで、解決に近づいていけると思います。敵の攻撃がぜんぜん当たらないなら、敵の命中率をアップさせて、味方(自分)の回避率を下げたりというかんじですねぇ。 -- 管理人 2011-02-11 (金) 17:00:42
  • ご回答ありがとうございました。指摘頂いたところを試してみたところ、命中率100、回避率0にしてもMissしかでなかったですorzあと能力値のバランスとのことでしたので試しに敵の防御力を0に自分の攻撃力を100にしてみたのですがMissでした…命中率は自分100、敵の回避率0にしておきました。根本的に何かしていないところとかあったりするんでしょうか;; -- 2011-02-11 (金) 21:10:18
  • ↑なるほど。敵・自分の命中率・回避率を変えても反映されないとなると、通常攻撃含んだ「技能」側での命中率の設定が影響しているのではないでしょうか? 使用している技能の成功率が-1以外や極端に低い値になっていないか確認してみてください。
    pipo05004261.jpg
    -- 管理人 2011-02-12 (土) 00:09:57
  • おお!!見事退治することができました、ありがとうございます!また何かあったらその時は宜しくお願いします;; -- 2011-02-12 (土) 19:10:43
  • 戦闘の時の自分のコマンドの一番上と上から二番目が必ず同じになってしまいます -- 2011-02-19 (土) 18:22:32
  • すみません上の続きです、ユーザーデータベースは正常になっているはずなので、理由がわかりません。攻撃、防御、特技、アイテムとすると攻撃、攻撃、特技、アイテムとなります。何か問題があるのでしょうか? -- 2011-02-19 (土) 18:27:12
  • ↑ 「可変データベース 0:主人公ステータス」のページ3でキャラクターが使用できる戦闘コマンドを設定するわけですが、そちらは大丈夫でしょうか?
    また、もしこちらの画像のように中途半端に表示されるようであれば、「ユーザーデータベース 6:戦闘コマンド」でコマンド名を入力する際に改行が入ってしまいコマンド名を二重に入力している可能性があります。
    pipo05004336.jpg
    まずはこちらを確認してみてください。 -- 管理人 2011-02-19 (土) 20:49:25
  • 上返事遅れてしまい申し訳ございません -- 2011-02-27 (日) 14:50:08
  • すみませんまた間違えてしまいましたm(__)m。そちらの解決法で見事解決できました! 御丁寧にありがとうございました! -- 2011-02-27 (日) 14:53:07
  • 戦闘時に戦闘背景を表示させる方法を教えて頂けないでしょうか? -- 2011-03-11 (金) 09:16:48
  • ↑ 戦闘画面の背景。ウディタ公式サイトのWOLF RPGエディターWikiに記載されていますので、こちらを参考にどうぞ。→■ -- 管理人 2011-03-11 (金) 10:27:57
  • 戦闘シーンでモンスターの画像がでません! -- まっちゃ? 2011-03-26 (土) 13:25:55
  • モンスターの画像が出ないだけが問題ならこのwikiの味方・敵設定を順番通りちゃんとやれば出てくるはずです。もう一度きちんとデータベース登録をしてみるといいと思います。 -- 2011-03-26 (土) 20:24:07
  • だめです〜 (--; どうしてでしょうか? -- まっちゃ? 2011-03-27 (日) 14:34:58
  • 戦闘イベントをランダムエンカウント処理にするとBGMが流れないのですがどうすればよいでしょうか? -- 2011-03-30 (水) 15:50:38
  • すいません。↑解決致しました -- 2011-03-30 (水) 15:53:38
  • まっちゃさん 敵は出現しているけど、画像だけが表示されていないという認識で大丈夫でしょうか? おそらく設定に問題があるか画像ファイルに問題があるかだと思います。同じ設定や条件だけでなく、新たに敵・敵グループの設定を作成したり、敵の画像を変えてみたりなどして原因を突き詰めてみてください。画像などはご自分で用意したものであれば、素材規格が適していない場合もあるので、サンプルで入っているものに変えてみるなど。 -- 管理人 2011-03-31 (木) 14:40:11
  • 戦闘中に突然状態異常に陥ったり表示もなしにダメージを受けて自滅したりします。これはどこが悪いのでしょうか? -- どやじ? 2011-05-02 (月) 13:16:11
  • どやじさん 初めて聞くような問題なので、なんとも言えませんが、状態異常が発生するということから、その状態異常に陥る設定をしている「技能」や、その技能を設定しているいくつかの場所を確認してみてください。
    あと、突然状態異常になるとありますが、その法則性も探ってみてください。何ターン経過した後なのか、誰のどういった行動の後なのかなど、そういったところから手がかりが見つかるかもしれません。
    それでもわからない場合には真っさらなウディタの開発環境を新たに作り、戦闘部分の設定だけ同じように行いテストして動作比較してみましょう。
    情報が少ないので、デバッグの心得的な回答になってしまいますが・・・ -- 管理人 2011-05-02 (月) 19:03:55
  • すみません・・・モンスターの画像って最後に.pngってつくやつじゃないと表示されないんですか -- タロウ? 2011-05-05 (木) 21:43:55
  • タロウさん ウディタのマニュアルの素材規格にも記載されていますが、モンスター画像含めた画像全般で使用できる画像形式はPNG,JPG,BMPです。モンスター画像には一般的に透明色の設定が可能なPNGが一番適しています。 -- 管理人 2011-05-06 (金) 08:09:47
  • そうなんですか!返事ありがとうございます! -- タロウ? 2011-05-07 (土) 18:51:57