RPGツクール2000/自作戦闘【サイトトップへ戻る】
■自作戦闘とは?
(更新:2020/08/08)


自作戦闘に関する基本情報が書かれたページです。

RPGツクール2000で自作戦闘を作ろうと考えている方で、
特にYADOTにある自作戦闘を作る方は必ずご覧ください。

ショートカット
■自作戦闘とは?
■制作の基本
■様々な物が自作になる!
■自作戦闘の制作前の準備
■雑記


  
■自作戦闘とは?

RPGツクールには初めから戦闘システムが用意されており、
RPGツクール2000にはフロントビュータイプの戦闘システム、
RPGツクール2003にはサイドビュータイプの戦闘システムが用意されています。

RPGツクール2000の戦闘画面 RPGツクール2003の戦闘画面

この初めから用意されている戦闘システムの事を「デフォルト戦闘」と呼んでいます。

それに対し、デフォルト戦闘を使わずに、
イベントコマンドの設定で独自の戦闘システムを作る事を「自作戦闘」と呼んでいます。

▼YADOTで作り方を紹介している自作戦闘
自作フロントビュー(上級) アクションRPG

自作戦闘の場合、制作者が考えている理想の戦闘システムを作る事ができる反面、
その理想の戦闘システムの作り方を一から全て制作者が考える必要があります。

基本的に制作が難しく、質問掲示板で作り方を聞いても良い回答を得るのは難しいです。

またバグなどの問題が発生した場合は、全て自力が解決していく必要があり、
制作ハードルはかなり高いです。


▲トップへ戻る▲


  
■制作の基本

自作戦闘の制作に関するアドバイスです。



■制作意欲は重要!

まず大事なのは「自力で完成させる!」と言った制作意欲です。

「問題があったら誰かに聞けばいいや〜」などの甘い考え方では、
最後まで完成させるのは難しくなるでしょう。

「全く人に頼ってはいけない」とは言いませんが、
「出来る限り自分自身で問題を乗り越える!」と言う制作意欲が無いと、
最後まで完成させるのは難しいでしょう。



■時間がかかる!

自作戦闘はとにかく制作に時間がかかります。

簡単な物なら1日で出来る物もありますが、
デフォルト戦闘と同じレベルの戦闘システムを作る場合は、
制作者の制作能力によっては1年以上かけても完成しない可能性があります。



■まずはメモから

自作戦闘の制作は、まずはメモ書きから始めると良いでしょう。

このメモ書きでは、詳細なイベント設定は書かずに、
大まかな情報(こんな感じにしたいと言った希望)だけを書き出します。

・必要なイベントの設定タイトルと設定内容
・操作方法
・主人公や敵の行動内容
・簡単な画面のレイアウト
・必要な素材

必要なイベントの設定タイトルと設定内容とは、
自作戦闘を動かすのに必要なイベントの設定タイトルとその内容を書き出します。

例えばフロントビュー形式の自作戦闘を作る場合は、以下のように書き出します。

設定タイトル 設定する内容
戦闘開始時の処理 出現させる敵グループを決定し、画面上に敵を表示する。
主人公のステータス画面を表示。
主人公の行動選択 「攻撃」や「特殊技能」などの行動内容を決定する。
特殊技能やアイテムでは「何を誰に使うのか」を選択する。
敵の行動選択 どんな行動を実行するのかを決定する。
敵の種類によっては「逃走」なども実行させる。
主人公や敵の行動実行 「攻撃」や「特殊技能」などを敏捷性順に実行する。
行動内容のメッセージの表示し、
戦闘アニメや効果音などの演出を実行する。
ダメージ処理 攻撃力や防御力などからダメージ量や回復量を算出する。
ダメージ量や回復量を画面上に表示する。
残りHPを調べて戦闘不能などを判断する。
主人公側の全滅で「ゲームオーバー」を実行し、
敵側の全滅で「戦闘勝利」を実行する。
戦闘終了時の処理 「勝利した」「逃走した」「全滅した」などの文章を表示。
戦闘勝利時には、戦利品の内訳を表示し、
レベルアップした時にはアップした能力値などを表示。
戦闘開始直前にいたマップへ戻る。

