コメントする前回RPGツクールMVにプラグインを使うことでノベルゲームが再現できる、という仕組みに触れてみた。基本機能をいろいろこねくり回してみれば完全自作でも、それっぽい仕掛けが作れるのではないかと思い始めたので、改めて試してみた。完成度、簡単さという点ではもちろんプラグインのほうにかなうはずがないが、一応それなりに動く感じに仕上がったので内容についてまとめておきたい。今回の内容に関してザックリ解説すると、ノベルゲーム作成プラグイン『NobleMushroom』は未使用。コモンイベント、自動実行イベント、条件分岐でノベルゲームっぽいのを再現。プラグインは『DTextPicture』をメニュー画面に使用。キャラクター表示はピクチャ表示。背景はマップの遠景設定を利用。基本的には下記の記事で触れたプロジェクトをベースにそれっぽいものを作っていきたいという趣向。【RPGツクールMV】ノベルゲーム作成プラグイン『NOBLEMUSHROOM』を試してみた基本設定マップの設定。こちらも前のものに倣ってマップをシーン分けに使う。場面ごとに切り替えていって配置されている自動実行イベントで文章を表示していくことでノベルゲーっぽい挙動を再現するという形。実際にマップ上に配置してあるイベントがこちら。今回は表示周りのプラグインの力を借りないため、基本的な表示形式である会話ウィンドウで文章を流していくという形になる。各会話毎にラベルを設置(p1,p2,p3・・・)。先頭から各ラベルにジャンプすることで文章の表示。表示後先頭に戻り、各種キー入力待ち。いう周りくどい方式となった。自動実行イベントは別の並行処理イベントなどで割り込んだりして処理を中断させてしまうと再び先頭からになってしまうという現象に対して、だったら先頭からやりなおさせても問題ない構成にすればよいのではという短絡的思考から生まれたごり押し策。3行目のスクリプトに関してはラベルジャンプの処理をスクリプトにて実行したもの。今回各文章に飛ぶ仕掛けを作るにあたって、p+文章数のカウント(変数1)を使った汎用ラベルを設定し、簡単に飛べるようにしたかったのだが、基本機能によるラベルジャンプでは変数を入れ込むことが出来なかったので、スクリプトによるジャンプを利用することとなった。文章の表示とかで使えるのにここだけ使えない理由はよくわからない。スクリプトのほうで見るとラベル名がコメント扱いになっているのでそのあたりが原因かも?文章のカウントに関しては後に触れる入力待ちコモンイベントのほうで行う。文章の表示ごとにカウントを行うことで現在の位置確認として利用するという形式。テストプレイをするとこんな感じ。一つの文章表示周りの処理をラベルとラベルジャンプで挟み込んでセットにした。文章の他に、人物の表示、音楽再生、エフェクト周りなどもここで行う。自動実行イベントの後半部分がこちら。各文章へのジャンプを行うのに使う変数「ページ数」を初期化、フェードアウトを交えて画面のリフレッシュ周りの処理を行い、場所移動によって次にシーンへとつなげていくという流れ。ここだけの話最初、前半部分のラベルジャンプのスクリプトをイベントの条件分岐だけで作ろうとしてすさまじく長ったらしいものになってしまっていた。それがスクリプトにするだけで画像二枚に収まる長さにまで縮まるとは、恐ろしや。文章の表示後、先頭に戻った際にはコモンイベントの「会話後入力待ちループ」を使って、各文章をつなげたり、メニューを開くなどの動作が出来る時間を作っている。イメージ的には通常の文章表示イベントの合間に挟み込んであるといった感じ。こちらでは文章表示後、正確に言うと文章表示が終わり、決定キーなどを押下して、文章を進めた際に再び決定キーが押されれば、そのまま文章が進み、キャンセルが押された場合にはメニューが開かれるという構成になっている。ここには多少のごまかしが含まれている。これらループに入る前には当然文章が表示されているのだが、それを進めるためにはツクール内でいうところの決定、あるいはキャンセルキーを押すこととなる。ここの仕組みではその際に押したキーを無理やり取得する形で処理に持って行っている。文章を決定キーで進めた場合にはそのまま次の文章、キャンセルで進めた場合にはそのままメニュー表示、といった感じ。普通に遊ぶ分には問題なく動作するのだが、極めて一瞬、本当にたたく感じでキーを押すと若干挙動が乱れる場合もある。いってもバグを誘発させるものではなく、文章の表示がいったん消えてしまう程度で再びキー入力を行えばすぐ解消される程度の問題なので今回はこのまま棚上げ。この問題を一番強く受けているのがマウス入力周りで、マウスのクリック入力はほかのものと異なり正確に一度のみ行われるため、他と同じように惰性で入力させることが出来ない。他のものをそのまま流用させると会話毎に二回のクリックが必要となり非常にテンポが悪い。その対策にイマイチいい案が出なかったため、今回は文章をクリックで進めて、リリースした際に次の文章に移動するという奇策を用いることにした。左クリックしっぱなしで右クリックという世にも奇妙な操作を要求されるようになってしまった。利便性としてはかなり厳しいラインだが、後々何とか対処していきたい。上の項目でも触れたメニューに関して。文章をぶった切ってでも作りたかった機能であるので紹介。基本的にはコモンイベント内で作成。各所でキャンセルキー、右クリックに対応して呼び出されるといったもの。普通のメニューを使いまわして表示を増やしたり減らしたりという手段もあったが、今回は選択肢イベントを使った独自のもので作ってみた。機能的にはセーブテキストの非表示タイトルへ戻るなどノベルゲームでよく見かけるようなもので動きとしてもほぼそのまま。それに加えて、画面的に寂しかったのと、機能拡張的なテストもかねてあらすじウィンドウをピクチャとプラグインの力を借りた力技で表示してみた。実際に動かしてみるとこんな見た目。右側のウィンドウが選択肢イベントになっているのでそちらで選択。ついでに左側のウィンドウには何か適当に情報なり説明を入れたりといった感じ。自由に入れ込めるのでいろいろ遊べそうではある。あらすじのコモンイベント。一応マップ単位で内容が変わる機能を盛り込んでみた。このあたりには脱出ゲームチックなものを作ってマップを表示してみたりとか、TRPGテイストにパラメータとかログを書き込んでみるなんて使い方も面白そう。最後にセーブ機能を使っているところ。ツクールMVの基本セーブから弄っていないのでデフォルト。変数は当然としても、表示されているピクチャ、再生中のBGM、などに関してもちゃんと保存してくれているので、途中でロードしても問題なし。このあたりは正直予想外で問答無用で初期化された状態で始まると思い込んでいたので、どうやってキャラクターの立ち絵の位置と種類を変数に変換して保存できるかみたいなことをずっと考えて見事無駄になった件は秘密。キャラクターの表示、テストプレイ今までのスクショでもちょくちょく映っていたので今更といった感じですが、キャラクターの表示に関してまとめ。キャラクターの描写に関してはピクチャの表示で行う。立ち絵の座標は左、右、中央のものをコモンイベントのほうで一括で設定して、変数に入れ込む形で適応。同じピクチャ番号を使った画像の表示を行った場合、デフォルトのままだと画面がちらついて見えることがあるため、表情の切り替え時などには二つのピクチャ番号を用いて交互に切り替えて使っていくことで見栄えを良くしている。表示テストついでにあらすじが更新されていることを確認。この後、メニュー内で「文章の表示」を使うことを考えて下のほうを空欄にしているけど、ちょっと歯抜け感が強いかな?と言う訳で実際に遊んでみる流れ。いってもほとんどの部分に関しては説明したので、軽く流す感じとなります。タイトル画面は前回作ったものをまねて制作。画像を遠景に設定したことによってツクールMV内の色調の変化の影響を受けるようになります。この画像も上のメニュー表示のものと同じ背景画像ですが、夕方フィルタを使って時間の経過を表現できたり。ツクールMV内のエフェクト機能をふんだんに使ってみるなんてことも可能。背景と称してドットのマップを描写したりもできますがさすがにそこまで組み合わせた作品は想像つかない。作ってみると少し問題点があったり、満足いかない点があったりするものの、割とありなんじゃないかという出来栄え。大切なシナリオに関してさっぱり浮かんでないのが問題ではあるものの、もう少し作りこみたいという欲求が。RPGツクールMVの可能性を探るという意味でも、今後もいろいろ試していきたいですね。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。