ページ 11

モンスター出現制御について(敵ランクについて)

Posted: 2017年2月04日(土) 17:21
by おっちー
主人公キャラのレベルに応じて、
出現する敵キャラが変わるプラグインってありますか?
(サガフロみたいに戦闘回数で出てくる敵が変わるようなシステムを探してます)

下記サイトのように敵にレベルの概念を持たすことはできるみたいなんですが…
https://www20.atwiki.jp/type74rx-t/pages/204.html
http://himeworks.com/2015/11/enemy-levels-mv/

Re: モンスター出現制御について(敵ランクについて)

Posted: 2017年2月04日(土) 17:52
by まっつUP
おっちー様
お世話になります。

変数の操作でゲームデータからアクターのレベルや戦闘回数を取得して
それを条件に処理を分岐させればよいのではないでしょうか。

Re: モンスター出現制御について(敵ランクについて)

Posted: 2017年2月04日(土) 21:21
by おっちー
まっつUP様

はじめまして。
回答ありがとうございます。

>変数の操作でゲームデータから
これはプラグインとかでなくてコモンイベントとかで制御するってことですか?

Re: モンスター出現制御について(敵ランクについて)

Posted: 2017年2月04日(土) 21:33
by まっつUP
エンカウント方式やイベントの組み方を
どのようにするのかによると思います。
(これはプラグインをリクエストする場合も同様です。)

Re: モンスター出現制御について(敵ランクについて)

Posted: 2017年2月05日(日) 02:11
by ビービー
コモンイベントでおそらく可能です。

とりあえずランダムエンカウントの方法を書いておきます。
シンボルエンカウントも応用すれば可能です。

コモンイベントを三つ~それなりの数使うやり方です。
まずコモンイベント1でエンカウントの処理をします。

名前:エンカウント  トリガー:並列処理  スイッチ:エンカウント可否スイッチ
◆条件分岐:エンカウント歩数 = 0
◆変数の操作:#0041 エンカウント歩数 = 乱数 3..5

:分岐終了
◆変数の操作:#0031 プレイヤー位置X = プレイヤーのマップX
◆変数の操作:#0032 プレイヤー位置Y = プレイヤーのマップY
◆条件分岐:プレイヤー位置X ≠ プレイヤーの現在位置X
◆変数の操作:#0042 歩数 += 1
◆変数の操作:#0043 プレイヤーの現在位置X = プレイヤーのマップX
◆条件分岐:歩数 ≥ エンカウント歩数
◆指定位置の情報取得:プレイヤーリージョンID, リージョンID, ({プレイヤー位置X},{プレイヤー位置Y})
◆条件分岐:プレイヤーリージョンID = 1
◆コモンイベント:戦闘処理ID1

:分岐終了
◆条件分岐:プレイヤーリージョンID = 2
◆コモンイベント:戦闘処理ID2

:分岐終了

:分岐終了

:分岐終了
◆条件分岐:プレイヤー位置Y ≠ プレイヤーの現在位置Y
◆変数の操作:#0042 歩数 += 1
◆変数の操作:#0044 プレイヤーの現在位置Y = プレイヤーのマップY
◆条件分岐:歩数 ≥ エンカウント歩数
◆指定位置の情報取得:プレイヤーリージョンID, リージョンID, ({プレイヤー位置X},{プレイヤー位置Y})
◆条件分岐:プレイヤーリージョンID = 1
◆コモンイベント:戦闘処理ID1

:分岐終了
◆条件分岐:プレイヤーリージョンID = 2
◆コモンイベント:戦闘処理ID2

:分岐終了

:分岐終了

:分岐終了
◆ウェイト:1フレーム

↑現在位置のリージョンIDによって別のコモンイベントが呼ばれるようになっています。
まずは戦闘処理ID1から

名前:戦闘処理ID1  トリガー:なし
◆変数の操作:#0046 エンカウント乱数 = 乱数 0..1
◆条件分岐:エンカウント乱数 = 0
◆条件分岐:戦闘回数 ≤ 0
◆戦闘の処理:グループA

:それ以外のとき
◆条件分岐:戦闘回数 ≤ 1
◆戦闘の処理:グループB

:それ以外のとき
◆戦闘の処理:グループC

:分岐終了

:分岐終了
◆コモンイベント:戦闘終了処理

:分岐終了

ほとんど同じですが戦闘処理ID2も書いておきます。

名前:戦闘処理ID2  トリガー:なし
◆変数の操作:#0046 エンカウント乱数 = 乱数 0..1
◆条件分岐:エンカウント乱数 = 0
◆条件分岐:戦闘回数 ≤ 0
◆戦闘の処理:グループX

:それ以外のとき
◆条件分岐:戦闘回数 ≤ 1
◆戦闘の処理:グループY

:それ以外のとき
◆戦闘の処理:グループZ

:分岐終了

:分岐終了
◆コモンイベント:戦闘終了処理

:分岐終了

↑のそれぞれの戦闘処理の後に戦闘終了処理というコモンイベントを呼び出しています。

名前:戦闘終了処理  トリガー:なし
◆変数の操作:#0045 戦闘回数 = 戦闘回数
◆変数の操作:#0041 エンカウント歩数 = 乱数 3..5
◆変数の操作:#0042 歩数 = 0

※戦闘回数 = 戦闘回数は変数の戦闘回数=ゲームデータの戦闘回数です。

こんな感じです。
制作頑張ってください。

Re: モンスター出現制御について(敵ランクについて)

Posted: 2017年2月05日(日) 14:05
by おっちー
お二人ともご回答ありがとうございます。

・戦闘はエンカウントを想定してます。
(シンボルカウントは考えていません)

・イベントとはボス戦を指してますか?
メインクエストとサブクエストでイベントを分ける予定で
ボス戦は両クエストデフォルトの強さでいいかなと認識しています。

できれば、レベルに応じてボスの強さも変わるといいかなと思ったんですが、
緊張感と通常の戦闘をする意味がなくなってしまうので…
オープンワールドのRPGなんかよくできてますけどね。

Re: モンスター出現制御について(敵ランクについて)

Posted: 2017年2月05日(日) 14:30
by まっつUP
なるほど、シンボルエンカウントではないと。
この手のシステムは開発初期段階から練らないと後々修正が効かなくなるので
できるだけそのゲームにあったシステム作りをしたいですね。

実際に出現制御を実現するにあたって、設定や分岐を
どのように組み込んでいくか想定していますか?

Re: モンスター出現制御について(敵ランクについて)

Posted: 2017年2月05日(日) 15:10
by おっちー
シンボルエンカウントの方が接触時のタイミングで判定しやすそうですね。

>出現制御を実現するにあたって、設定や分岐を
どのように組み込んでいくか想定していますか?

まだ、漠然としていました。
ストーリー面だけでなく、システムもちゃんと考えないと
駄目ですね。

ありがとうございました。