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


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

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



☆自作戦闘とは?

自作戦闘はその名の通り「自作する戦闘システム」の事を言います。

制作者が考えているオリジナルの戦闘システムを作る事が出来る反面、
一から全ての作り方を制作者自身で考えて作る必要があります。

もしもバグなどが発生しても質問掲示板などでの解決は難しく、
殆どの場合は制作者が自力で解決していく事になります。

自作フロントビュー(上級) アクションRPG



☆デフォルト戦闘

デフォルト戦闘」とは、ツクールに初めから用意されている戦闘システムの事を言います。

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

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

このデフォルト戦闘ではない独自の戦闘システムを作りたい時には、
自作戦闘を作る事になります。



☆制作の基本

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



■制作意欲は重要!

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

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

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



■時間がかかる!

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

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



■まずはメモから

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

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

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

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

例えばフロントビュー形式の自作戦闘を作る場合、以下のイベント設定が必要になるでしょう。

・主人公の行動選択(攻撃や特殊技能など、どんな行動を起こすのかを決める処理)
・主人公の行動実行(攻撃や特殊技能などを実行する処理)
・敵のダメージ処理(敵の残りHPを調べて敵の死亡&戦闘終了を判断する処理)
・敵の行動選択(どんな行動を実行するのかを決める処理)
・敵の行動実行(攻撃や逃走などを実行する処理)
・主人公のダメージ処理(ダメージ量の表示。ゲームオーバーのチェックを行う)
・画像の表示(戦闘画面のレイアウト。敵キャラの表示や主人公のHPの表示方法)

このように自作戦闘に必要なものを書き出しておけば、
制作の流れ(どこから制作していくのか)などが解りやすくなります。



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

自作戦闘は複数のイベント処理を合体させて1つの戦闘システムを作ります。

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

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

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

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


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

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





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

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

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

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

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

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


試作品を作る事で制作に関する問題点制作に必要な時間などを確認する事ができます。

ここで「制作を続けるかどうか(制作する価値があるかどうか)」を確認した上で、
本格的な制作を始めると良いでしょう。


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

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

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

自作メニューやHP表示などに関しては、
試作品が完成した後からでも追加設定する事が出来ますので、
まずは「動作テストができる状態」を目指して試作品を制作してください。


なお、試作品と言っても特に動作状態などに問題が無ければ、
そのまま本格的な制作に移行する事もできますので、
決して「試作品が無駄になる」と言う事は無いでしょう。



■理想と妥協

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

例えば、RPG用の自作戦闘を作る中で、
主人公1人につき20個の特殊技能が使えるようにしたい
とした場合、主人公1人なら20個の特殊技能となり、
主人公が8人の場合は、160個の特殊技能を設定する事になります。

仮に1つの特殊技能の設定に30分かかるとしたら、
8人分(160個)の特殊技能の設定だけで80時間以上の時間がかかり、
1日2時間の制作時間で1ヶ月以上もかかります。

また自作戦闘なので以下のようなイベント設定が必要になります。
・特殊技能を覚えたら選択できるようにする。
・MPが足りない時や沈黙の時には、特殊技能の選択ができないようにする。
・単体に使う特殊技能の場合、「誰に使うのか」を選択する処理を用意する。
・使用対象者が死亡、または逃走した場合、別のキャラに対象を変えるようにする。

このように特殊技能の設定だけでも、多くの制作時間が必要になります。



今回の設定での妥協点としては、以下のようなものがあります。
●使える特殊技能の数を減らす。
●同じ特殊技能を複数の主人公で使えるようにする。
●特殊技能が使えない主人公を作る。
●主人公のHP回復などでは、
 戦闘アニメを使わずに画面のフラッシュ効果音の演奏のみの演出にする。

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

戦闘システムを完成させる事を第一に考えた場合、時には妥協も必要になると言えます。



■作り直しもアリ!?

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

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

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

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

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



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

自作戦闘では、主人公の行動処理、ダメージ量の計算、HPの表示など、
戦闘に関わる殆どの物が自作になります。

データベースの特殊技能、アイテム、敵キャラ(敵グループ)、用語などの設定は、
全てイベントの設定にする必要があり、特殊技能やアイテムを使う時の、
「どれを使うのか」「誰に使うのか」などの選択処理も自作になります。

主人公の能力値などのデータベースの情報は、変数に代入して使う事はできますが、
必殺率やオプションなどの設定は、イベント設定で用意する必要があります。

AI行動(自動戦闘)を使いたい時には、そのAI行動の処理も自作する必要があります。

戦闘用の素材(敵の画像など)は、ある程度はRTP(ランタイムパッケージ)や、
インターネット内に公開されている素材で対応する事ができますが、
自作メニューなどの戦闘システムに合わせた画像になりますと、自作する必要があります。

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

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



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

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

2017年4月現在の最新バージョンは「1.52」です。

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

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



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

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

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

YADOT内にあるツクールの仕様処理落ちに関するページも見た方が良いでしょう。
【ツクールの仕様に関するページを開く】
【処理落ちに関するページを開く】

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

ピクチャーの表示に関しても、
表示設定(ピクセル単位の表示設定)などが分かっている状態が望ましいです。

その他にYADOT内で気になるページがありましたらチェックして、
イベント設定などを実際に設定してみて、動作確認してみると良いでしょう。


  
☆雑記

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



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

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

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

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



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

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

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



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

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

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

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

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



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

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

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

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

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

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

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

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



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

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

しかし実際には「作れる」と「説明できる」はかなり違います。

自分で使う自作戦闘の場合、
1つ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トップ  このサイトは何?  気紛れな空間へ戻る  メール