このように自作戦闘に必要なものを書き出しておけば、
どんなイベント設定が必要なのかを確認する事ができ、
どのように変数を使用していくのか必要な画像素材の準備などが分かりやすくなります。

また制作の途中で「アレが必要」「コレも必要」と次々と追加設定を行っていくと、
イベント設定が複雑になり過ぎて、イベント設定に手間がかかったり、
処理落ちが発生したり、原因不明のバグが発生したりと、様々な問題が発生しやすくなります。

そのため、出来る限りイベント設定を始める前に、
必要なイベント設定の設定内容を確認しておいた方が良いでしょう。



■自作戦闘は複数のイベントの集まりから出来ている!?

自作戦闘は基本的に複数のイベント処理を繋ぎ合わせて1つの戦闘システムを作ります。

例えばYADOTにある自作フロントビューを作る(初級)の場合は、
以下の4つのイベントが設定されています。

イベント名 説明
メインイベント 戦闘システム全体を動かす。
主人公の行動決定 「攻撃」や「特殊技能」などを選択する。
主人公の行動実行 選択した行動を実行する。
敵の行動選択&実行 敵の「攻撃」や「逃走」などの処理を実行する。

処理の流れとしては、自動的に始まるメインイベントを動かし、
他のサブイベントは必要に応じて呼び出して実行します。

自作フロントビューを作る(初級)の処理の流れ


このように処理を分ける事で…
主人公が敵に攻撃する主人公が敵に攻撃するイベント処理を呼び出す
主人公のHPが減った主人公のHPを表示するイベント処理を呼び出す
と言った感じに必要なイベントを呼び出して実行する事ができ、万が一バグが発生しても…
主人公の攻撃がうまく処理されない主人公の攻撃処理の所を確認する
と言ったように、問題が発生している場所も分かりやすくなります。

さらにイベントを追加する事で、
主人公が睡眠状態の時には主人公の処理を呼び出さないようにしたり、
敵ごとに独自のイベント処理を準備し、敵ごとに行動内容を変えるように設定する事もできます。



このように複数のイベント処理を繋ぎ合わせて、1つの戦闘システムを作り上げます。



■試作品から作り始めよう!

いきなり本格的な戦闘システムを作ろうとすると、
バグが多発したり、処理落ちが発生したりして、制作中断になる可能性が高くなります。

まずは試作品(最低限動く戦闘システム)を作る所から始めると良いでしょう。



自作フロントビューの試作品を作る場合は、
主人公の行動は「攻撃」「逃走」「特殊技能(1〜2個)」などと必要最低限の行動内容とします。

敵の種類も1〜2種類のみで、行動内容は通常攻撃のみ。

対戦人数は「主人公1:敵1」などにして、
取りあえず戦闘開始から戦闘終了までを動かす事ができる最低限の処理を作ります。

この試作品を作る事で問題点などを確認する事ができ、
この先、制作を続けるべきかどうか」などを確認する事ができます。



試作品の制作で最も重要な点は「早く仕上げる事」です。

主人公の行動決定は自作メニューで行う」などと決めていても、
試作の段階では、選択肢の表示を使って主人公の行動を決定するなど、
なるべく余計な演出は設定しない方が良いでしょう。

オリジナルのグラフィックを用意する場合でも、
試作の段階では取りあえず動作が確認できるベタな画像で良いでしょう。

自作メニューやHP表示などは、後からでも変更する事ができますので、
まずは「動作テストができる状態」を目指して試作品を制作しましょう。

なお、試作品と言っても特に問題が無ければ、
そのまま試作品をベースに本格的な制作に移行する事ができます。

自作戦闘の制作に慣れてくると、試作品で主人公を1人だけ設定する場合でも、
変数やピクチャ番号などは先に4人分確保しておくなど、
本格的な制作へ移行しやすい試作品が作れるようになるでしょう。



■理想と妥協

自作戦闘の制作に限らず、ゲーム制作全般では常に…
「理想」を追求するか「妥協」するか
の選択が必要になります。

例えば、RPGの自作戦闘を作る時に…
主人公1人につき20個の特殊技能が使えるようにする
と考えた場合、主人公が1人だけなら20個の特殊技能を準備し、
主人公が8人いる場合は、最大で160個の特殊技能を準備する必要があります。

