ボキがかんがえた(わけじゃない)さいつよのシンボルエンカウントMV

「シンボルエンカウント」で検索したら関連キーワードが「嫌い」だったので悩んでいるしんぞですこんばんわ。

なんの前触れもなく敵が襲ってくるよりは、最初から見えていた方が不自然じゃない、という素朴な考えで、シンボルエンカウントっていーなーと思っていたのですが、うざくしないためには幾つかコツがいるようですね。

  • 逃げた敵にもう一度襲われないようにする
  • シンボルの動きに工夫する
  • 作る側がチューニングが楽なようにしておく(=ゲームバランスの調整が楽)

幸い、先達の知恵によって なかなか効率的に作ることができました。

神無月サスケさんの公式プラグインを参考に、
Yanfly先生とトリアコンタン神のプラグイン、およびコモンイベントを使います。

プラグインじゅんび

YEPのコアエンジンとバトルコアエンジンの他に、下記4つのプラグインを入れます。

http://yanfly.moe/2016/04/17/yep-93-force-advantage/
http://yanfly.moe/2016/06/03/yep-105-event-encounter-aid-rpg-maker-mv/
http://yanfly.moe/2015/10/21/yep-20-event-chase-player/
https://triacontane.blogspot.jp/2016/08/blog-post.html

コモンイベントじゅんび

下記のコモンイベントを書きます。

◆ラベル:戦いの直前
◆条件分岐:スクリプト:this.checkPlayerFacingEventBack()
  ◆プラグインコマンド:ForceAdvantage Player
  ◆
:それ以外のとき
  ◆条件分岐:スクリプト:this.checkEventFacingPlayerBack()
    ◆プラグインコマンド:ForceAdvantage Enemy
    ◆
  :それ以外のとき
    ◆プラグインコマンド:ForceAdvantage None
    ◆
  :分岐終了
  ◆
:分岐終了
◆プラグインコマンド:TE_CALL_ORIGIN_EVENT
◆戦闘の処理:{戦うtroopのID}
:勝ったとき
  ◆イベントの一時消去
  ◆
:逃げたとき
  ◆移動ルートの設定:このイベント
  :        :◇不透明度:128
  :        :◇すり抜けON
  :        :◇ウェイト:240フレーム
  :        :◇すり抜けOFF
  :        :◇不透明度:255
  ◆
