改造のやり方の説明です。

注意事項


※このページは改造方法の一例を挙げているだけです。
このページは改造を助長するためのものではありません。


はじめに


のびハザを改造するには、基本的なツクールの使い方をマスターしておく必要があります。
ツクールの使い方については、 やどっと 辺りを参考にするといでしょう。

元々のびハザはRPGツクール2000のゲームですが、
2003、VX、VXAce、MVでも作ることは可能です。

のびハザの改造に係わる基本的な疑問は、制作関係の質問を参照。
質問スレはのびハザの攻略などの質問をする場所ですので、
ツクールの基本操作については他所で質問してください。

新米作者が手軽に改造の基礎を学んだり、最新の技術を習得できるように、
改造の教本として製作された改造版もあります。
ドダイ版は基本的な製作の知識が身に付くよう解説がされているほか、
主人公の交代や武器の追加等が、スムーズに行えるようなシステムも導入されています。
改造はやってみたいけど、何から始めればいいのかわからないと悩むなら、
これを利用してみると良いでしょう。

また、新訳版やG版の様な、派手なアクションゲームを作りたいという方は、
高速戦闘のびハザ製作ツールを利用してみるのもいいかもしれません。
これはその名の通り、本家のびハザよりも高速でスタイリッシュな戦闘が可能な、
戦闘システムのモデルとして製作された改造版です。
弾丸システムや戦闘アクションの管理などが一元化されており、
武器やキャラクター等を追加し易い構造になっているのも特徴です。

製作に行き詰ったときは、先人たちの作品をツクールで覗いてみるのもいいでしょう。
最初はソースの意味が分からなくても、少しずつ手を加えながら試行錯誤していけば、
少しずつでも内容を理解できるようになっていくはずです。

なにはともあれ、根気強くベースとなるシステムを理解していくことが改造の第一歩です。
初心者が改造版製作を始めて数週間で、まともな改造版を完成させることは無理だと思います。
手馴れた作者であっても、wikiに掲載されているレベルの作品を製作するには、
短くても3ヶ月、長ければ2年以上かかることもあります。
(※参考までにaaa氏は本家のびハザ2の製作に対して、構想段階を含め10年近くもの歳月をかけています)
あまり焦らずに、半年、一年とじっくりと腰を据えて製作に取り掛かりましょう。
ゲーム製作というのは、そういうものです。

なお、のびハザ特有のソースに関してどうしても分からないことがある場合に限り、
のびハザ掲示板 内のドラえもん のび太のBIOHAZARD制作関係質問所にて随時質問を受け付けております。
※本スレ、質問スレ等、該当スレッド以外のスレッドで製作関係の質問をするのは立派な運営妨害行為になりますのでご遠慮願います。


用意する物


  • RPGツクール製品版(RPGツクール2000Value版、2003、VX、VXAce、MV等)
  • 改造ベース(本家リマスター版Arrange mode等。バグが少なく、システムが安定しているものが望ましいです)
  • 素材(なくてもいいです。使いたい方はこちらをどうぞ)


改造するときの注意

「改造したいがやり方が分からない。」「よく機能が分からない」

と言う人がいますが、分からないのなら作らないでください。
少々言葉がきついかとは思いますが、こういう人には作ってほしくないです。
どうしても作りたいならまず短編のゲームを作ってみましょう。
ハンドブックをよく読みなおしてみたり使い方をまず学びましょう。
最低限でも
スイッチの使い方、変数の使い方、イベントの作成を学びましょう。

改造するときの注意を言います。

  • 挫折しない事。
  • スイッチの使い方等などを学ぶ事。

これであなたものびハザの改造ができるようになりました。
あとはシナリオ、新キャラ等などはメモ帳などにお書きください。


のびハザを取り巻く環境の変化と課題

のび太のBIOHAZARDを取り巻く環境も随分と変化してきました。
RPGツクール2000が公開された当初は一般に流通していたOSの殆どが32bitのものであり、
ハード面でもシングルコアが一般的でした。

ですが今現在、ツクール2000発売から既に十年余りが経過し、
当時最先端だったWindows XPも公式のサポート外となり、64bitのOSも一般に普及してきました。
ハード面ではデュアルコアは最早一般化し、クアッドコア等それ以上のマルチコアの流通量も増えてきました。
これによりのびハザをプレイするにあたっても、環境の変化に合わせた対応が必要になってきています。

とくにRPGツクール2003で製作された作品については、 文字化けなどにより正常なプレイができない という報告もあります。
またRPGツクール2000製の作品であっても、 Xキー押しっぱなしによる向き固定移動が正常に動作しない という問題があります。
これはプレイそのものは可能ですが、操作性を著しく落とす要因に成り得ます。
動作環境によってその程度は様々のようで、数回に一度向き固定が途切れる程度の場合もあれば、
そもそも向き固定移動自体がまともにできないレベルの場合もあるようです。