仮に1つの特殊技能の設定に30分かかるとしたら、
160個の特殊技能を設定だけで80時間以上の時間がかかり、
1日2時間の作業で1カ月以上はかかります。

もしも作業時間を減らす場合は、以下のような妥協が必要になるでしょう。
●特殊技能の数を減らす。
●同じ特殊技能を複数の主人公で使えるようにする。
●特殊技能が使えない主人公を作る。
●戦闘アニメの作成数を減らし、主人公に対して使用する特殊技能の場合は、
 画面のフラッシュ効果音の演奏のみの演出にする。

理想を追求する事は良い事ですが、
戦闘システムが完成しなければ、理想を追求する意味がありません。

戦闘システムを完成させる事を第一に考えた場合、
時には妥協する必要がある」と言った事は覚えておいてください。



■作り直しもアリ!?

自作戦闘の制作に慣れていない場合、制作の過程で原因不明のバグが発生したり、
スイッチや変数の使い方が悪くて作業効率が悪くなったり、
ピクチャーやループ処理の設定方法が悪くて処理落ちが発生したりと、
様々な問題が発生する事があります。

このような場合、「せっかくここまで作ったのだから、何とかしたい」と考えて、
無理に制作を進める事が多くあります。

最終的に何とかなれば良いのですが、原因不明なバグが直らないなどの改善が見られない場合は、
戦闘システムを一から作り直す決断を下した方が良い場合があります。

これは「30時間かけて改善を目指すなら、その30時間で作り直そう」と言った考え方です。

このような大きな決断を下すのは中々難しいかもしれませんが、
ゲーム制作では、時に作り直しや制作中断などの大きな決断が必要になる事がある
と言った事は忘れないでください。


▲トップへ戻る▲


  
■様々な物が自作になる!

自作戦闘では、主人公の行動処理、特殊技能やアイテムの使用処理、敵の行動処理、
ダメージ量や回復量の計算や画面の表示、主人公のステータス画面の表示など、
戦闘に関わる殆どの物が自作になります。

データベースにある特殊技能、アイテム、敵キャラ(敵グループ)、用語などの設定も、
データベースから直接取得する事ができないので、全てイベントで設定する必要があります。

主人公の能力値などの情報は、データベースから変数へ取得する事ができますが、
必殺率やオプションなどの設定は、イベント設定で設定する必要があります。

AI行動(自動戦闘)を導入したい場合は、そのAI行動の処理も自作する必要があります。

戦闘用の素材(敵の画像など)は、
ある程度はRTPにある素材やネット上で公開されている素材で対応する事ができますが、
自作戦闘で使うメニュー画面などの画像になりますと、自作する必要性が出てきます。

画像に関しては、一応「誰かに描いてもらう」と言った手段もありますが、
代表作の無い無名なツクラーに対して、無償で画像を描いてくれる絵描きさんは殆どおらず、
仮に居たとしても、せいぜい数枚の画像を描いてくれる程度でしょう。

自作戦闘の制作では、少なからず自力で画像を描く必要性が出てきます。


▲トップへ戻る▲


  
■自作戦闘の制作前の準備

◆ツクールは常に最新バージョンに!

2020年8月現在、RPGツクール2000の最新バージョンは「1.52」になります。

現在お使いのツクールのバージョンの確認は、
マップ作成画面の上部メニュー「ヘルプ」→「バージョン情報」から確認できます。

バージョンアップをしていない場合は、
ツクールweb(ツクール公式サイト)からアップデータをダウンロードしてください。
ツクールwebトップ→「サポート」→「アップデート」→「RPGツクール2000」

なお、RPGツクール2003のアップデータの配信は終了しており、現在はダウンロードできません。



◆ツクールの知識を身に付けよう!

ツクールに関する知識が多ければ多いほど、制作できる幅が広がります。

一応全てのイベントコマンドの使い方は知っておいた方が良いでしょう。

YADOT内にあるツクールの仕様処理落ちに関するページも見た方が良いでしょう。
【ツクールの仕様に関するページを開く】
【処理落ちに関するページを開く】
※「定期的に並列処理する」を使うと原因不明のバグが発生しやすくなりますので、
 「定期的に並列処理する」を使用する場合は、「ツクールの仕様」のページにある
 「定期的に並列処理する」の仕様を確認しておいた方が良いでしょう。


