RPGツクール2000/自作戦闘
■アクションRPGの戦闘システムを作る
(更新:2016/05/23)


アクションRPGの戦闘システムの作り方を紹介します。



必ず自作戦闘とは?のページを見て頂いた上で、このページをご覧ください。
【自作戦闘とは?のページを開く】

動作見本用のサンプルデータ
サンプルのダウンロードは↓をクリックしてください。
サンプルのイベント設定状況を見る場合は、
ツクールの作品データが入っているフォルダを開いて、
その中にサンプルの作品データを入れてください。
【ツクールのフォルダの開き方を見る】
このサンプルデータのイベント設定をコピー&貼り付けして、
制作中の作品に使用する場合は、
イベントの処理構造を理解した上自己責任でご利用ください。

動作確認用のサンプル内では正常に動いていたイベントが、
制作中の作品にコピー&貼り付けしたら正常に動かなくなった場合は、
明らかにコピー&貼り付けの作業に問題があった事になります。



☆アクションRPGの戦闘システムについて
アクションRPGの戦闘システムは、
マップ画面に主人公キャラと敵キャラの両方のキャラクターを表示し、
リアルタイムで敵キャラとの戦闘を行っていくものです。

YADOTでは基本的な事(よくある質問)に関する制作方法を紹介していますので、
理想の戦闘システムを作り上げるには、YADOTの戦闘システムを基に、
制作者自身で改造方法などを考えて作品を作り上げていく必要があります。



なお、ピクチャー弾丸を飛ばす処理は、別のページにて紹介しています。
【ピクチャー弾丸を飛ばすのページを開く】



☆キー設定
RPGツクール2000では、方向キー以外に決定キー取り消しキーShiftキーが使えます。
この決定キー取り消しキーShiftキー何に使うのかは、
制作者が自由に決める事ができます。

基本的に「決定キー」は「攻撃」に使う場合が多く、
YADOTのアクションRPGでも決定キー攻撃にしています。

複雑なキーの設定も可能であり、
例えば決定キーを1秒以上押し続けて離すと別の攻撃になったり、
Shiftキーを押すと武器の変更や変身などができるなど、
アイデア次第で様々な操作方法を設定する事ができます。

但し、あまり複雑なキー設定にしますと、イベント設定が複雑化するだけでなく、
プレイヤーの操作難易度が上がり、快適なゲームプレーができなくなる可能性があります。



☆スイッチ・変数の番号について
YADOTのアクションRPGで使われているスイッチや変数の番号は、
使用する内容(ジャンル)によって使い分けています。

スイッチ
番号 使用内容
0001〜0020 当たり判定の設定で使用。
0021〜0040 補助的に色々と使用。
0041〜0060 敵の位置の記憶処理に使用。

変数
番号 使用内容
0001〜0010 主人公の攻撃処理で使用。
0011〜0020 主人公の補助的な設定で使用。
0021〜0040 敵キャラの設定で使用。
0041〜0050 キャラクターの能力値を設定。
0051〜0060 ダメージ・命中率の計算で使用。
0061〜0080 敵のHPを記憶。
0081〜0100 敵の頭上ゲージ表示で使用。
0101〜0200 敵のHPを記憶。
0201〜0300 敵の位置を記憶。

【スイッチ・変数の一覧表を開く】
 ↑をクリックしますとスイッチ・変数の一覧表が表示されます。
 指定された番号の通りに先にスイッチや変数の名前を付けておくと、
 イベント設定が楽になります。


全ての番号を使用している訳ではなく、所々に使用していない番号も多くあります。
しかしYADOTのアクションRPGを設定する際は、記載通りの番号で設定してください。

なお、変数の番号に関しては、YADOTの記載されている以外の番号で設定しますと、
正常には動かなくなる可能性があります。



☆イベントIDについて
マップイベントを作成しますと、
マップイベントを作成した順番にイベントIDが設定されます。

YADOTのアクションRPGでは、攻撃範囲内のイベントIDを読み取り、
敵キャラのイベントIDがある時には、攻撃処理を行うように設定します。
【イベントIDに関する説明を見る】

