RPGツクール2000/システム
■パズルゲーム『岩動』を作る
(更新:2015/12/19)


パズルゲーム『岩動』の作り方を紹介します。



☆岩動とは?
岩動(いわどう)とは、YADOが制作しましたパズルゲームのタイトル名です。
このパズルゲーム「岩動」は、
『RPGツクール for mobile』の作品として2006年11月に公開されました。

▼岩動のゲーム画面


その後、2007年5月に『RPGツクール for mobile』の公開が終わり、
2007年6月にRPGツクール2000で作られた移植版「岩動2000」が公開されました。

このページでは、公開中の「岩動2000」と同じようなイベントシステムの、
基礎部分の作り方を紹介しています。

なお、完成時にどのような感じで動くのかを確認したい方は、
気紛れな空間で公開中の「岩動2000」にて確認してください。
【気紛れな空間へ行く】



☆岩動のルール
岩動はそのタイトルの通り「岩を動かすゲーム」です。

岩の上で決定キーを押しますと、その岩の移動方向を選択する選択肢が表示され、
岩の移動方向を決定しますと、その移動方向に岩が3マス移動します。

岩は明るい色の床移動できますが、暗い色の床には移動できません。

また移動する前方に他の岩がありますと、その岩の手前のマスに止まります。

ステージには、白いマスが設置されています。
この白いマスに岩が乗りますと、ステージクリアになります。
※複数の白いマスがある場合は、
 全ての白いマスに岩を乗せますとステージクリアになります。


ゲーム中、岩を移動した回数が変数にカウントされます。
そしてステージをクリアした時に、
前回クリアした時の岩の移動回数より少ない移動回数である時には、
「記録更新!」となり、クリア時の最小移動回数が変数に保存されます。
岩動2000では、岩の移動回数を減らす事で、新たなステージが出現します。



☆ミニゲームとして!教材として!
岩動のイベントシステムは、比較的簡単に作る事ができます。

ステージのマップ制作は、基本的に下層チップを並べるだけなので、
特に難しい設定はありません。

岩の配置も1個の岩イベントが完成すれば、
あとはその岩イベントをコピーするだけで、簡単に岩を増やす事ができます。

基本システムが完成すれば、複数のステージを用意したり、
岩が5マス移動するように改造したり、
岩の移動方向を決める選択肢を自作メニューの表示に変えたりと、
様々なアレンジを加える事ができます。

制作中のゲーム作品にミニゲームとして登場させるのも良いですが、
イベント制作の技術力を向上させる教材としても、ちょうど良い内容になっています。
変数などの基本的なツクールの使い方が分かり、
「ちょっと難しいイベントを作ってみたい」
と言ったツクール初心者からの脱却を目指している方には、
この岩動システムの制作をおすすめします。



☆データベースの準備
マップを作る前にデータベースの準備を行います。



■地形
データベース「地形」の画面を開いてください。
ここでは「移動可能」「移動不可」の地形を作成します。
※戦闘背景などの設定は不要です。


制作中の作品の中へ岩動を組み込む場合で、既に他の地形が設定されている場合は、
「移動不可」の地形のみを準備してください。




■チップセット
データベース「チップセット」の画面を開いてください。
ここでは岩動のマップで使うチップセットを作成します。

今回はRTPの「基本」のグラフィックを使います。
黄色の丸の付いた下層チップの地形番号のみ、
「2」(移動不可の地形番号)にしてください。

別のチップセットがある場合は、既存のチップセットを利用しても構いません。
岩の移動ができない下層チップに移動不可の地形番号を設定してください。
移動不可の地形番号以外の地形番号は、全て移動可能の下層チップになります。


データベース「チップセット」[通行・ブロック]の設定にて、
黄色の丸の付いた下層チップの通行設定を「×」か「」にしてください。
※岩が移動する下層チップ、上層チップは、全て移動可能な通行設定にしてください。



データベースの設定が終わりましたら、画面下の[OK]をクリックしてください。



☆マップを作る
岩動のステージマップを作ります。

マップを作成する画面の左下(マップツリー)にて、
ステージ選択マップ岩動用のマップを作成してください。



■ステージ選択マップ
このマップには、ステージへ移動する場所移動の設定を行ってください。


制作中の作品に岩動を組み込む場合は、
岩動のステージマップへ移動するためのマップイベントを設定して頂ければ、
ステージを選択する専用マップを用意して頂く必要はありません。



■ステージマップ
マップの設定では、
チップセット:岩動マップ用
マップサイズ:自由(今回の制作見本では「20 × 15」で設定)
スクロールタイプ:自由(今回の制作見本では「縦横ともループする」を設定)
を設定してください。

※BGMが欲しい場合は、BGMの設定も行ってください。

マップは取りあえず岩動のステージ1と同じものを作成してみましょう。


マップを作る際は、
必ず岩が移動できないマス(暗い色のマス)ステージの外側に並べて、
岩がステージの外へ出ないようにしてください。