自作戦闘の制作では、必ず変数を使う事になります。
変数の使い方が分からないと自作戦闘の制作は非常に難しくなります。
【変数について説明しているページを開く】

その他YADOT内で気になるページがありましたらチェックしてみてください。


▲トップへ戻る▲


  
■雑記

お時間があるようでしたら、ご覧ください。



■質問掲示板で自作戦闘の作り方を聞いても良い返事が来ない理由

質問掲示板には時々…
「サイドビューの作り方を一から教えてください」
などと、自作戦闘の作り方を聞いてくる方がいます。

このような場合は、多少のアドバイスを書く事はあっても、
全ての作り方を説明する事はまずありません。

これは不親切とかではなく、単に説明が不可能に近いからです。
説明が不可能に近いと言う理由は以下の通りです。



◆回答者はサンプルデータを作る必要がある

詳しい作り方を回答するためには、回答者はサンプルデータを作る必要があります。
このサンプルデータを作ると言った手間を考えた時点で、殆どの回答者は回答を諦めます。

頑張ってサンプルデータを作ったとしても、質問者が求めている内容とは違っていた時には、
サンプルデータを作り直す必要があり、サンプルデータを作るだけでもかなりの負担になります。



◆質問者には「理解力」が必要である

サンプルデータを作り、頑張って作り方を説明しても、
質問者に説明を理解する力が無いと作り方を伝える事が出来ません。

特に変数の使い方が分からない方に自作戦闘の作り方を説明するのは、
小学校1年生に中学・高校レベルの数学を教えるくらいに難しく、
自作戦闘の内容によっては「説明は不可能」と言っても良いくらいです。

例えサンプルデータを渡したとしても、他人が作ったイベント内容を理解するのは難しく、
場合によっては、自力で自作戦闘が作れるくらいのレベルが無いと、
サンプルデータの中身を理解する事ができない事もあります。

なお、質問掲示板に「初心者です」などと書いてある場合は、
「初心者には理解するのは難しい」と判断して、回答を行わない事もあります。



◆理想と現実とのギャップ

質問者の中には、
「ちょっと説明を受ければすぐに出来るだろう」
「サンプルデータがあれば簡単に出来るだろう」

などと自作戦闘が簡単にできる物だと考えている方がいます。

しかし実際には数十時間、場合によっては数カ月もの時間をかけて、
徐々に作り上げていくものです。

「意外と制作に時間がかかる」
「作るのはかなり面倒である」

などと制作の面倒臭さ(制作の現実)を知った時に、
質問者が途中で制作をやめてしまう事があります。

過去に何日もかけて質問掲示板で自作戦闘の作り方を説明していた所、
「制作が大変なのでやめたいと思います」
の一言で今までの回答が無駄になった事がありました。

このような制作中断のリスクを背負ってまで、
自作戦闘の作り方を回答する方は少ないでしょう。



◆「作れる=説明できる」ではない!

質問者の中には、
「自作戦闘が作れる者なら自作戦闘の作り方を説明する事が出来る」
と考える方がいます。
しかし実際には「作れる」と「説明ができる」はかなり異なります。

自分で使う自作戦闘の場合、
「このイベントコマンドはどうゆう意味で設定しているのか」
などを誰かに説明する必要がありません。

しかし作り方を説明する場合は、
・なぜこのような設定を行うのか?
・1つ1つのイベントコマンドや変数の役割は何なのか?
・ピクチャーのサイズが変わった時にはどこを直せば良いのか?

などとイベント設定に関する細かい補足説明が必要になります。

場合によっては、補足説明用の画像(説明書)を用意したり、
補足説明用のサンプルデータを用意する場合もあります。

YADOT自作フロントビュー(上級)で言えば、
自作戦闘のイベント設定に1ヶ月かかり、説明書の制作に1ヶ月半かかっています。
もしも自分で使う自作戦闘の場合は、説明書の1ヶ月半は必要無くなります。

このように自分で使う自作戦闘を作るよりもはるかに多くの手間と時間がかかりますので、
自作戦闘が作れる者が「作り方の説明が出来る」と言う事にはなりません。



