YADO作品リスト・コモンイベント素材 可変DB[0-4]自動更新コモン (更新:2024/07/07)
|
||||||||||||||||
【ダウンロードページを開く】 |
||||||||||||||||
▼制作した経緯 可変DBはセーブデータに保存される仕様であるため、 古いセーブデータは最新版の可変DBにはならない問題がありました。 一応ゲームを最初からやり直せば最新版の可変DBにはなりましたが、 RPGのようなプレイ時間が長い作品を何度も最初からやり直すのは難しいと言えます。 またゲームの開始位置をゲームの途中に変えてゲームを始める方法を使った場合は、 セルフ変数や通常変数などが「0」から始まるため、正常にイベントが処理されない事がありました。 古いセーブデータの可変DBを修正する方法もありますが、単純に初期状態の可変DBを読み込んだ場合は、 レベルや装備状態が初期状態に戻るため、セーブデータに保存されていたレベルや装備に戻す作業が必要であり、 また可変DBを更新する度に、最新版のファイルを出力して古いセーブデータを更新する必要があるため、 かなり手間がかかりました。 古いセーブデータによる可変DBのバグは、度々質問掲示板に見かける事があり、 質問掲示板では「よくあるバグの原因」と言える存在でした。 2024年5月にも古いセーブデータによる可変DBのバグの質問が書かれたため、 この「可変DB[0-4]自動更新コモン」を制作する事にしました。 ▼徐々に巨大化したイベント処理 制作当初は… 「ファイル出力 → ロード時にファイル読込 → セーブデータのレベルに戻す」 と言った単純な処理を考えていました。 しかし制作していく内に「主人公の名前が変わる可能性がある」などの問題が発生したため、 オプション設定で更新するかどうかを決められるようにしました。 コモンイベント[007:○能力値増減]でパラメータを任意増減した場合は、 制作当初の予定では「任意増減には対応できない」とする予定でした。 しかし未使用だったセルフ変数[8]を使えば、主人公の初期パラメータを保存する事ができたため、 パラメータの任意増減にも対応できるように改造しました。 パラメータの任意増減は、かなりの処理落ちが発生したため、 パラメータの任意増減を使う場合と使わない場合で、ループ処理を分けました。 当コモンには、コモン素材「パラメータを増やすコモン」と連動させる処理を追加しました。 このパラメータを増やすコモンは、2024年5月に公開したYADO作品のコモン素材でして、 パラメータを最大4個まで増やす事ができるコモン素材です。 パラメータを増やすコモンは元々拡張しやすいように設計されていたので、 比較的簡単に追加設定する事ができました。 しかし初期パラメータを保存するセルフ変数[8]の処理と併用する事で、かなりの処理落ちが発生したので、 パラメータを増やすコモンを連動させた時とさせない時でループ処理を分け、 結局可変DB[0]の更新処理は、4つのループ処理から1つが実行される仕様になりました。 色々と機能を付けた結果、古いセーブデータの更新前と更新後は、ほぼ同じ状態で更新されるようになりましたが、 それでも100%の更新は難しいと言えます。 例えば可変DB[0:主人公ステータス]の項目[18:[成長]最大HP増加 /1Lv]などの レベルアップ時の増加量の設定が固定値ではない場合は、パラメータの任意増減には対応できなくなります。 他にも可変DB[0:主人公ステータス]の項目[59]以降にオリジナルの項目を追加している場合、 当コモンのオプション設定では、追加した項目全体を「更新する/更新しない」しか選択する事ができず、 追加した項目を個別に更新するかどうかを設定する事ができません。 あと指定した主人公のみを更新するような設定もできません。 指定した主人公のみを更新する処理などは、一応実装する事はできましたが、 主人公ごとに更新するかどうかをコモン利用者が設定するのに手間がかかる上、 設定ミスや特定の主人公を指定している事を忘れて、 「更新されない主人公がいる」みたいなバグ報告が来てしまう可能性がありました。 「機能面」と「簡単さ」の両方のバランスを考えると、現状の仕様が「限界である」と言えるかもしれません。 |
||||||||||||||||
【YADO作品リストのトップへ戻る】 |