この記事は、まったくの初心者が頑張ってRPGツクールMZを使いこなせるようになる(予定)までの過程を記録したものです。
こんにちは、天野です!
小説やシナリオを中心として、様々な創作活動について発信する活動を続けています。
今回は、「RPGツクールMZ初心者奮闘記」第3回!
ということで、これまで触ってみて分かってきた、RPGツクールの基本概念をまとめてみたいと思います。
RPGツクールの基本概念
ある程度ツクールを操作していると、なんとなく見えてくるものがあります。
それは、「ノーコードというだけで、これは普通にプログラミングだわ」ということ。
もちろん、コードを書かなくていいのでその点はとても楽ですが、独自の名前がついていたりするので、「プログラミングチョットデキル」という人には少し混乱を招く要素もあるかも?
あくまで自分の思考の整理のためですが、用語とかをまとめてみました。
※自分は「プログラミングチョットデキル」ではなく、本当に最低限の知識を少しかじっただけですので悪しからず!
各機能をプログラミングから考える
RPGツクールには、様々な機能が存在していますが、一見するとよく分からない存在やおかしいように思える挙動をするものがあります。
ただ、プログラミングになぞらえて考えたところ、分からなかったところが見えてくることがお送りました!
今回は、迷った項目についていくつかまとめてみたいと思います。
セルフスイッチ
最初に悩んだのがこれ。
「セルフってなに?」これはどうやって使うものなの?
いろいろな疑問がありましたが、一言で言うとたぶん「boolean型のローカル変数」。
ローカルの範囲は、1つのイベントID内です。
そして何より大事なのは、このboolean型(スイッチ)はすべて「FALSE(オフ)」から始まる、ということ!
なので、出現条件でセリフスイッチのオフを指定するということは、if(セリフスイッチ == false){}ということになり、この実行内容の中でセリフスイッチをオン(true)に変えてあげれば、自動実行のイベントもループが起こらなくなります。
1つのイベントIDの中で複数のイベントページが作れる理由
個人的に、イベントを新規作成した時、1つのイベントIDの中に複数のイベントページを作れるのが疑問でした。
全部ここに1つのページに書けばよくない?と。
ただ、少し調べてみた結果、このイベントページは「条件分岐(出現条件)によるそれぞれの処理」を書くのが正解らしいです。
「たしかに」
メソッド(関数)って作れないの?
特定の処理を様々な場所で使いまわしたい場面は必ず来るはず!
そのたびにいちいち処理を記述していたのでは手間もかかりますし、変更が生じた際、1つ1つ変更をかける必要が出てしまいます。
そこで使うのがメソッド(独自関数)ですが、ツクールMZでもそれに該当するものがありました!
「コモンイベント」という名前で、データベースから作成可能です。
これを使えば、だいぶ楽ができそうです!!
作ったコモンイベントは、様々な場所からの呼び出しが可能です。
スクリプト
これはそのままですね!
上級者向け機能として、イベント内をはじめいろいろな場所でスクリプトを記述できます。
基本的に、書ける言語はjavascriptです。
他のイベントの呼び出しなど、スクリプトを記述すれば自由度の高い処理が実施できます。
どんな処理ができるかは、リファレンスを見て確認できます!
(これだけだと難しいので、やりたいことがある場合は、ネットで情報を探した方が早いですね笑)
プログラミングではないが、迷った概念
プログラミングになぞらえて考えるわけではないですが、製作を続ける中で少し詰まったポイント・機能もまとめておきたいと思います。
マップレイヤー
マップにはレイヤーが4層存在していて、上のレイヤーが優先して表示されます。
いや、レイヤーなのでそんなのは当たり前なんですが、引っかかったのは「歩行の可否」も上位レイヤーが優先されるということ。
つまり、一見すると通行不可のタイルなのに、実は最上位レイヤーに歩行可能な透明のタイルが存在していて、歩行ができてしまう、ということが起こりえます。
もちろん、逆もまた然りです。
マップで歩行の可否がおかしい場合、上位レイヤーを疑いましょう!
プライオリティ
イベントには、プライオリティという項目が存在します。
これを間違えると、話しかけているのにイベントが発動しない、といった状況が起こりえます。
基本的に、話しかけて発動するタイプのイベントは、「通常キャラと同じ」のプライオリティにしましょう!
透明化
イベントで出番が終わったキャラクターなど、もう画面に居てほしくない場合、私はずっと”透明化”を使っていました。
基本的にこれで上手くいっていると思っていたのですが、これには1つ問題がありました。
「透明化」あるいは「イベントの移動」を行った場合、セーブして再び起動する、または他のマップに移動して戻ってくる時、状態がリセットされてしまいます!
そのため、消えたはずの人が復活したり、移動したはずが戻っていたり、ゲームの進行を妨げる可能性があります。
一見気づきにくい問題ではありますが、大事なイベントは、「出現条件」にしっかり定義を記載しておくようにしましょう。
まとめ
RPGツクールはノーコードツールではありますが、当然中身はプログラミングです。
一見理解しづらいことでも、プログラミングに当てはめて考えれば、逆に理解しやすくなることもかるかもしれません!
また、それぞれの機能には知っておくべき、若干のクセがあるのも事実です。
その”クセ”を理解して、自分だけのゲームを作ってみてください!!
コメント