流石にそのレベルまでいくと、ゲームのシステムとして機能していません。
これは前述したマルチコア、即ち複数のCPU(PCの計算を司る部分で、人間では脳に当たるもの)を持つPCが普及したことが原因です。
マルチコアはその名の通り複数のCPUを持つため、同時に複数の処理を行うのに適しています。
また同一の作業でも複数のCPUで分担することにより一つ一つのCPUにかかる負荷を下げ、
PCそのものの寿命を延ばす働きや熱暴走を防ぐ強みもあります。

このようにマルチコアPCというのは非常に便利なものなのですが、
元々シングルコア(CPUが一つだけのPC)が一般的だった当時に作られたRPGツクール2000は、
マルチコアの仕組みに対応しておらず、CPUが切り替わる際に一時的にキー入力処理が途切れてしまうようです。
これが原因で、CPUの切り替え回数が多ければ多いほどキーの「押しっぱなし」が「連打」と認識されてしまい、
Xキー押しっぱなしによる向き固定移動や、Shiftキー押しっぱなしによる武器構えが安定しない原因となってしまいます。

本来ならこのような不具合は、プラットフォームであるRPGツクール2000側で対応すべき事柄なのですが、
Windows 7以降にも対応させた最新のバージョンでも、この点に対する対応はされていないのが実情です。
ツクール側で対応してくれない以上、プレイヤー側か、製作者側で対応するほかありません。

そこでプレイヤー側で可能な対策として、 タスクマネージャーから使用するCPUを固定する 方法があります。
しかしこの対策は、ゲームを終了するたびにリセットされてしまうため、起動するたびに設定する必要があり非常に面倒です。
またタスクマネージャーの設定を変更する必要があるため、家族等と共用のPCを利用していて管理権限がない場合は、
この方法を使うことすらできません。

このように決して万人に勧められた方法ではないので、やはり製作者側で事前に対応策を取っておくのが無難だと思われます。
しかし現状この問題に対して対策を行っている作品はVX系列の作品ばかりで、200X系列では新訳くらいです。
この不具合に対してシステム的な対策が可能であるということ、それ以前にこのような問題があることすら作者側にあまり周知されていないようです。

ここでは、この「押しっぱなしが連打になってしまう」不具合に対応した、向き固定移動システムの導入方法を解説したいと思います。


連打処理対策の方法


では、対策を施したソースを具体的にRPGツクール上の表記を模して表してみます。
(ここでは、 リマスター版(ver.1.06以降) で導入されたソースを元に解説していきます。)

◆キー入力の処理:[0014:歩行キー]
◆条件分岐:変数[0014:歩行キー]が1以上
 ◆キー入力の処理:[0010:向き固定キー]
 ◆変数の操作:[000X:連打処理対策キー入力]代入, 変数[0010]の値
 ◆条件分岐:変数[0010:向き固定キー]が6
  ◆条件分岐:スイッチ[0006:向き固定移動]がOFF
   ◆キャラクターの動作指定:主人公, 向き固定, スイッチON
   
  :分岐終了
 
 :それ以外の場合
 ◆条件分岐:変数[0010:向き固定キー]が0
  ◆条件分岐:スイッチ[0006:向き固定移動]がON
   ◆ウエイト:0.0秒
   ◆キー入力の処理:[0010:向き固定キー]
   ◆条件分岐:変数[0010:向き固定キー]がV[000X]と同値
    ◆キャラクターの動作指定:主人公, 向き固定解除, スイッチOFF
    
   :分岐終了
   
  :分岐終了
  
 :分岐終了
 
:分岐終了
◆条件分岐:変数[0010:向き固定キー]が0
 ◆条件分岐:スイッチ[0006:向き固定移動]がON
  ◆ウエイト:0.5秒
  ◆キー入力の処理:[0010:向き固定キー]
  ◆条件分岐:変数[0010:向き固定キー]がV[000X]と同値
   ◆キャラクターの動作指定:主人公, 向き固定解除, スイッチOFF
   
  :分岐終了
  
 :分岐終了
 
:分岐終了

以上が連打対策を施したコモンイベントの内容です。

色が変化している部分が、本家のコモンから改変されている部分なのですが、
まず、赤い部分を見てください。

[000X:連打処理対策キー入力]という新しい変数が追加されています。
この変数は名前の通り、連打処理対策の為の変数なのですが、変数のIDと名称は自由に設定して構いません。
000XというIDはあくまで仮のものなので、実際に利用可能なIDを設定してください。

