RPGツクール2000/システム【サイトトップへ戻る】
■パズルゲーム『岩動』を作る
(更新:2020/07/05)


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


ショートカット
■岩動とは?
■岩動のルール
■ミニゲームとして!教材として!
■データベースの準備
■マップを作る
■スイッチ・変数
■ステージに入る時のイベントを作る
■岩イベントを作る
■階段イベントを作る
■補足


  
■岩動とは?

岩動(いわどう)とは、YADOが制作したパズルゲームのタイトル名です。

パズルゲーム「岩動」は『RPGツクール for mobile』の作品として2006年11月に公開しました。

▼『RPGツクール for mobile』の岩動のゲーム画面


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

このページでは、公開中の「岩動2000」と同じようなイベント処理の作り方を紹介しています。

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


▲トップへ戻る▲


  
■岩動のルール

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

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


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

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

ステージ上にある全ての白いマスに岩が乗っかると、ステージクリアになります。



ゲーム中には、岩を移動した回数が変数にカウントされます。

そしてステージをクリアした時に、
前回クリアした時の岩の移動回数より少ない移動回数である時には、
記録更新!」となり、クリア時の最小移動回数が変数に保存されます。

岩動2000では、岩の移動回数を減らす事で、新たなステージが出現していました。


▲トップへ戻る▲


  
■ミニゲームとして!教材として!

岩動のイベント処理は、比較的簡単に作る事ができます。

マップの作成は、基本的に下層チップを並べるだけなので簡単に設定できます。

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

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

制作中のゲーム作品にミニゲームとして登場させるのも良いですが、
イベント制作の技術力を向上させる教材としても活用できます。

変数の使い方などの基本的なツクールの使い方が分かり、
「ちょっと難しいイベントを作ってみたい」
と言ったツクール初心者のレベルアップ教材としても、ちょうど良い内容になっています。


▲トップへ戻る▲


  
■データベースの準備

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



■地形

データベース「地形」にて、「移動可能」と「移動不可」の地形を作成してください。

※戦闘背景などの設定は不要です。





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





■チップセット

データベース「チップセット」にて、岩動のマップで使うチップセットを準備してください。



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



別のチップセットがある場合は、既存のチップセットを利用しても構いません。

岩の移動ができない下層チップに移動不可の地形IDを設定してください。
それ以外の下層チップには移動不可の地形ID以外の地形IDを設定してください。





データベース「チップセット」[通行・ブロック]の設定にて、
黄色の丸の付いた下層チップの通行設定を「×」か「」にしてください。

岩が移動する下層チップ、上層チップは、全て移動可能な通行設定にしてください。




最後に画面下の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をクリアしてみてください。


▲トップへ戻る▲



■補足

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


▲トップへ戻る▲



◎関連ページ

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

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

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