【RPGツクールMZ・MV】変数(v[n])の使い方

RPGツクールの変数とは何か?

概要

RPGツクールの中には「変数」と呼ばれる機能があります。
「変数」に数値を保存することでプレイヤーの行動にあわせてイベントを発生させたり、表示する文章を変えたりすることができます。

もともとはプログラミングから

変数はもともとプログラミングの中で用いられるもので、データを一定期間記憶し、必要なときに利用できるようにするために名前をつけたものです。
プログラミングをやっていないとこの説明ではさっぱりですが、中学校・高校の数学ででてきたxやyという文字と大差ありません。
x = 1、y = 3であるとすれば、x + y = 4になりますね。
このxやyのようなものを変数と呼びます。
プログラミングでは変数に文字などが入ってより複雑になるのですが、RPGツクールMVではテキスト入力は通常できないので、数字だけを想定していきましょう。

変数の機能

変数を作る

RPGツクールMVの変数の操作の画面

変数は「イベントエディター」「イベントコマンド」の欄の「ゲーム進行」のカテゴリーにある「変数の操作」から利用することが可能です。

RPGツクールMVの変数の操作の画面の内容


「変数の操作」の画面には実際に変数を操作するための機能が揃えられています。

RPGツクールMVの変数の操作・単独を選ぶ画像


まだ、変数を何も登録していない場合は、「単独」の横のボタンをクリックしましょう。

RPGツクールMVの変数のリストの画面


変数を何も登録していない場合は、「変数の選択」のリストが空欄になっているはずです。
この中にテキストを入れれば、変数の完成です。

変数を操作する

変数の説明

変数は何も設定しなければ0の数が入った状態から始まり、変数の操作から数値を代入したり、加減乗除の計算をすることができます。
先ほど紹介したように、変数というのはデータを保存して、あとから利用できるようにしたものです。
よく例えられるのは、変数というのはデータを入れる箱のようなもので、この中に数値なり、本家のプログラミングではテキストを入れていったりします。
操作した変数は条件分岐の条件として使用したり、テキストに表示させたりすることができます。

変数を使ったRPGのイベント例

数値だけしかいれていないので、変数の用途がいま1つイメージしづらい方もいるかもしれません。
ここで変数を使った効果的なイベントをご紹介いたします。

クイズ

正解画像

変数を使ったイベントとして代表的なのがクイズです。
例えば選択肢を複数設けて、正解の選択肢を選ぶと変数が増加していくシステムを使えば、得点の計算を簡単に行うことができます。
最後に変数の数字を表示するだけで点数を発表することができますし、変数の値に応じてエフェクトを変えても面白いでしょう。
変数を文章中に表示するのがv[n]の制御文字です。
v[n]の制御文字を文章中に入れることで、変数の数値を文章中に表示することができます。

パスワードシステム

RPGツクールMVの数値入力の操作の画面

プレイヤーに入力させた数値を変数として保存しておけば、本格的なパスワードシステムを構築することも可能です。
RPGツクールMVにはイベントコマンドの中に「数値入力の処理」という機能があります。
これを使えば、プレイヤーに変数を入力させることができます。

RPGツクールMVのパスワードの入力画面


例えば、変数0001に正解の数値を、変数0002にプレイヤーに入力させる数値を格納するとします。
イベントコマンドの「条件分岐」で「変数0001 = 変数0002」であることを条件とすることで、もともと変数0001に用意したパスワードとプレイヤーが入力したパスワード(変数0002)が一致したときだけのイベントを作ることができます。

好感度パラメータ

クイズと似ていますが、恋愛シミュレーションゲームに出てくる好感度パラメータも変数の得意な分野です。
よく恋愛シミュレーションゲームで「フラグが立った!」などと言いますが、RPGツクールのフラグであるスイッチ機能で好感度を管理していくと、煩雑な割には単調なシステムになってしまいます。
その点、変数を使えば、好印象を与える回答をした時には数値を上げ、不興を買う回答をした場合は数値を下げるという仕組みを実現することが可能です。

より効果的に変数を使うために気をつけておきたいこと

このように、変数というのは、数値を入れ、その値を条件とすることで、状況にあわせたイベント展開をすることが可能です。
この変数をより効果的に使うために気をつけていたいこともあわせてご紹介いたします。

変数の名前はわかりやすいものにしよう

まず、変数の名前に関してです。
RPGツクールでゲームを作る場合、多くの時間を1人で作業することになります。
しかし、他の人と協同作業をすることになった場合、適当な名前を変数につけていると作業がし辛くなります。
また、一人で開発していたとしても、作業に時間が空いてしまうと自分が何をしていたかわからなくなってしまうことも多々あります。
そうしたときのために、変数の名前だけで何をしているのかがわかるようにしておくのがよいでしょう。
はじめのころは面倒くさがって「A」とか「B」とかいう変数名を使ってしまいがちですが、「クイズ正解カウント用」「パスワード用」などという具体的な名前をつけることを強くお勧めいたします。

文章で変数(v[n])を呼び出して、デバッグ作業をしよう

デバッグの例
デバッグの例

変数を扱うようになると、様々な表現ができるようになる一方で、意図した処理を行えなくなることもあります。俗にいうバグが発生しているのですが、バグをつぶしていくデバッグ作業をするときには、変数の値を定期的に文章として表示させ、中身を確認するとよいでしょう。
イベントの途中で変数を表示させることによって、その時点で意図したように変数が増減しているか確認し、自分が組んだイベントのプログラムに誤りがないかを確認していきます。

v[0]は変数0001ではない

最後に、多くの人は間違いようがないのですが、プログラマーの方だとひっかかってしまいそうなことを記載いたします。
それはv[0]は変数0001ではないということです。
多くのプログラミング言語では、1番目を指す際に、プログラム上は0番目と書くことがあります。そのクセのままに、1番目の変数の数値を表示するために制御文字のv[0]を書いてしまうと、誤った表示をしてしまい、デバッグ作業をしていると混乱に陥ってしまいます。
些細なことですが、もしデバッグ作業に行き詰ったら、変数の数値があやまっていないか確認してみてください。

変数でより壮大なストーリーを

今回はRPGツクールでの変数の使い方をご紹介していきました。
RPGツクールには「スイッチ」という便利な機能があるため、そのON・OFFだけでも面白いイベント分岐ができるのですが、さらに細かいイベント分岐や表現をするのであれば変数の力が必要です。
プログラムをこれまでしたことなかった方は変数の利用に少し戸惑うかもしれませんが、使いながら慣れていってください。