2018年08月04日
変数活用のススメ
◆変数活用のススメ
色々試していて気付いたので備忘録的にメモです。
制御文字の中に、変数を指定できることを知りました。
変数で指定していれば、あとから一括変更が可能となります。
これは便利。
■準備
変数に色番号を格納する
ツクールMVの色番号はこちらのサイト様がサンプルを上げてくださってます。
http://ossangame.com/text_color
変数に色番号の数値を格納しておきます。
例:
◆変数の操作:#0018 選択肢1の色 = 4
◆変数の操作:#0019 選択肢2の色 = 3
◆変数の操作:#0020 選択肢3の色 = 6
■選択肢に実装
実践です。
選択肢に文字列の色付け\c[]の制御文字の中に入れ子で\v[]を入れます。
\c[\v[18]]
\c[\v[19]]
\c[\v[20]]
◆選択肢の表示:\c[\v[18]]幽霊?, \c[\v[19]]夢で視た……, \c[\v[20]]死神?
この通り反映されました。
■応用
ツクールの色番号は0〜31までの32種類。
しかしテキスト表示系のプラグインを使えばRGBで指定できるようになります。
つまりRGBの値を変数に格納すれば更に幅が広がります。
【追記】
・調べたところスクリプトに格納できる型にしないといけないからイベントテンプレートに
情報集約して編集とした方が良いかもです。
RGB指定はコアスクリプト改変のほか、Trbさんの次のプラグインや木星ペンギンさんのプラグインが有用です。
Trbさん
http://blog.livedoor.jp/trb_surasura/archives/19021531.html
木星ペンギンさん
http://woodpenguin.web.fc2.com/MV_Plugin/MessageEX.html
■変数の使いどころについて
「2つ以上」の「変更する可能性がある値」は変数にした方が良い、というのはよく聞きますね。
でも実際には2つ程度なら値を直接入力する場面の方が多いと思います。
なぜならば変数を利用するとき、これだけ考える要素があるからです。
・変数の登録コスト
-登録場所(ID何番を使うか、前後の並びにどう配慮するか)
-名称
・変数の呼び出しコスト
-\v[]〜と入力する手間
一方で変数にしておけばよかったと思うのは、次のような場合。
・数は少ないが、どこに使ったかわからない値
色々な場所に設定していて、マップID,イベントIDを探し当てられない…
これがバグの元になります。
また変数自体も命名をしくじると「これなんの変数だっけ」となります。
以上をふまえ、変数についての考えをまとめます。
・変数を利用した方が良い場合
-2つ以上
-離れたMAPID,イベントIDで利用
※一元管理だけではなく、探すコストも判断基準に入れます
・変数は分かりやすく管理する
1.変数名から目的がわかるように命名する
-Chapter2で利用する変数ならC2_hogehoge
-ゲーム内全般で利用するならSys_hoghogeなど
2.コモンイベントの中にまとめる
コモンイベントにわかりやすい名前をつけたうえで、先の変数をまとめます
コモンイベント名はデータベースからCtrl+Fで検索ができるので、見出し代わりになります
【追記】
・トリアコンタンさんのイベントテンプレート、イベント動的生成プラグインが変数に対応していることがわかりました
1.イベントテンプレートでコピー元イベントを作成
2.動的生成のプラグインコマンドで1を呼び出す
例.
* ERS_ランダム生成 1 1 2 3 5 4 # イベントID[1]のイベントを下記の条件(※)で配置
* ERS_MAKE_RANDOM 1 1 2 3 5 4 # 同上
2のプラグインコマンドの各種値(例で挙げると1 2 3 5 4 )部分が変数に対応しているとのこと。
地形タグ、リージョンに変数を割り当てれば一元管理が可能になります。
テンプレートイベントプラグイン
https://triacontane.blogspot.com/2016/06/blog-post_25.html
イベント動的生成
https://triacontane.blogspot.com/2016/08/blog-post.html
◆◇◆◇
変数はこのような作品管理のほか、プレイ情報やゲームデータも格納できます。
そしてコモンイベントをラベル代わりに使うことで、制作の効率化は進みます。
スクリプトを活用することで変数に格納する情報は大幅に広がります。
・スクリプトで取得可能な情報一覧
執筆:トリアコンタンさん
https://docs.google.com/spreadsheets/d/1rOIzDuhLC6IqJPEFciYOmXWL_O7X9-hMValMs7DpWCk/edit#gid=0
これらを応用すれば、戦闘回数をもとにゲーム側で難易度を自動調整する機能も実装できます。
(それが良いかは別として)
プレイヤーの操作→反応、これがゲームのコアな面白さの一部だと思うので、この辺りにも注目したいところ。
共通作業をいかにまとめるか
プレイ情報をどのように活かすか
これらは制作を楽しくする秘訣かもしれません。
色々試していて気付いたので備忘録的にメモです。
制御文字の中に、変数を指定できることを知りました。
変数で指定していれば、あとから一括変更が可能となります。
これは便利。
■準備
変数に色番号を格納する
ツクールMVの色番号はこちらのサイト様がサンプルを上げてくださってます。
http://ossangame.com/text_color
変数に色番号の数値を格納しておきます。
例:
◆変数の操作:#0018 選択肢1の色 = 4
◆変数の操作:#0019 選択肢2の色 = 3
◆変数の操作:#0020 選択肢3の色 = 6
■選択肢に実装
実践です。
選択肢に文字列の色付け\c[]の制御文字の中に入れ子で\v[]を入れます。
\c[\v[18]]
\c[\v[19]]
\c[\v[20]]
◆選択肢の表示:\c[\v[18]]幽霊?, \c[\v[19]]夢で視た……, \c[\v[20]]死神?
この通り反映されました。
■応用
ツクールの色番号は0〜31までの32種類。
しかしテキスト表示系のプラグインを使えばRGBで指定できるようになります。
つまりRGBの値を変数に格納すれば更に幅が広がります。
【追記】
・調べたところスクリプトに格納できる型にしないといけないからイベントテンプレートに
情報集約して編集とした方が良いかもです。
RGB指定はコアスクリプト改変のほか、Trbさんの次のプラグインや木星ペンギンさんのプラグインが有用です。
Trbさん
http://blog.livedoor.jp/trb_surasura/archives/19021531.html
木星ペンギンさん
http://woodpenguin.web.fc2.com/MV_Plugin/MessageEX.html
■変数の使いどころについて
「2つ以上」の「変更する可能性がある値」は変数にした方が良い、というのはよく聞きますね。
でも実際には2つ程度なら値を直接入力する場面の方が多いと思います。
なぜならば変数を利用するとき、これだけ考える要素があるからです。
・変数の登録コスト
-登録場所(ID何番を使うか、前後の並びにどう配慮するか)
-名称
・変数の呼び出しコスト
-\v[]〜と入力する手間
一方で変数にしておけばよかったと思うのは、次のような場合。
・数は少ないが、どこに使ったかわからない値
色々な場所に設定していて、マップID,イベントIDを探し当てられない…
これがバグの元になります。
また変数自体も命名をしくじると「これなんの変数だっけ」となります。
以上をふまえ、変数についての考えをまとめます。
・変数を利用した方が良い場合
-2つ以上
-離れたMAPID,イベントIDで利用
※一元管理だけではなく、探すコストも判断基準に入れます
・変数は分かりやすく管理する
1.変数名から目的がわかるように命名する
-Chapter2で利用する変数ならC2_hogehoge
-ゲーム内全般で利用するならSys_hoghogeなど
2.コモンイベントの中にまとめる
コモンイベントにわかりやすい名前をつけたうえで、先の変数をまとめます
コモンイベント名はデータベースからCtrl+Fで検索ができるので、見出し代わりになります
【追記】
・トリアコンタンさんのイベントテンプレート、イベント動的生成プラグインが変数に対応していることがわかりました
1.イベントテンプレートでコピー元イベントを作成
2.動的生成のプラグインコマンドで1を呼び出す
例.
* ERS_ランダム生成 1 1 2 3 5 4 # イベントID[1]のイベントを下記の条件(※)で配置
* ERS_MAKE_RANDOM 1 1 2 3 5 4 # 同上
2のプラグインコマンドの各種値(例で挙げると1 2 3 5 4 )部分が変数に対応しているとのこと。
地形タグ、リージョンに変数を割り当てれば一元管理が可能になります。
テンプレートイベントプラグイン
https://triacontane.blogspot.com/2016/06/blog-post_25.html
イベント動的生成
https://triacontane.blogspot.com/2016/08/blog-post.html
◆◇◆◇
変数はこのような作品管理のほか、プレイ情報やゲームデータも格納できます。
そしてコモンイベントをラベル代わりに使うことで、制作の効率化は進みます。
スクリプトを活用することで変数に格納する情報は大幅に広がります。
・スクリプトで取得可能な情報一覧
執筆:トリアコンタンさん
https://docs.google.com/spreadsheets/d/1rOIzDuhLC6IqJPEFciYOmXWL_O7X9-hMValMs7DpWCk/edit#gid=0
これらを応用すれば、戦闘回数をもとにゲーム側で難易度を自動調整する機能も実装できます。
(それが良いかは別として)
プレイヤーの操作→反応、これがゲームのコアな面白さの一部だと思うので、この辺りにも注目したいところ。
共通作業をいかにまとめるか
プレイ情報をどのように活かすか
これらは制作を楽しくする秘訣かもしれません。
【このカテゴリーの最新記事】
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7961117
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック