挑戦!RPGツクールMV【2日目】
2日目の記事を書いていきます。
1日目から5日が経っていますが、何をしていたかと言うと、
実際にツクール公式サイトのサンプルをプレイしたり、
ニコ動で参考動画を見ていました。
一応リンク貼っときます。
RPGツクールMV サンプルゲーム|無料で遊べるニコニコゲームマガジン
【RPGツクールVX Ace】スクリプト講座part1~コンソールとテキスト表示~ ‐ ニコニコ動画:GINZA
RPGツクール2でRPG作っているところを解説実況 Part1 ‐ ニコニコ動画:GINZA
友人が作った破壊力の高いRPGを実況 Part1 ‐ ニコニコ動画:GINZA
ちなみにプレイしたサンプルは「FILAMENT」と
「エミールの小さな冒険」の2作です。
3番目と4番目のリンクにあるRPGツクール2の方は、
エディタの使い方ではなく、
実際にRPGゲームのストーリーやバランス、
イベントなどの作り方の参考として見ました。
RPGに限られますし、エディタ面では参考にはなりませんが、
ぶっちゃけ面白かったので見続けちゃいました。
脱出ゲームを作ろう!
最初は簡単なゲームを作りたいので、
クリムゾンルームのようなアイテムを探索したり
仕掛けを解いたりして部屋から脱出するゲームを作りたいと思います。
という訳で簡単な部屋と開始イベントを作成。
・暗黒空間
・見知らぬ部屋
・廊下1
の3つのマップを作成しました。
暗黒空間は開幕のイベントで使う部屋です。
こんな感じですぐにイベントで見知らぬ部屋に飛びます。
自動実行のイベントはセルフスイッチで解除するのを忘れずに。
こちらが見知らぬ部屋なんですが、
新規マップで「タイルセット」を"近代化内装"にして、適当に作りました。
小物を調べたら適当にメッセージが出るようにしています。↓
ここで注意なのですが、
EVページの左下の「プライオリティ」を"通常キャラと同じ"にしなければ、
プレイ時に調べてもイベントが起きないので気を付けてください。
鍵を作る!
脱出ゲームの基本となるのが、
・鍵を手に入れること
・鍵を使って扉を開くこと
の2つですよね。
それを実装していきたいと思います。
ちなみに、自動でアイテムを使うのではなく、
特定の場面でアイテムを使うと効果が発揮するようにします。
具体的に言うと、
「鍵を持っている状態で扉を調べると勝手に鍵が開く」のではなく、
「扉の前でメニュー画面から鍵を使うと鍵が開く」ようにします。
こっちの方が難易度が上がりそうなので。
まずはデータベースを開き、アイテム欄を表示したら、
初期設定にある"ポーション"を"見知らぬ鍵"に変更します。
そしてアイテムの使用効果を変更するのですが、
ここで、"コモンイベント"なるものを使います。
コモンイベントとは?
一連の動きをまとめたものです。
色々な場面で繰り返し使うものをコモンイベントとして登録することで、
かなり楽が出来ます。データベースから作成します。
今回は2つのコモンイベントを作成します。
1つ目は、場所チェック。
プレイヤーの現在地を変数に代入します。
イベントの「変数の操作」を選び、
「オペラント」の"ゲームデータ"から、
・マップID
・プレイヤーのマップX
・プレイヤーのマップY
・プレイヤーの向き
以上の4つを変数に代入するコモンイベントを作成します。
変数は数値などを入れておく箱です。
直接データを参照できれば楽なんですが、
それができないので変数に入れておき、あとで参照します。
2つ目は、鍵の処理。
さっき作った"場所チェック"を呼び出し現在地を取得したら、
そこが扉の前かどうかを条件分岐で判定します。
条件は、面倒臭かったのでスクリプトで書きました。
$gameVariables.value(1)==1 &&
$gameVariables.value(2)==14 &&
$gameVariables.value(3)==4 &&
$gameVariables.value(4)==6
ここで、$gameVariables.valueは変数を意味しているのですが、
どうしてこれが変数を意味しているか分かったかと言うと、ググりました。
「RPGツクール スクリプト」とかでググれば大体でます。
そして扉の前だったら、鍵を消滅させてスイッチをONにします。
あとは、適当な場所にイベントを作って「アイテムの増減」から鍵が手に入るようにし、
スイッチがONになったら場所移動できるイベントを作ってやれば終わりです。
ついでに、データベースのシステム欄にある「効果音」から、
アイテム使用サウンドを"なし"にしておきました。うるさかったので。
また、「メニューコマンド」からスキルや装備を非表示にしときました。使わないので。
メニューのレベル、HP、MP、職業の非表示
最後に、このゲームに戦闘なんてないので、
必要ないUIを非表示にしたいと思います。
そこで、最新機能のプラグインを作ってみました。
NoStatusMenuScreen.js
(function() { Window_Base.prototype.drawActorLevel = function() {} Window_Base.prototype.drawActorClass = function() {} Window_Base.prototype.drawActorHp = function() {} Window_Base.prototype.drawActorMp = function() {} })();
メニューで各種パラメータを表示する関数を空にしただけです。
もしかしたら後々バグるかも…。(そしたら報告しますね)
これを適当なエディタ(僕はSublime)でjavaScriptとして保存し、
ツクールエディタのメニューにある「ゲーム」→「フォルダを開く」
でフォルダを開いたら、「js」→「plugins」の中に入れます。
そしたら今度はツクールエディタのプラグイン管理(パズルピースのマークorツールから)
を開き、イベントと同じようにダブルクリックしてプラグインを設定して終わりです。
こんな感じで、脱出ゲームを目指して作っていきます。
それでは、また。