RPGといえば探索! 探索といえば隠し通路!
ぼくはポケモンSVで色違い厳選に勤しむかたわら、RPGツクールMZでオリジナルゲームを作っている。牛の歩みだが、確実に完成に近づいている、と思う。……最近マップをいちから作り直し始めたから、むしろ遠のいているかもしれない。
重厚なストーリーを追っているときよりも起伏に富んだマップを探索しているときのほうが楽しいタイプの人間なので、自分が作るゲームも探索に比重を置いたものにしたいと考えている。
理想は、フリー(無料)ゲームの『Fanastasis』だ。昨年に発売された有料版の『[DE:]Fanastasis』はもちろんクリアした。
個人的に、RPGの探索を面白くする要素として外せないのが隠し通路だ。
不自然にくぼんだ壁を調べると隠し通路だった……なんていうのは古典的なギミックだが、自力で探し当てたときの快感たるや格別である。
今回は、そんな隠し通路をRPGツクールMZで実装する方法を紹介していく。
ツクールの標準機能だけで作る方法とプラグインを利用する方法があるので、好きなほうを参考にしてほしい。
標準機能で隠し通路を作る
ツクールの標準機能だけでも隠し通路は実装可能だ。今回はいくつかある方法の中から、2通り紹介する。
なお、マップはサンプルを利用した。
透明なタイルを利用
ひとつめは、透明な通行可能タイルを利用する方法だ。
- 透明な通行可能タイルを用意する
- 視認できるタイルで通路を作る
- 壁として空イベントを設置する
- マップレイヤーを切り替える
- ①で設定した透明なタイルを選び、②で設置したタイルを塗りつぶす
透明な通行可能タイルを用意
まず「透明な通行可能タイル」を用意する。
今回は「外観」タイルセットをコピーし、タイルリストDに「Dungeon_B」を追加した。左上に透明なタイルがあるので、このタイルの通行設定を「○」に変更する。
このとき、タイルリストBの左上のタイルをいじらないように注意。これは上層レイヤーになにも置かれていない状態を表すためのものであり、「☆」から変更してしまうとゲームの挙動がおかしくなってしまう。
視認できるタイルで通路を作成
次に、視認可能なタイルでプレイヤーが歩ける通路を作っていく。
間違っても、このステップで透明なタイルを使わないように。どこにタイルを置いたのか、あとから確認しようと思ったときに面倒だからだ。
空イベントを設置
通路を作ったら、次にプレイヤーが通行できない壁を作っていく。方法はいくつかあるが、今回はわかりやすく空イベントを配置する。
作り方は簡単。新規にイベントを作成し、「プライオリティ」を「通常キャラと同じ」にする。これだけだ。空イベントが透明ブロックのかわりを果たし、プレイヤーが通行できなくなる。
空イベントを設置する利点として、隠し通路がどこにあるのか視覚的にわかりやすくなる。
マップレイヤーを切り替える
RPGツクールMZではマップエディタに「レイヤー」が追加され、自由に描画レイヤーを切り替えることができるようになった。
基本的に、タイルリストB以下のタイルはレイヤー4(上層)に描画される。②で設置したタイルもレイヤー4に描画されているので、今回はレイヤーを4に切り替えよう。
塗りつぶす
マップレイヤーを上層に切り替えたら、描画ツールを「塗りつぶし」に変更。最初に設定した「透明な通行可能タイル」で、通路部分を塗りつぶす。
これで自由に通り抜けができる隠し通路の完成だ。
ただ、このままだと隠し通路というより天井を歩いているだけのように見える。もっと隠し通路らしさを出したいときは、隠し通路の出入口にプレイヤーの不透明度を変更するイベントを配置するといい。
隠し通路に入ったらプレイヤーを半透明にし、隠し通路から出たらプレイヤーの透明度を元に戻す。これでだいぶ隠し通路らしさが出た。
透明な通行可能タイルを用いた方法は、VXAceやMVでも使うことができる。ただし、マップの仕組みがそれぞれ異なるため、手順が違ってくる点に注意。
壁タイルの通行設定を変更
ふたつめは、タイルリストA4(壁タイル)の通行設定を変更する方法だ。
- 壁タイルの通行設定を☆に変更
- 通路を作る
天井タイルの通行設定を☆に変更
RPGツクールMZでは、タイルリストAのタイルにも通行設定「☆」を設定することができる。
「☆」のタイルは、キャラクターの上層に表示される性質を持つ。言い換えれば、タイルの下をキャラクターが通行できるということだ。
今回は、森Aの壁タイルの通行設定を「☆」に変更する。
通路を作る
次に、通行可能なタイルを使ってプレイヤーが移動できる通路を作っていく。
タイルリストB以下の「○」タイルを使う場合、レイヤーが「自動」のままだと描画されたタイルが見えない(通行設定「☆」の壁タイルが上に表示される)ため、あらかじめレイヤー4に切り替えておくとわかりやすい。
これで、隠し通路の完成だ。
ふたつめの方法はかなり簡単だが、ツクールMZでしか使えないのが難点。MV以前のツクールでは、そもそもタイルリストAに通行設定「☆」を設定できないからだ。
隠し通路プラグイン
ここまで隠し通路の泥臭い実装方法を紹介してきたが、ツクールMZには、プラグインという便利で簡単な機能追加方法が用意されている。
隠し通路の設置に役立つプラグインを4つ紹介するので、ぜひ参考にしてほしい。
より詳細な使い方などは、各製作者様の配布ページに掲載されている。
MPP_HiddenPassage
製作者:木星ペンギン 様
おそらく、もっとも手軽に隠し通路を作れるプラグイン。
- プラグインパラメータで「通行可能リージョン」と「通行不可リージョン」を設定する
- マップエディタで隠し通路を作りたい部分にリージョンを配置する
手順はこれだけだ。
タイルリストAのタイルだろうがBのタイルだろうが、リージョンを敷いたエリアはすべてプレイヤーの上に表示される。
プラグインパラメータで設定したリージョンをマップに設置するだけですむため、手間がまったくかからない。
ぼくもめちゃくちゃお世話になっている。
NRP_OverpassTile
製作者:砂川赳 様
本来は立体交差を実現するプラグインなのだが、応用すれば隠し通路も作成できる。
手順はMPP_HiddenPassageとほぼ同じで、プラグインパラメータで設定したリージョンをマップに配置していくだけ。ただし、注意点がひとつある。
タイルリストAのタイルの下を通行できるようにするためには、タイルを上層レイヤー(レイヤー3またはレイヤー4)に描画しなければならない点だ。
マップを作成する際にレイヤーを切り替える必要があり、少しだけ手間が増える。
とはいえ、隠し通路と立体交差を同時に実現できるプラグインはそうそうない。厚みのあるマップを作ろうと思ったら、頼もしいことこの上ないプラグインだろう。
RegionBase
製作者:トリアコンタン 様
本プラグインは、リージョンや地形タグにさまざまな機能(衝突判定、すり抜け、タイル属性、コモンイベントの呼び出しなど)を追加する。
このうち、すり抜けとプレイヤーとの衝突判定を組み合わせることで、先に紹介した「透明な通行可能タイル」を用いた方法をリージョンだけで実現させることができる。
コモンイベントを設定すれば、リージョンエリアを出入りした際にプレイヤーの不透明度を変更させることも可能だ。
こちらのプラグインは、公式プラグインとして、RPGツクールMZをインストールすると作成されるフォルダの配下に置いてある。ぼくの場合は以下の場所だった。
C:/Program Files/KADOKAWA/RPGMZ/dlc/BasicResources/plugins/official
なお、RegionBaseを動かすには、ベースとなるプラグイン『PluginCommonBase』が必要になってくる。
RegionBaseと同じ場所に置いてあるので、一緒に導入しておこう。
RegionCollisionEx・MapLayerEx
製作者:あわやまたな 様
RegionCollisionExはリージョンや通行設定を拡張するプラグイン、MapLayerExはマップのレイヤーを拡張するプラグインだ。
このふたつのプラグインを組み合わせることで、隠し通路を表現することができる。RegionCollisionExで通行ができるようにし、MapLayerExでタイルを上層に表示させればいい。
本プラグインの最大の特徴は、リージョンを使わない点だ。これはほかのプラグインと大きく異なる。
プラグインをいくつも導入していると、使用するリージョンがなにかと増えがちだ。使うリージョンが増えれば増えるほど、どのリージョンにどの機能が備わっているのかわかりづらくなっていく。
その点、本プラグインは、マップを見ただけでどこにどんな拡張を施したのか一瞬でわかる。いちいちプラグインパラメータから確認する必要もなくなり、便利だ。
コメント
こんなのがあるんですねちょっとやってみようかな。
ライムさんはポケモン対戦はするんですか?もしするんだったらライムさんの使っている編成とか教えてください。僕レイドと色違い厳選はある程度詳しい(ライムさんほどではない)けど対戦があまり詳しくなくて・・・
ポケモンに戻ってきてーー!!
ライムさーーん!!
僕でよろしければ教えますよ!
僕が使っている雨パの構築なら教えられます
>ポケモン対戦はするんですか?
対戦はまったくやっていません。もっぱら、ひとりで遊んでいます。
ここポケモン好き多すぎでは?