RPGツクールの戦闘画面がフリーズするようになった理由

自作RPG作成をまったりと楽しんでいたところ、困ったことが起こりました。

久しぶりにはじめからテストしてみようと思い、セーブデータを使わずにRPGツクールで作成中のゲームをはじめからスタートさせたところ、戦闘画面でフリーズしました。

たまたまフリーズしたのかと思い、何度か繰り返しテストしましたが確実に戦闘画面でフリーズしてしまうようになりました。

スライム1匹も倒せない自作RPG

このままではRPGゲームなのにスライム1匹すら倒すことができません。と言うか敵に遭遇したら最後、フリーズしてしまうのですから自作する気が失せてしまいそうになりました。

何度もマウスでクリックしたりしてみましたが、全然動く気配がありません。

このままではどうしようもないので、原因がどこにあるのかの感触をつかむためにJAVAスクリプトのデバッグを行う事にしました。

戦闘画面あたりのソースにブレイクポイントを設定しデバッグしたところ、スキルリストの取得に失敗しているようです。その上スキルリストが無い事が原因で無限ループに陥ってしまっているように見えます。

RPGツクールでスキルといえば、必殺技や魔法を設定するところです。私も魔法の設定などは行いましたが、レベル1では魔法も使えないようにしているので、変にいじっていないはずなんですが・・・

などと思いつつもスキル設定を開いてみると、ちゃんと攻撃スキルは存在しています。攻撃スキルはあるのですから、戦闘時に何もスキルが取得できないという状況が理解できません。

半分諦めかけた時、「使用可能時」という項目が「メニュー画面」になっている事に気付きました。攻撃はバトル画面で使用するスキルなので、バトル画面にしておかないと役に立ちません。

コレですね。

攻撃スキルの「使用可能時」という項目を無意識のうちに変更してしまっていたみたいです。

動き出した戦闘画面

攻撃スキルの「使用可能時」の項目をバトル画面に変更したところ、戦闘画面でフリーズしなくなりました。

これでやっとスライムが倒せます。

はじめからテストしなければ、この問題に気づけなかったでしょう。

レベル2からは主人公が魔法スキルを獲得するため、それなりに動作しているように見えてしまいます。

自作のRPGゲームを公開する日が来るのかどうか分かりませんが、スライムすら倒せないクソゲーだと言われるところでした(笑)

やっぱりテストは重要ですね。