複数のマップイベントが同じマスに重なりますと、
イベントIDの大きい番号が取得されます。
そのため、敵キャラのイベントIDは、
敵キャラ以外のイベントIDより大きくしておく必要があります。
例えば、
イベントID0001:宝箱
イベントID0002:敵A
イベントID0003:階段1
イベントID0004:敵B
イベントID0005:敵C
イベントID0006:
階段2
と言ったイベント設定を行った場合、階段2敵キャラが重なりますと、
階段2のイベントIDを読み取ってしまいます。
また上記のイベントIDの設定では、敵キャラであると判断する条件分岐の設定が、
◆条件分岐:変数[0004:イベントID]が2
 ◆〜敵に攻撃〜
 ◆
:それ以外の場合
 ◆条件分岐:変数[0004:イベントID]が4以上
  ◆条件分岐:変数[0004:イベントID]が5以下
   ◆〜敵に攻撃〜
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了

と言ったように複雑化してしまい、マップごとに攻撃処理を用意する必要が出てきます。

そのため、
イベントID0001:宝箱
イベントID0002:階段1
イベントID0003:階段2
イベントID0004:敵A
イベントID0005:敵B
イベントID0006:
敵C
と言った感じに、敵キャラのイベントIDを他のイベントよりも大きくする事で、
◆条件分岐:変数[0004:イベントID]が4以上
 ◆〜敵に攻撃〜
 ◆
:分岐終了
と言った感じに簡単なイベント設定で、
敵のイベントであるかどうかを判断させる事ができます。


  
☆地形IDについて
地形IDは、チップセットの下層チップに設定するもので、
例えば主人公がいるマスの地形が草原なのかなのかを判断する時に使います。
【地形IDに関する説明を見る】

アクションRPGの戦闘システムでは、
地形ID1番=障害物無し
地形ID2番=障害物有り
と言った設定を行い、壁などの障害物がある時には、
障害物の向こう側の敵キャラには攻撃が当たらないように設定します。
▼地形IDを活用する事で、壁の向こう側には攻撃が当たらないようにします。




地形IDの設定は、
まずデータベース「地形」にて歩けるマスの地形を準備してください。
既に何らかの地形設定がある場合は、壁の地形のみを準備してください。


データベース「チップセット」にて、下層チップに地形番号を設定してください。
地形番号「1」:歩けるマス(水のマス)
地形番号「2」:壁のマス
※地形番号「2」以外は、「壁ではない」と判断されます。


通行設定・ブロック」にて「」になっている設定は、「×」にしてください。


以上で地形IDの準備完了です。



☆敵キャラについて
敵キャラは、マップイベントで作成し、2ページの構成で設定します。

1ページ目は、敵キャラがダメージを受けた時のイベントを設定します。
この1ページ目は、主人公の攻撃処理からイベントの呼び出しを使って実行します。

2ページ目には、敵キャラが主人公に攻撃を行うイベントを設定します。

敵キャラのHPは、変数に設定します。
YADOTのアクションRPGでは、
敵キャラのイベントID+100=HPを記憶する変数番号
で処理しますので、敵キャラのイベントIDが「8番」である時には、
その敵キャラのHPを記憶する変数番号は「変数108番」になります。

敵キャラのイベントIDは、
敵キャラ以外のイベントIDよりも大きいイベントIDにする必要がありますので、
敵キャラ以外のマップイベントを先にマップ内に設定した上で、
敵キャラの設定を行った方が良いでしょう。

※敵キャラの詳しい設定方法は、「敵の設定」のページにて紹介します。



☆初期設定イベント
初期設定イベントは、敵キャラを設定しているマップには、
必ず1つ設定する必要があります。

初期設定イベントでは、敵キャラのHPを設定したり、
主人公のHPをピクチャーで表示したりと、
戦闘システムを動かすための準備を行います。

初期設定イベントのイベントIDは、イベントID1番にしておくと、
敵キャラと初期設定イベントが重なった時でも、
確実に敵キャラのイベントIDを読み取れるようになります。
新規のマップを作成した時には、
まず初めに初期設定イベントを設定すると良いでしょう。

初期設定イベントの設定場所は、
マップの左上などの分かりやすい所が良いでしょう。

イベント内容は、以下の通りです。
■マップイベント「初期設定」
イベント出現条件:なし
イベント開始条件:自動的に始まる
グラフィック:透明
◆画面の表示:フェードイン
◆イベントの一時消去