◆時には無理難題な質問がやってくる

時には無理難題な質問がやってくる事があります。

例えば、
「変数が使えませんが、どうしても自作戦闘を作りたい」や、
「○○(市販のゲーム)のようなシミュレーションRPGが作りたい」などです。
このようなベテランのツクラーでも作れるかどうかが分からない質問は、
基本的に無視されます。

また、
「デフォルト戦闘並みの高度な自作戦闘の作り方を一から教えて欲しい」
と言った質問も無理難題に近いと言えます。

デフォルト戦闘に近いものですとYADOT自作フロントビュー(上級)がありますが、
YADOT自作フロントビュー(上級)のイベントコマンドをテキスト化すると、
40万文字以上の文字数になります。
つまり「高度な自作戦闘の作り方を教えて♪」と言った質問は、
私のために40万文字の回答文を書いてね♪」と言っているようなものです。
これは「ほぼ回答は不可能」と言っても良いでしょう。

なお、多くの質問掲示板には、全角2000文字までなどと言った文字数の制限があります。
そのため、実際に細かいイベント設定を書きたいと思っても、
質問掲示板の仕様で書けない事がよくあります。



◆イベント内容が分からなければバグの原因は回答できません!

自作戦闘を作っている質問者から、
「アクションRPGを作っていますが、敵に攻撃してもダメージが減りません」
と言った質問がやってくる事があります。
このような質問は、かなり詳しいイベント設定を質問掲示板に書かないと、
バグの直し方などを回答する事はできません。

一言に「アクションRPGを作っている」と言っても、
100人が作れば100通りの戦闘システムが出来上がります。

例えYADOTの自作戦闘を基に作ったとしても、
たった1個のイベントコマンドの設定ミスにより、自作戦闘が動かなくなる事はよくあります。

過去にYADO制作のサンプルが「バグッている」と言った問い合わせがありました。
その質問者は、
イベントコマンドを5個追加したが、自分の設定は完璧だからサンプルの方がバグっている!
と言っていました。
そこでそのバグが発生している作品データを受け取り、追加したイベント設定を確認してみた所、
1つの【変数の操作】の設定が「加算1」ではなく「代入1」になっており、
それが原因でサンプルが正常に動いてなかった事がありました。

もしも自作戦闘のバグの原因や解決方法などを誰かに聞きたい時には、
・質問掲示板に詳細なイベント設定を書き出す。
・戦闘システムが見れる最低限の作品データを質問掲示板などに公開する。
・メールでデバッグを受け付けているツクラーに作品を送って見てもらう。

などの対応が必要です。

質問者の中には「作品の一部でも公開したくない」と言う方がいますが、
このような方は自力で問題を解決して頂くしかありません。



以上の理由から「自作戦闘の作り方を教えて」の質問は基本的に無視される傾向があります。

自作戦闘の制作はまずイベントコマンドの使い方などの基礎を学び、
さらに自作メニューの制作などでイベント設定の経験値を積んだ上で自作戦闘の制作を行います。

自作戦闘はツクールを買ってすぐに作れるようなものではありません。



■ちょっとした設定ミスに気をつけろ!

自作戦闘の制作ではバグの発生が頻繁に発生しますが、
そのバグの大半はちょっとした設定ミスによるものが多いです。

例えば、変数の操作で「代入」と「加算」の設定を間違えたり、
ピクチャーの表示の設定でピクチャーの番号を間違えて設定していたり。

イベント設定をコピー&貼り付けで設定した時に、
貼り付け後に変更しなければならない設定をそのままにして、バグが発生する事があります。

例えば、敵1のマップイベントをコピーして敵2のマップイベントを設定した場合、
貼り付け後に「イベント出現条件」などの設定を敵1のままにしてしまうと、
「敵1を倒したら敵2も一緒に消えた」と言った問題が発生する事があります。

このようなちょっとしたミスを気付くためには、こまめにテストプレーを行う事が大事です。


▲トップへ戻る▲



◎関連ページ

●自作フロントビューを作る
●アクションRPGの戦闘システムを作る
●ピクチャー弾丸を飛ばす
●ピクチャー放物線移動処理

●バグ対策(デバッグテクニック)

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