:負けたとき
  ◆画面のフェードアウト
  ◆プラグインコマンド:MWP_INVALID
  ◆文章:なし, ウィンドウ, 下
  :  :お迎えが来たようですが…
  :  :どうしますか?
  ◆選択肢の表示:今の戦いからやり直す, セーブしたところからやり直す, あきらめる (ウィンドウ, 中, #1, -)
  :今の戦いからやり直すのとき
    ◆画面のフェードイン
    ◆ラベルジャンプ:戦いの直前
    ◆
  :セーブしたところからやり直すのとき
    ◆メニュー画面を開く
    ◆
  :あきらめるのとき
    ◆ゲームオーバー
    ◆
  :分岐終了
  ◆
:分岐終了

イベントじゅんび

敵を配置したいマップにイベントを置き、1ページ目に下記のイベントを書きます。

◆変数の操作:#0027 戦うtroopのID = 26
◆コモンイベント:シンボルエンカウント

グラフィックは「敵っぽいやつ」を用意しましょう。「味方と間違えて話しかけないように、区別のつくように」工夫すると良いでしょう。おれはモノトーンに加工したキャラチップでいくつもりです。

移動ルートはカスタムで下記のようにしてみます。「動作を繰り返す」にチェック。

◆スクリプト:this._chaseRange = 5
◆スクリプト:this._seePlayer = true
◆ランダムで移動

ここまでで、敵1匹ができました。次は、これを複製してみましょう。

イベント複製用のイベントを作成

意味わからん? うん、すまん。説明が下手なのは持病。
ここまで用意したイベントは1個だけなのだけど、トリアコンタンさんのプラグインで簡単に複製することができるので、複製を実行する専用のイベントを1モンスターあたり1こ作ります。

グラフィックなし、自動実行で下記のようにします。変数は自分の環境では28番が空いていましたが、そこはお好みでどうぞ。プログラミングでいう「for」の処理に相当することを行って、プラグインコマンドを任意の回数実行します。

◆変数の操作:#0028 temp:forで回すi = 0
◆ループ
  ◆変数の操作:#0028 temp:forで回すi += 1
  ◆条件分岐:temp:forで回すi ≥ 10
    ◆ループの中断
    ◆
  :分岐終了
  ◆プラグインコマンド:ERS_MAKE_RANDOM 12 passonly
  ◆
:以上繰り返し
◆イベントの一時消去

「グレー表示」をもっと薄くするプラグイン

ツクールMVを黒背景から白背景に変えると、「薄くなっている文字」があんまり薄く見えなくて、見分けがつかなくなってしまいました。
これを簡単なフックで変えられたのでプラグインとして置いておきます。
SNZ_DisabledItemOpacity
調べれば誰でも書けるレベルのものなので、特に権利は主張しないです;ご自由にどうぞ。

文字色を黒にしたいときのコツ

ツクールのデフォルトは黒っぽい背景に白文字ですが、白っぽい背景に黒文字というのも、なかなか読みやすくていいものです。
k本的にはimg/system/window.pngを編集すればよし。ただし、デフォルトでは袋文字の縁取りが黒なので、読みづらいどころか成立しないものになってしまいます。縁取りの色を変えるか、縁取り自体を消す必要があります。
いくつかのプラグインでこれが実現します。

メニュー画面

準公式プラグインTextDecoration(「ニナと鍵守の勇者」内)
スクリーンショット 2016-08-15 20.44.25

メッセージ画面

みんな大好きYEP_MessageCore
スクリーンショット 2016-08-15 20.44.09

バトル画面の、いわゆる「バトルログ」(上に表示されるテキスト)

SRD_BattleLogUpgrade
http://sumrndm.site/battle-log-upgrade/
スクリーンショット 2016-08-15 21.03.18
「白い帯に黒い文字」だとかえって不自然になるので、文字色をここだけ変えてみました

メニュー画面をカスタマイズするときに使えそうなプラグイン

回想シーンはドット絵ふう、通常シーンはそうではなく、というのをやりたかったので、ウインドウスキンには触りようがなかったのですが、このたびやりたいことが実現できるプラグイン一式を見つけたのでメモ。いま実家なのでテストとかはまだです。ほぼ自分用メモ。

ウインドウスキンを作中で切り替えられるプラグイン

Windowskin Change

メッセージウインドウのデザインだけ好きな画像で置き換えるときに便利なプラグイン
「通常ウインドウを透明に」「オートピクチャウインドウ
http://garasuzaikunomugen.web.fc2.com/game3.html

バトル画面とマップ画面の両方またはどっちかで、顔グラとHPなどのゲージをパーティ全員分表示
https://github.com/biud436/MV/tree/4a83017ec0e460f089c43eaa407b82470d594b0f/HUD

ブラウザ用のツクールゲーを作成する試行錯誤

帰ってきました爺メン制作委員会。
パソコンデスクを買い換えたので、快適に作業しちょります。

ウェブブラウザ用に書き出した編集中のゲームを、試しにスマホで遊んでみたのですが、まあ落ちる落ちる。

メモリを食う原因は主に

  • グラフィック
  • 音声

だと思うので、これらを重点的に調整します。

グラフィック

まず、以前紹介した「ブラウン管風にエフェクトをかけるプラグイン」は残念ながらオフ。画面にズームを掛けっぱなしにしているというだけでも、かなりクラッシュが増えるようです。

他に、セーブ画面の改造プラグインを使っていたのですが、これの便利機能「セーブした場所のスクリーンショットを添える」を不使用に。セーブ中にクラッシュするという最悪の事態が激減しました。

あと、戦闘中の魔法エフェクトを試しに切ってみたら、バトルが劇的に速くなりました。スマホゲーの「魔法の演出」って、一枚の画像を拡大縮小させるだけのことが多くて なんかまぬけだな、と思ってしまっていたのですが、キャッシュを節約するためにはしょうがないんですね。

音声

BGMは圧縮しても、尺によっては1メガとか平気でイッてしまいます。今までの感覚で、イベント演出のために音楽をガンガン切り替えると、オープニングが終わるまでの間に落ちてしまったりするし、だいいち通信費が心配です。ここは演出の推敲も含めて、工夫のしどころというとこでしょうか。

フリー素材の音楽は2分くらいあるものが結構あるので、作者さんが許諾されていれば、一部をカットして短いループに編集した方が良いかもしれません。

気になる音声の圧縮率ですが、「Foobar2000」の場合、設定画面のスライダを一番左にしてがっつり圧縮しても、意外と音質が変わったとは感じないものです。ここは主観かもしれませんが…

過去作の知恵

わたくしツクールVX Aceはすでに持っていて、それ用の素材も二つだけ買っていました。音楽はもちろん、マップチップも1.5倍に拡大すればそのまま使えるようです。(使用許諾的にもOKなようです)
もちろんほとんどの場合 拡大時に画質が荒くなって残念になるのですが、唯一の例外。
スクリーンショット 2016-02-02 22.07.32
「ドット絵風」と銘打った素材がデジカや海外のrpgmakerweb.comにいくつかあって、それらは荒れるも何ももともと粗いので、面白い効果になりそうです。
この画像はあえてブラウン管風のブレがかかるプラグインを使っていますが、素の状態だとカリッとしたエッジになります。
ドット絵を拡大する時は、Photoshopをお使いの方は「ニアレストネイバー法」というオプションを設定すると、変にフォトショ側が気を使って滑らかに加工することなく、クリスピーなエッジのまま拡大してくれます。これ、1.5倍や2倍などきりのいい倍数の時にもっとも効果が出る設定です。

古いツクールの話題ついでに。「プラグイン入れるほどのことではないけど、技術的になんとかできないかなあ」と思った時は、たとえば
「ツクールMV キーウェイト」
などではなく
「ツクール キーウェイト」
と検索すると、過去作で蓄積されたノウハウがヒットしたりします。
もちろんRubyコマンドなどはそのまま使うことはできませんが、コモンイベントで済むことであれば過去作のやり方でカバーできることが多かったりします。

マップ画面をブラウン管風にフィルタをかけるプラグインを使ってみた

プラグイン入手はこちらから – Firgof’s CRT Monitor Effect
スクリーンショット 2016-01-30 3.37.29
ずーむ

このスクリーンショットだとわかりにくいけど、かなり本格的にブラウン管っぽさを再現しています。

  • 画面のちらつき
  • 赤緑青の細かい縦ストライプみたいな模様
  • ときどき上下に走るノイズ
  • 周囲の黒い影
  • 天井の電気の反射みたいな白いハイライト

デフォルトの設定だとバッシバシ エフェクトがかかってて、かっちょいいけどゲームとして遊ぶには目が疲れるので、控えめの演出になるよう数値をいじりました。プラグインのソースを直に触ることになるけど、作者さん自身がフォーラムで質問に答えて「とりあえずここの数値を書き換えるといいですよ」みたいなことを書いていたくらいなので、まあ、許してくれるでしょう;

  1. ソース見て、エフェクト用のレイヤーの「opacity」(透明度)を指定しているところを探して、数値を半分くらいにしました。エフェクトレイヤーは8種類くらいあるので、編集箇所は結構あります
  2. $gameScreen.startZoom($gamePlayer.screenX(), $gamePlayer.screenY(), 2.5, 1);
    となっているところが「画面のズーム指定」なので、2.5となっている値を小さめに変えてやります。1で等倍ですが、粗さを出すために1.2〜1.5位にしても面白い効果になります
  3. var op = 0+getRandomArbitrary(16,80);
    となっているところで「画面のちらつき」に使う乱数を生成しているみたいなので、カッコの中を(4,16)くらいにして効果を控えめにしてやります

そうそう、ソースコードを直にいじるときは、もともとの記述を残しておくために

//  $crt_overlay8.opacity = 10; 
  $crt_overlay8.opacity = 2;  

と、元記述のあたまに「//」をつけておいたうえで、下にコピペで書き換えた値を追加すると良いです。
「//」から後ろ、次に改行するまでの間は「コメント(注釈)」とみなしてプログラムが読み飛ばしてくれる、という機能を使っています。コメントアウトとゆいます。

このプラグイン、回想シーンや夢のシーンだけブラウン管風にしてみたい、と思って「プラグインコマンドか何かで効果のオンオフを切り替えられませんか?」とヘッタクソな英語で作者さんに要望を出してみましたが、ソース見ると結構凝った処理やってるので大変かもですね;

海外版ツクールのフォーラムでユーザ登録をするときにされた質問

群れるのが苦手なので、いわゆるツクラーさんのコミュニティには全く近づいていないのですが、プラグインはやっぱり探しますし、そんなときはけっきょくRPG Maker公式フォーラムに行き着きます。日本語ブログで紹介されてるプラグインのダウンロード先がココであることも多いです。(技術系コミュニティ全般そうだと思いますが、わかりやすい英語で書いてくれる方が多くて助かります)

で本題。

このフォーラムでは、ゲームのキャプチャ画像や、人によってはソースコード自体を「無料ユーザ登録すると見られるよボタン」の中に記述する方も多いので、ユーザ登録をすることになるのですが、自分の場合は登録の際に「ボット避け」の質問として
the Answer to the Ultimate Question of Life, the Universe, and Everything
の答えを書け、と言われた記憶があります。

日本人にはなんじゃそりゃですが、これ、英語圏のネットミームです。「シャア専用機の色を書け」とか質問しているようなノリ。
参考
生命、宇宙、そして万物についての究極の疑問の答え – Wikipedia
この質問をされたら「42」と返すのがお約束になっているそうなので、そうしてあげてください。

※あくまで「自分が体験したケース」です。もしかしたら、ランダムに質問が選ばれていてあなたが見たときはこの質問ではない、という可能性もあります。

…「ウィキペの『珍項目』リストを読む」のを趣味にしていた時期がおれにあって助かった。

ちなみに、件の「登録すると見られるよボタン」に書かれている「Spoiler」というのは「ネタバレ」のことらしいです。もともとネタバレ除けのために記述を隠す機能だったんだけど流用してます、ってことなのかもしれんなあ。