さて、この変数を利用することで連打処理の対策を行えるわけですが、
この変数を追加しただけでは何の効力もありません。
実際に利用する方法についても見ていきましょう。

赤い部分では、この変数に[0010:向き固定キー]の値が代入されていますね。
この変数処理を覚えておいてください。

次に、青い部分を見てください。
0.0秒のウエイトが追加されていますね。
0秒のウエイト?意味がないじゃないか!と思われる方も居いるでしょう。
しかし、このウエイトにはれっきとした意味があります。
実はツクール上では、この0.0秒とは1/16秒として処理されており、
最も短いウエイトを使いたい場合、これを利用します。

そしてその次に二回目の[0010:向き固定キー]へのキー入力処理と、
そして[0010:向き固定キー]が[000X:連打処理対策キー入力]と同値かどうかの条件分岐があります。

さて、やっと上で設定した[000X:連打処理対策キー入力]が役立つときが来ました。
なぜここで、既に設定したはずの[0010:向き固定キー]へ二度目のキー入力をしたかというと、
先にキー入力を確認してから1/16秒後に、キー入力が変化しているかどうか確認するためです。

[000X:連打処理対策キー入力]には、1/16秒前の[0010:向き固定キー]の値が記録されているため、
これと現在の[0010:向き固定キー]の値を比べることで、極短期間の間のキー入力の変化を確認できます。

通常の人間の操作では、1/16秒という速さで連打することは困難ですから、
秒速16回の連射で スイカを割るような強者 もいましたが
この速度で値が変化していた場合、機械的な操作の可能性が高いですね。
この条件を満たした場合、プレイヤーが意図しない操作だと認定し、
キー入力の処理を無視するように設定してあります。

緑の部分の内容も、青い部分とほぼ同様です。
唯一異なるのは、ウエイトが0.5秒に変更されていることです。
0.5秒?なんでそんなにウエイトを長くするんだ?と思われる方も居いるでしょう。
これにもやはり意味があります。

青い部分が配置されているコモンの列の上にある、条件を見てください。
「変数[0010:向き固定キー]が0」となっていますね。
これはつまり、向き固定キーが押されていない、ニュートラルな状態で機能する部分ということです。

さて、ここで気づいた人も居るかもしれません。
そうです、この部分はゲームをプレイしている間、ほぼ常に並列処理されることになります。
そのような部分で0.0秒しかないウエイトで並列処理した場合、
ゲームに負荷がかかって動作が重くなったり、PCがフリーズする原因となってしまいます。
ここではそういった無用な負荷を避ける為、あえてウエイト時間を先ほどより少し長くしているのです。
このテクニックは、様々は並列処理コモンに応用できるので、覚えておくと良いでしょう。

連打対策用コモンの解説は以上です。
長々と解説しましたが、内容自体は至極単純なものなので、
慣れてしまえば簡単に使いこなせるようになると思います。
押しっぱなし処理の不具合という問題が広く認知され、
この記事がその対策に少しでも役立てたなら幸いです。


新武器作成方法


新武器作成の例を試しに書いておきます

例・敵を攻撃すると体力が回復する武器
           データベースの与えるダメージ

◆条件分岐:のび太がパーティーにいる
 ◆スイッチの操作:[0011:クリティカルショット]をOFFにする
 ◆変数の操作:[0008:攻撃力]代入,のび太の攻撃力
 ◆変数の操作:[0009:ダメージランダム]代入,乱数[0~10]
   ◆条件分岐:のび太が××を装備している
     ◆HPの増減:のび太の体力をV[0008]回復させる
    ◆
  :それ以外の場合
   ◆変数の操作:[0019:クリティカルP]加算,1
   ◆
  :分岐終了


データベースのアイテムで新武器の追加。
(攻撃力や装備可能の有無など基本的な設定)
データベースのコモンイベントの「アクション」にて、新武器のアクションを追加。
(武器の構え、構えからの解除)
データベースのコモンイベントの「攻撃」にて、新武器の攻撃方法を追加。
(弾丸装填数、発砲アクション、撃つ弾丸の種類の選択など)
データベースのコモンイベントの「与えるダメージ」にて、新武器の特殊な効果などを追加。
(常時クリティカル、与えたダメージ分HP回復、実際の攻撃力以上のダメージにするなど)
マップイベントのイベントナンバー1「こうげき」と2「こうげき2」が実際の弾丸になるので、
それぞれの弾丸のアクションを追加、設定する。
(弾丸の速度、弾丸の種類、弾丸の軌道、ほか特殊効果など)

簡単ではありますが、以上の項目を必要に応じて追加、変更すれば新武器の完成です。
よく分からないときは、それぞれのイベントの中身をよく見てみよう。



最終更新:2016年06月02日 08:32