イベント実行内容は、あとで追加設定しますので、初めはこれだけを設定してください。

別のマップから移動してくる時には、
イベントコマンド:画面の消去を使って、真っ暗な画面にしてください。
▼設定例
◆画面の消去:フェードアウト
◆場所移動:〜敵キャラがいるマップへ移動〜

※敵キャラがいないマップ(初期設定イベントが無いマップ)へ移動する時には、
 画面の消去の設定は不要です。




☆戦闘アニメに関して
戦闘アニメは、画面上に1つしか表示する事ができません。
YADOTのアクションRPGでは、主人公の攻撃時に戦闘アニメを使っていますので、
それ以外のアニメーションの表示(主人公がダメージを受けた時など)には、
ピクチャーなどを使ってアニメーションを表示してください。



☆キャラクターの動作指定に関して
キャラクターの動作指定は、1キャラにつき、1つの動作指定しか設定できません。
例えば、主人公が攻撃する時に、主人公の行動を止める一時停止を実行した場合、
他のイベントで主人公を対象とした別の動作指定を設定しますと、
一時停止の設定が解除されてしまいます。

同じく指定動作の全解除を実行した時にも同様に一時停止などの設定が解除されます。

キャラクターの動作指定を使う時には、
これらの仕様を考慮して、イベントを設定してください。



☆変数の操作の「V」について
変数の操作の設定では、「V」が付いている設定と付いていない設定があります。
▼表示例
◆変数の操作:[0023:敵HP変数番号]代入,変数[0004]の値<「V」無し
◆変数の操作:[0024:敵HP]代入,変数[V[0023]]の値<「オペランド」の変数の設定に「V」
◆変数の操作:[V[0023]]代入,変数[0024]の値
<「操作する変数」の変数の設定に「V」

「V」が付いている設定は、「変数〜の番号の変数」を設定したものです。
変数の操作を設定する時には、「V」が付いているかどうかを確認した上で、
変数の操作の設定を行ってください。
【「変数〜の番号の変数」の説明を見る】



☆制作開始時の状態
マップを作成しましたら、初期設定イベントパーティーの初期位置を設定してください。
壁の当たり判定を設定する場合は、壁となる下層チップも設定してください。


敵キャラ以外のイベント(別のマップへ行く階段イベントなど)を設定する時には、
この段階で(敵キャラを設定する前に)設定してください。



☆関連ページについて
YADOTのアクションRPGを動かすには、
・基礎ページ(現在ご覧になっているページ)
・主人公の攻撃処理
・敵の設定

の3つのページは必ず必要になります。
それ以外のページは必要に応じてご覧ください。

ページタイトル 内容
備考
基礎ページ 制作を始める前に必ず見ておく基礎ページです。
必見!
制作に必要な情報を見る事ができます。
イベントIDの管理 イベントIDの管理に関するページです。
制作テクニックです。
主人公の攻撃処理 決定キーを押すと攻撃を行う処理。
必要な処理。
様々な攻撃範囲の設定 様々な攻撃範囲の設定方法を紹介。
「主人公の攻撃処理」の後に見てください。
武器とキー処理 武器装備時、または溜め攻撃時の攻撃範囲の変更を紹介。
「主人公の攻撃処理」の後に見てください。
敵の設定 基本的な敵キャラの設定方法を紹介。
必要な処理。「主人公の攻撃処理」の後に見てください。
ダメージ&命中率の計算 攻撃力や防御力を使ったダメージ&命中率の計算を設定。
「敵の設定」の後に見てください。
マップごとに敵HPを管理 別のマップへ移動しても敵HPが初期化しないように設定。
「敵の設定」の後に見てください。
敵の位置を記憶 別のマップへ移動する前に敵の位置を記憶します。
「敵の設定」の後に見てください。
戦闘アニメの表示制限 宝箱などを調べても戦闘アニメが表示されないように設定。
「敵の設定」の後に見てください。
主人公のHPを表示 主人公のHP表示を設定します。
敵の設定までが終わりましたらご覧ください。
敵のHPを表示 敵のHP表示を設定します。
敵の設定までが終わりましたらご覧ください。



◎関連ページ※アクションRPG以外のページ
 ●自作戦闘とは?


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