開発日誌

テクニック

[ テクニック ] 不可視シンボルエンカウント・再

2021-12-13 00:02:36

本記事は「ツクールフォーラムアドベントカレンダー Advent Calendar 2021」12月13日分の投稿記事です。

シンボルエンカウントだけど、普段は敵シンボルは見えない――採用しているゲームも少なく定まった呼び名もないようなので、「不可視シンボルエンカウント」と名付けています。

この「不可視シンボルエンカウント」は前作『天下御免!からくり屋敷』で採用し、その時も記事にしていますが、制作中の新作でも採用しているため、改めてここで解説します。

代表的な採用ゲームは大昔の『英雄伝説I』で、それを参考にしています。年がバレそう……。

ランダムエンカウントとシンボルエンカウント

RPGにおけるエンカウント方式には大きく分けて、ランダムエンカウントとシンボルエンカウントの2種類があります。

ランダムエンカウントは、歩いているうちにランダムでエンカウントが発生する方式です。

▲RPGツクールVX時代のランダムエンカウント設定

長所としては、だいたいのエンカウント回数を決められるので想定到達レベルを設定しやすい、ほどよく緊張感を持たせられるなどが挙げられます。RPGツクールシリーズのデフォルトもこのランダムエンカウントで、何よりも作りやすいのが一番の長所です。

一方で、探索中にばんばんエンカウントするのが邪魔だったり、運が悪いと1歩進んだだけでエンカウントしたり、また緊張感がある反面、目的地まであと少しのところでエンカウントした時の鬱陶しさなどが短所として挙げられ、近年はランダムエンカウントは好まれない傾向にあります。

対するシンボルエンカウントは、敵のシンボルがあらかじめ見えており、シンボルと接触することで戦闘が始まる方式です。

長所としては、何よりも戦闘するかしないかを自由に決められる点です。しかしそれは同時に短所にもなり得ます。戦闘を全て避けて進むこともできてしまうため、緊張感がなくなります。戦闘を避けることによって成長も遅れるため、想定到達レベルの設定が困難になります。

敵シンボルを多く配置したり狭くて避けにくい通路に配置したりすることで、ある程度の戦闘を強制させることはできますが、それをするとシンボルエンカウントの長所を潰してしまいます。敵シンボルに囲まれて連続戦闘を強いられたり、敵シンボルが通り過ぎるのを待たされてイライラしたり、といった短所も存在します。

不可視シンボルエンカウント

そんな両者のエンカウント方式の折衷案として、「不可視シンボルエンカウント」はいかがでしょう。

前作『天下御免!からくり屋敷』で試しに採用してみたのですが、割と意図通りの効果が得られたので、現在制作中の新作でもこの方式を採用しています。

プレイする側の感覚としてはランダムエンカウントに近いですが、敵シンボルの配置を工夫することでエンカウント頻度を調整することが可能です。

例えば、宝箱のある寄り道付近に敵シンボルを配置することで、宝箱を無視して進めば敵と遭わないが、宝箱を取ろうとすると1回エンカウントが発生する、みたいな絶妙な調整が可能になります。

一度倒したシンボルは一定時間 or マップを切り替えるまで復活しないようにしておけば、ランダムエンカウントでありがちな、ダンジョン探索中にどんどんエンカウントしてしまうといった事態も防ぐことができます。

敵シンボルは見えないため、シンボルを避けるのに神経を使うといったシンボルエンカウントでの短所もありません。

また、敵シンボルがあらかじめ見えるようになるアイテムやスキルを用意して、エンカウントを避けたい場合はそれを使うといったことも可能です。

仕様いろいろ

実装にあたっていろいろと細かい仕様は付けています。

前作『天下御免!からくり屋敷』と制作中の新作とでいくつか異なる点はありますが、概ね似たような仕様にしています。

  • 当初は敵シンボルが見えず、接触すると見えるようになる。
  • 戦闘からはボス戦を除いて100%逃げられるが、逃げた後はその敵シンボルが見えるようになって追いかけてくるので、実際にプレイヤーを操作して逃げる必要がある。
  • 逃げた直後は一定時間足止め。足止め時間を長くするスキル等も用意。
  • 一定範囲内に接近するとプレイヤーを追いかけてくるようになる。
  • 敵シンボルは初期位置からの移動範囲が決まっており、その範囲を超えては動かない。
  • プレイヤーの背後から接触された場合は確率で不意打ちとなる。
  • 逆に敵シンボルの背後から接触した場合は先制攻撃となる。
  • 倒した敵シンボルはマップを切り替えるまで復活しない。
  • アイテムやスキルで敵シンボルを最初から見えるようにできる。

実装としては自作プラグインとコモンイベントを併用しています。

敵シンボルを透明にしたり、移動範囲の設定やプレイヤーが一定範囲に接近したかどうかの判定はプラグインで行い、足止めや追いかけるなどの動作、戦闘の開始などについてはコモンイベントで行っています。

1つの敵シンボルに対してセルフスイッチA~Dをフル活用しています。

  • なし:通常時(自律移動:ランダム)
  • A:消滅中(既に倒した状態)
  • B:追跡中(自律移動:近づく、移動速度:2倍速)
  • C:停止中(逃げた直後の足止め時間)
  • D:可視状態

セルフスイッチの切り替えはプラグインで行い、セルフスイッチの状態に応じて敵シンボルのイベントページを分けています。

敵シンボルのイベント名は、$[1,2,3]という風にして、カッコ内に敵グループIDをカンマ区切りで指定しています。

指定された敵グループIDの中からランダムで、実際にエンカウントする敵グループが決まる仕組みです。

敵グループの決定はマップの切り替えの際に行われるので、逃げて同じシンボルに再度接触すると違う敵グループになっているということはありません。

まとめ

ワールドマップの場合、敵シンボルが数百体にも及ぶことになって重さが心配になりますが、画面に表示されている範囲から遠いイベントに関しては処理を行わないというRPGツクールのコアスクリプトの仕様があるため、そこまで重くはなりません。

実際に現在制作中の新作では、200体あまりの敵シンボルを配置していますが、特に重くはなっていません。

本当はプラグインを公開できればいいのですが、コモンイベントを併用するのと、細かい仕様は人によってかなり好みがあるので、紹介のみに留めておきます。

質問等はコメントなりで問い合わせていただければ、可能な限り回答します。

それでは読んでいただきありがとうございました。

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