セーブ方式の変更 Unityで1日1ステップ!ノンフィールドRPG開発日記

1日1歩開発日記

セーブ方式の変更

「不屈の剣と願いのダンジョン」のリリース以降、多くのプレイヤーの方から貴重なフィードバックをいただいています。その中でも特に多かったのが、「セーブデータが突然消えてしまう」「ゲームが急に重くなる」といった報告でした。

調査の結果、これらの不具合はセーブの仕組みに起因していることが判明しました。そこで今回の開発日記では、その原因と、今後導入した新しいセーブ方式について詳しくご紹介します。

一括セーブの問題点

これまでのセーブ方式は「一括セーブ」と呼ばれるもので、以下のようなタイミングでゲーム内のデータをすべてまとめて保存していました。

  • 5分ごとの自動セーブ
  • アプリ終了時のセーブ

この方法では、一度に数百項目以上のデータを一括で保存することになり、保存処理の際にゲームの動作が一時的に重くなるという問題が発生していました。

さらに、Androidではタスクキル(アプリを強制終了)されると、アプリ終了時のセーブ処理が途中で中断されることがあります。これによりセーブデータが正常に保存されず、データ破損や消失といった深刻な不具合につながってしまいました。

小さな差分セーブ方式へ

このような問題を解決するため、セーブ方式を**「小さな差分セーブ方式」**に変更しました。

これは、必要なタイミングで変更のあったデータだけを個別に保存する方法です。たとえば…

  • ゴールドを使用して「ゴールド攻撃力強化」のレベルを上げた場合
    • ゴールドの所持量が変化 → ゴールド値をセーブ
    • 強化のレベルが変化 → 強化レベルをセーブ

このように、変更があった項目のみをピンポイントでセーブするため、セーブ処理が非常に軽く、プレイ中に動作が重くなることもなくなります。

また、強化によって変化したステータスそのものを保存するのではなく、「強化レベル」のみをセーブしています。ステータスの数値は、ロード時に強化レベルをもとに自動で計算する仕組みにすることで、セーブするデータ量もさらに削減できました。

効果と今後について

このような差分セーブ方式に変更することで、

  • セーブ処理による動作の重さを回避
  • タスクキルされてもデータ破損のリスクが大幅に低減
  • セーブの信頼性と安定性が向上

といった効果が得られました。

プレイヤーの皆様に安心して長く遊んでいただけるよう、こうした地道な改善も大切だと改めて感じています。

まとめ

今回は、ゲームの根幹とも言えるセーブ方式を見直し、改良した内容についてお伝えしました。

初めてのゲーム制作で、試行錯誤の連続ではありますが、今回のような経験を通して、より快適なプレイ体験を提供できる仕組みを少しずつ積み重ねていきたいと思います。

今後も、ゲームをより良くしていくために細かな点にも目を向け、改良を重ねていきますので、引き続き「不屈の剣と願いのダンジョン」とCeWiGamesをよろしくお願いします!

タイトルとURLをコピーしました