マップのループ設定がある場合、作成しましたステージの大きさによっては、
ステージの反対側が見えてしまう事があります。

このような時には、
マップの設定マップサイズを広げて反対側が見えないようにしてください。



☆スイッチ・変数
スイッチと変数の番号使用内容の一覧表です。

スイッチ
番号 名前 使用内容
0001 クリア確認 岩を移動した後にON。クリアの有無を確認。

変数
番号 名前 使用内容
0001 移動回数 岩の移動回数をカウントします。
0002 X座標 岩のX座標を設定する時に使用。
0003 Y座標 岩のY座標を設定する時に使用。
0004 ID 地形IDやイベントIDを読み取る時に使用。
0005 X座標± 変数0002番の値を変える時に使用。
0006 Y座標± 変数0003番の値を変える時に使用。
 
0011 戻りマップID 入り口となったマップへ戻る時に使用。
0012 戻りX座標 入り口となったマップへ戻る時に使用。
0013 戻りY座標 入り口となったマップへ戻る時に使用。
 
0021 記録01 ステージ1の最小移動回数を保存します。

変数の番号は0006→00110013→0021と飛んで設定されていますが、
これは使用する変数の内容(ジャンル)によって、
変数の番号を10番単位で区切って使用しているからになります。

もちろん隙間無く変数の番号を使用する事もできますが、
このように分けておきますと、何に使っているのかが分かり易くなり、
イベントの設定ミスを減らしたり、バグの修復作業の効率性を上げたりします。



☆ステージに入る時のイベントを作る
ステージを選択するマップに、ステージ1へ移動する階段イベントを作成します。

■マップイベント「階段01」
イベント出現条件:なし
イベント開始条件:主人公が触れたとき(または[決定キーが押されたとき])
グラフィック:下り階段の絵
◆現在の場所を記憶:[0011],[0012],[0013]<現在位置を記憶し戻る時に使う
◆条件分岐:変数[0021:記録01]が0<このステージの記録が設定されていない時
 ◆変数の操作:[0021:記録01]代入,999<初期設定を行う
 ◆
:分岐終了
◆文章:\>ステージ1に入りますか?
:  :\>\c[9]現在の移動回数:\c[4]\v[21]回\c[0]
◆選択肢の表示:\>入る/\>入らない
:[\>入る]の場合
 ◆画面の消去:場所移動の設定
 ◆キャラクターの動作指定:主人公,下を向く
 ◆指定動作の全実行
 ◆場所移動:ステージ01(005,004)<ステージ1の真ん中辺りへ移動させる
 ◆画面の表示:場所移動の設定
 ◆
:[\>入らない]の場合
 ◆
:分岐終了




☆岩イベントを作る
岩イベントを作成します。

岩イベントの設置場所は、以下の場所に設定してください。


■マップイベント「岩01」
イベント出現条件:なし
イベント開始条件:決定キーが押されたとき
グラフィック:岩の絵
移動速度:標準速
◆変数の操作:[0005〜0006]代入,0
◆選択肢の表示:\>上に移動/\>下に移動/\>左に移動/\>右に移動(キャンセル:独立)
:[\>上に移動]の場合
 ◆変数の操作:[0006:Y座標±]代入,-1
 ◆キャラクターの動作指定:このイベント,上を向く
 ◆
:[\>下に移動]の場合
 ◆変数の操作:[0006:Y座標±]代入,1
 ◆キャラクターの動作指定:このイベント,下を向く
 ◆
:[\>左に移動]の場合
 ◆変数の操作:[0005:X座標±]代入,-1
 ◆キャラクターの動作指定:このイベント,左を向く
 ◆
:[\>右に移動]の場合
 ◆変数の操作:[0005:X座標±]代入,1
 ◆キャラクターの動作指定:このイベント,右を向く
 ◆
:キャンセルの場合
 ◆イベント処理の中断
 ◆
:分岐終了
◆指定動作の全実行
◆スイッチの操作:[0001:クリア確認]をONにする<クリア確認を行うイベントを起動します
◆変数の操作:[0002:X座標]代入,このイベントのX座標
◆変数の操作:[0003:Y座標]代入,このイベントのY座標
◆注釈:------------------------------------------------------------
:  :1マス目の移動
:  : 

◆変数の操作:[0002:X座標]加算,変数[0005]の値
◆変数の操作:[0003:Y座標]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0004:ID]<岩の1マス前の地形IDを調べる
◆条件分岐:変数[0004:ID]が2<前方の地形IDが移動できない地形IDである時
 ◆イベント処理の中断
 ◆
:分岐終了
◆指定位置のイベントID取得:(V[0002],V[0003]),[0004:ID]<イベントの有無を調べる
◆条件分岐:変数[0004:ID]が1以上<前方にマップイベントがある時
 ◆イベント処理の中断
 ◆
:分岐終了
◆キャラクターの動作指定:このイベント,一歩前進
◆指定動作の全実行
◆変数の操作:[0001:移動回数]加算,1<移動する事ができたので移動回数を1増やす
◆注釈:------------------------------------------------------------
:  :2マス目の移動
:  : 

