RPGツクール2000/自作戦闘【サイトトップへ戻る】
■アクションRPGの戦闘システムを作る
(更新:2020/08/08)


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



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

ショートカット
■アクションRPGの戦闘システムについて
■キー設定
■スイッチ・変数の番号について
■イベントIDについて
■地形IDについて
■敵キャラについて
■マップイベント「初期設定」
■戦闘アニメに関して
■キャラクターの動作指定に関して
■変数の操作の「V」について
■制作開始時の状態
■関連ページについて

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

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


  
■アクションRPGの戦闘システムについて

アクションRPGの戦闘システムは、マップイベントで作られた敵キャラをマップ上に歩かせ、
主人公と敵キャラがマップ上でリアルタイムに戦っていく戦闘システムの事を言います。



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



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


▲トップへ戻る▲


  
■キー設定

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

またキーを押し方や他のキーとの組み合わせなどによって、
複数のキー設定を用意する事もできます。

キーの押し方 処理内容の一例
決定キーを押してすぐに離す ・攻撃[小]
・左手に装備した物で攻撃
取り消しキーを押してすぐに離す ・攻撃[中]
・魔法発動
・右手に装備した物で攻撃
・武器を構える、武器をしまう
・リロード(銃を装備している場合)
・ジャンプ
・アイテム使用
・メニュー画面表示
Shiftキーを押してすぐに離す ・武器変更
・アイテム使用
・メニュー画面表示
決定キーを1秒以上押し続けて離す ・攻撃[中][大]
・溜め攻撃(遠距離攻撃)
・回転攻撃
・魔法発動
・リロード(銃を装備している場合)
取り消しキーを1秒以上押し続けて離す
決定キーを押し続け ・防御
・移動速度変更(ダッシュ、ゆっくり移動)
取り消しキーを押し続け ・防御
・マップ表示などの補助機能実行
・メニュー画面表示
決定キー押し続け+方向キー ・押した方向へジャンプ(攻撃回避)
・その場で方向転換(防御方向)
・装備変更(武器、魔法、アイテム)
取り消しキー押し続け+方向キー
決定キー押し続け+取り消しキー ・攻撃[大]
・アイテム使用
・メニュー画面表示
決定キー押し続け+Shiftキー ・アイテム使用
・装備変更(武器、魔法、アイテム)
・メニュー画面表示
取り消しキー押し続け+Shiftキー



Shiftキーの押し続けや連打は、あまりお勧めできません。
Shiftキーと他のキーとの組み合わせも、操作性の問題からあまりお勧めできません。
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は、
敵キャラ以外のイベント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にする必要があるため、
敵キャラ以外のマップイベントを先にマップ内に設定した上で、
敵キャラの設定を行った方が良いでしょう。

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


▲トップへ戻る▲


  
■マップイベント「初期設定」

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



マップイベント「初期設定」には、敵キャラのHPを設定したり、
主人公のHPを画面上に表示するためのピクチャー画像を表示したりと、
戦闘システムを動かすための準備処理を行います。



マップイベント「初期設定」のイベントIDはイベントID1番にしておくと、
敵キャラとマップイベント「初期設定」が重なった時に、
イベントIDが大きい敵キャラのイベント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表示を設定します。


▲トップへ戻る▲



◎関連ページ

●自作戦闘とは?

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