◆変数の操作:[0002:X座標]加算,変数[0005]の値
◆変数の操作:[0003:Y座標]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0004:ID]
◆条件分岐:変数[0004:ID]が2
 ◆イベント処理の中断
 ◆
:分岐終了
◆指定位置のイベントID取得:(V[0002],V[0003]),[0004:ID]
◆条件分岐:変数[0004:ID]が1以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆キャラクターの動作指定:このイベント,一歩前進
◆指定動作の全実行
◆注釈:------------------------------------------------------------
:  :3マス目の移動
:  : 

◆指定位置の地形ID取得:(V[0002],V[0003]),[0004:ID]
◆条件分岐:変数[0004:ID]が2
 ◆イベント処理の中断
 ◆
:分岐終了
◆指定位置のイベントID取得:(V[0002],V[0003]),[0004:ID]
◆条件分岐:変数[0004:ID]が1以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆キャラクターの動作指定:このイベント,一歩前進
◆指定動作の全実行


※1マス目を調べるイベント設定ができれば、
 その1マス目のイベント設定をコピー&貼り付けにすれば、
 簡単に2マス目、3マス目のイベント設定を行う事ができるでしょう。

※岩を複数に増やしたい時には、この岩イベントをコピー&貼り付けしてください。
 貼り付け後にイベント設定を修正する事はありません。



☆階段イベントを作る
階段イベントを作成します。

階段イベントの1ページ目には、
このステージから退出する時の場所移動のイベントを設定します。
2ページ目には、岩を移動した後に、
全ての白いマスに岩が乗っているかどうかを調べるイベント処理を設定します。

階段イベントの設置位置は、なるべくステージの外側が良いでしょう。
※下図の黄色い丸の辺りなどがお勧めです。


■マップイベント「階段イベント」
▼1ページ目
イベント出現条件:なし
イベント開始条件:主人公が触れたとき(または[決定キーが押されたとき])
グラフィック:上り階段の絵
◆選択肢の表示:\>ステージの外に出る/\>キャンセル
:[\>ステージの外に出る]の場合
 ◆画面の消去:場所移動の設定
 ◆キャラクターの動作指定:主人公,下を向く
 ◆指定動作の全実行
 ◆記憶した場所へ移動:V[0011](V[0012],V[0013])<ステージの入り口へ戻る
 ◆画面の表示:場所移動の設定
 ◆変数の操作:[0001:移動回数]代入,0<移動回数をカウントする変数を初期化
 ◆
:[\>キャンセル]の場合
 ◆
:分岐終了


▼2ページ目
イベント出現条件:スイッチ[0001:クリア確認]がON
イベント開始条件:自動的に始まる
グラフィック:上り階段の絵(1ページ目と同じ絵)
◆スイッチの操作:[0001:クリア確認]をOFFにする
◆指定位置のイベントID取得:(005,003),[0004:ID]<白いマスの所のイベントIDを取得
◆条件分岐:変数[0004:ID]が0<白いマスの上にマップイベントが無い時
 ◆イベント処理の中断
 ◆
:分岐終了
◆BGMの演奏:J戦闘終了!<クリアした時のBGMを演奏
◆条件分岐:変数[0021:記録01]がV[0001]より大きい(オプション:ON)<移動回数が少なかった時
 ◆文章:ステージクリア!
 :  :\c[2]記録更新!
 :  :\c[3]\v[21]\c[0] → \c[4]\v[1]
 ◆変数の操作:[0021:記録01]代入,変数[0001]の値
 ◆
:それ以外の場合<前と記録が同じだった時(記録が更新しなかった時)
 ◆文章:ステージクリア!
 ◆
:分岐終了
◆画面の消去:場所移動の設定
◆キャラクターの動作指定:主人公,下を向く
◆指定動作の全実行
◆記憶した場所へ移動:V[0011](V[0012],V[0013])<ステージの入り口へ戻る
◆画面の表示:場所移動の設定
◆変数の操作:[0001:移動回数]代入,0<移動回数をカウントする変数を初期化



以上で設定完了です。
テストプレーを行い、ステージ1をクリアしてみてください。



☆補足
このページでは、
制作例としてYADO岩動2000と同じステージの作り方を紹介していますが、
実際にゲーム作品で岩動システムを使用する場合は、
岩動2000の中にあるステージとは異なるステージを作成してください。

他のYADOTのページと同様に、
この岩動システムを制作中のゲーム作品に使用しても、
岩動システムを使用している事を説明書などに書く必要はありません。
勿論、書いても問題ありません。



◎関連ページ
 ●パズルゲーム『岩動』を作る
 ○ステージを増やす
 ┣○補助イベントを追加
 ┣○ピクチャーを使った演出を追加
 ┗
○リプレイ処理を追加

 ●YADO作品リスト:岩動
 ●YADO作品リスト:岩動2000


YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール